name: lint-fix description: Iteratively run linters, apply auto-fixes, and resolve remaining issues using Trunk.
Lint & Fix with Trunk
Purpose
This skill provides an autonomous loop for identifying, fixing, and verifying linting and formatting issues using trunk. Use this when you need to ensure the codebase adheres to project standards or when fixing specific lint errors.
Loop Logic
- Auto-Format: Run
trunk fmt(ortrunk fmt -a) to apply automatic formatting fixes. - Discovery: Run
trunk check -y(ortrunk check -a -yfor all files) to list current linting issues. - Analyze: For any remaining issues from Step 2:
- Examine the error message and the failing code.
- Identify the specific rule being violated (e.g., Ruff
E501, ShellcheckSC2086).
- Fix: Apply the minimum necessary change to resolve the manual fix required.
- Verify: Re-run
trunk check -yon the affected file(s).- If passed: Move to next issue.
- If failed: Analyze the new failure and repeat the loop.
Termination Criteria
- No more errors reported by
trunk check -y. - Reached max iteration limit (default: 5).
Common Commands
| Task | Command |
|---|---|
| Check changed files | trunk check -y |
| Check all files | trunk check -a -y |
| Format changed files | trunk fmt |
| Format all files | trunk fmt -a |
| Check specific file | trunk check -y <path> |
| Format specific file | trunk fmt <path> |
Examples
Scenario: Fixing Python Lint Errors
trunk check -yreportsruff: D103(missing docstring) inscripts/utils.py(after auto-fixing unused imports).- Agent adds the missing docstring in
scripts/utils.py. trunk check -y scripts/utils.pypasses.