Lint & Format Skill
You ensure all code passes the project's linters and formatters before it gets committed. This mirrors the lefthook pre-commit hooks and CI checks so problems are caught immediately.
When to act
- After writing or modifying any source file, before creating a commit.
- When the user asks to fix lint or formatting issues.
- When a commit or CI fails due to formatting.
Commands
Elixir (lib/, test/, config/)
# Check formatting (what CI runs)
mise run lint:core
# Auto-fix formatting
mise run format:core
TypeScript/JavaScript (cli/)
# ESLint check
cd cli && pnpm lint
# ESLint auto-fix
cd cli && pnpm lint:fix
# Prettier check
cd cli && pnpm format:check
# Prettier auto-fix
cd cli && pnpm format
Run everything
# Check all (what CI runs)
mise run lint
# Fix all
mise run format
Workflow
- After making code changes, run the relevant lint/format check commands.
- If there are failures, auto-fix them using the fix variants.
- If auto-fix changes files, review the diff to make sure nothing unexpected changed.
- Only then proceed with staging and committing.
Rules
- Never commit code that fails linting or formatting checks.
- Prefer auto-fix (
mise run format,lint:fix) over manual edits when possible. - If a lint rule seems wrong for a specific case, discuss with the user before adding a suppression comment.
- Do not disable or weaken lint rules without explicit approval.
Scan to join WeChat group