| name | lint |
|---|---|
| effort | low |
| description | Run linting and formatting checks. Use when user asks to "run linter", "/lint", "check linting", "fix lint errors", or requests code linting/formatting. Don't use for running tests or type-checking only. |
Run the project's linter/formatter — detect it, don't assume a toolchain.
Prefer a task the project already defines, then fall back to the ecosystem tool:
| Ecosystem | Check | Fix |
|---|---|---|
| Node | package.json lint (eslint/biome) |
lint:fix |
| Python | ruff check / flake8 |
ruff check --fix |
| Go | golangci-lint run / gofmt -l |
gofmt -w |
| Rust | cargo clippy / cargo fmt --check |
cargo fmt |
| else | Makefile / CI lint target |
— |
- Detect the linter (project task first, then ecosystem default)
- Run the check command
- For fixes: run the fix variant (only when requested)
- Report
file:linereferences for all errors
- Prefer the project's defined task over a raw tool call
- Never invent a linter the project doesn't use
- If no linter or task found → report which config/task is expected and stop
- If the linter exits with parse errors → report each file-level parse error separately with
file:line - If the linter config is missing → report which config is expected and stop