commit typeA commit for maintenance tasks that do not modify production source code or tests: dependency updates, tooling configuration, build scripts, and housekeeping.
chore(scope): short imperative description of the maintenance task
- what was updated, added, or removed (bullet 1)
- any notable version or config change (bullet 2)
Why the maintenance task was necessary: security patch, deprecation,
tooling alignment, or routine housekeeping. Max 72 chars/line.chore(deps): upgrade express from 4.18.2 to 4.19.2
- bump express and @types/express to 4.19.2
- update jest mock to match new res.json() return type in 4.19
- verify no breaking changes apply to our usage per the changelog
4.18.x reached end of security updates; 4.19.2 patches CVE-2024-29041
path traversal in static file serving.chore(ci): add caching for pnpm store in GitHub Actions
- add actions/cache step keyed on pnpm-lock.yaml hash
- restore cache before pnpm install and save after on cache miss
- add separate cache for Playwright browser binaries
CI install time was 3m 20s per run without caching; with cache hits the
install step completes in under 10 seconds for unchanged lockfiles.chore(tooling): migrate from eslint 8 to eslint 9 flat config
- replace .eslintrc.json with eslint.config.mjs using flat config format
- update eslint-plugin-import and @typescript-eslint to versions supporting flat config
- remove eslint-config-airbnb-base in favour of direct rule configuration
ESLint 8 is end-of-life; the flat config migration is required before
upgrading to eslint 9 which drops legacy config support entirely.chore(gitignore): add common build and tool output paths
- add .turbo/, .next/, dist/, and out/ directories
- add .env.local and .env.*.local credential files
- add OS-specific files (.DS_Store, Thumbs.db)
Several build outputs were being staged accidentally by contributors
unfamiliar with the project's toolchain.Use chore for maintenance work that does not change what the software does: dependency upgrades, tooling updates, CI configuration, lockfile updates, .gitignore changes, and project scaffolding.
git-agent automatically analyzes your changes and infers the correct commit type.
brew install gitagenthq/tap/git-agentShould dependency updates that enable a new feature use chore or feat?Does chore appear in public changelogs?Is there a difference between chore and build commit types?