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.