- /configure:linting
- Check and configure linting tools against modern best practices.
- When to Use This Skill
- Use this skill when...
- Use another approach when...
- Setting up modern linting (Biome, Ruff, Clippy)
- Just running linter (use
- /lint:check
- skill)
- Migrating from ESLint/Prettier to Biome
- Linters already properly configured
- Validating linter configuration
- Fixing specific lint errors (run linter and fix)
- Ensuring language-specific best practices
- Simple script with no linting needs
- Configuring pre-commit lint integration
- Debugging linter issues (check linter logs)
- Context
- Project root: !
- pwd
- Biome config: !
- find . -maxdepth 1 -name 'biome.json' -o -name 'biome.jsonc'
- Ruff config: !
- grep -l 'tool.ruff' pyproject.toml
- Clippy config: !
- grep -l 'lints.clippy' Cargo.toml
- Legacy linters: !
- find . -maxdepth 1 ( -name '.eslintrc*' -o -name '.flake8' -o -name '.pylintrc' )
- Package files: !
- find . -maxdepth 1 ( -name 'package.json' -o -name 'pyproject.toml' -o -name 'Cargo.toml' )
- Pre-commit config: !
- find . -maxdepth 1 -name '.pre-commit-config.yaml'
- CI workflows: !
- find .github/workflows -maxdepth 1 -name '*.yml'
- Parameters
- Parse from
- $ARGUMENTS
- :
- --check-only
-
- Report linting compliance status without modifications
- --fix
-
- Apply all fixes automatically without prompting
- --linter
-
- Override auto-detection and force specific linter
- Modern linting preferences:
- JavaScript/TypeScript
-
- Biome (unified linter + formatter, fast)
- Python
-
- Ruff (replaces flake8, isort, pyupgrade)
- Rust
-
- Clippy with workspace lints
- Execution
- Execute this linting configuration check:
- Step 1: Detect project language and existing linters
- Read the context values above and determine:
- Indicator
- Language
- Detected Linter
- biome.json
- JavaScript/TypeScript
- Biome
- pyproject.toml
- [tool.ruff]
- Python
- Ruff
- .flake8
- Python
- Flake8 (legacy)
- Cargo.toml
- [lints.clippy]
- Rust
- Clippy
- If
- --linter
- flag is set, use that linter regardless of detection.
- Step 2: Verify latest tool versions
- Use WebSearch or WebFetch to check current versions:
- Biome
-
- Check
- biomejs.dev
- or
- GitHub releases
- Ruff
-
- Check
- docs.astral.sh/ruff
- or
- GitHub releases
- Clippy
- Check
Rust releases
Step 3: Analyze current linter configuration
For each detected linter, check configuration completeness:
Biome (for JS/TS):
Config file exists with linter rules
Formatter configured
File patterns and ignores set
Recommended rules enabled
Ruff (for Python):
pyproject.toml
has
[tool.ruff]
section
Rules selected (E, F, I, N, etc.)
Line length and target Python version set
Clippy:
Cargo.toml
has
[lints.clippy]
section
Pedantic lints enabled
Workspace-level lints if applicable
Step 4: Generate compliance report
Print a compliance report covering:
Config file status (exists / missing)
Linter enabled status
Rules configuration (recommended / minimal / missing)
Formatter integration
Ignore patterns
Lint scripts in package.json / Makefile
Pre-commit hook integration
CI/CD check integration
End with overall issue count and recommendations.
If
--check-only
is set, stop here.
Step 5: Configure linting (if --fix or user confirms)
Apply configuration using templates from
REFERENCE.md
.
For Biome (JS/TS):
Install Biome as dev dependency
Create
biome.json
with recommended rules
Add npm scripts (
lint
,
lint:fix
,
format
,
check
)
For Ruff (Python):
Install Ruff via
uv add --group dev ruff
Add
[tool.ruff]
section to
pyproject.toml
Configure rules, line length, target version
For Clippy (Rust):
Add
[lints.clippy]
section to
Cargo.toml
Enable pedantic lints
Configure workspace-level lints if applicable
If legacy linters are detected (ESLint, Flake8, etc.), offer migration. See migration guides in
REFERENCE.md
.
Step 6: Configure pre-commit and CI integration
Add linter pre-commit hook to
.pre-commit-config.yaml
Add linter CI check to GitHub Actions workflow
Use templates from
REFERENCE.md
Step 7: Update standards tracking
Update
.project-standards.yaml
:
components
:
linting
:
"2025.1"
linting_tool
:
"[biome|ruff|clippy]"
linting_pre_commit
:
true
linting_ci
:
true
Step 8: Print final compliance report
Print a summary of all changes applied, scripts added, integrations configured, and next steps for the user.
For detailed configuration templates, migration guides, and CI integration patterns, see
REFERENCE.md
.
Agentic Optimizations
Context
Command
Detect linter config
find . -maxdepth 1 ( -name 'biome.json' -o -name 'ruff.toml' -o -name '.eslintrc*' ) 2>/dev/null
Check Biome config
test -f biome.json && jq -c '.linter' biome.json 2>/dev/null
Check Ruff in pyproject
grep -A5 '[tool.ruff]' pyproject.toml 2>/dev/null
List lint scripts
jq -r '.scripts | to_entries[] | select(.key | contains("lint")) | "\(.key): \(.value)"' package.json 2>/dev/null
Quick compliance check
/configure:linting --check-only
Auto-fix configuration
/configure:linting --fix
Flags
Flag
Description
--check-only
Report status without offering fixes
--fix
Apply all fixes automatically without prompting
--linter
Override linter detection (biome, ruff, clippy) Examples
Check compliance and offer fixes
/configure:linting
Check only, no modifications
/configure:linting --check-only
Auto-fix and migrate to Biome
- /configure:linting
- --fix
- --linter
- biome
- Error Handling
- Multiple linters detected
-
- Warn about conflict, suggest migration
- No package manager found
-
- Cannot install linter, error
- Invalid configuration
-
- Report parse error, offer to replace with template
- Missing dependencies
- Offer to install required packages See Also /configure:formatting - Configure code formatting /configure:pre-commit - Pre-commit hook configuration /configure:all - Run all compliance checks Biome documentation : https://biomejs.dev Ruff documentation : https://docs.astral.sh/ruff Clippy documentation : https://doc.rust-lang.org/clippy