name: lint-and-fix description: Run linters and fix violations, formatting errors, or style mismatches using Trunk. Use when code quality checks fail, before submitting PRs, or to repair "broken" linting states.
Lint and Fix Loop: Trunk
Purpose
An autonomous loop for the agent to identify, fix, and verify linting and formatting violations using Trunk.
Loop Logic
- Identify: Run
pnpm lint(which executestrunk check -yandeslint .) to list current violations. For a comprehensive check across the entire project, usepnpm lint:all(executestrunk check --allandeslint .). You can also runpnpm lint:eslintfor focused ESLint checks. - Analyze: Examine the output from Trunk or ESLint, focusing on the file path, line number, and error message. Refer to ../common-references/troubleshooting.md for environment or runtime issues.
- Fix:
- For formatting issues, run
pnpm format(which executestrunk fmt). To format all files in the project, usepnpm format:all. - For linting violations, apply the minimum necessary change to the source code to resolve the error. You can use
pnpm format:eslintto automatically fix many ESLint violations. - For security-specific checks, you can run
pnpm run lint:security.
- For formatting issues, run
- Verify: Re-run
pnpm lint(orpnpm lint:allorpnpm lint:eslintdepending on what you used initially).- If passed: Move to the next issue or finish if all are resolved.
- If failed: Analyze the new failure and repeat the loop.
Termination Criteria
- No more errors reported by
pnpm lint,pnpm lint:all, orpnpm lint:eslint. - Reached max iteration limit (default: 5).
Examples
Scenario: Fixing a formatting violation
pnpm lintreports formatting issues insrc/index.ts.- Agent runs
pnpm format. pnpm lintnow passes.
Scenario: Performing a full project cleanup
- Agent runs
pnpm lint:allto check every file. - Several formatting issues are found.
- Agent runs
pnpm format:allto fix them all at once. pnpm lint:allnow passes.
Scenario: Fixing ESLint violations
pnpm lint:eslintreports several linting errors.- Agent runs
pnpm format:eslint. pnpm lint:eslintnow passes or shows fewer errors that require manual fixing.
Resources
- Project Scripts: Definitions for all lint and format scripts.
- Trunk CLI Reference: Common commands for linting and formatting.
- Trunk Documentation: Official documentation for the Trunk CLI.