Chore Commit for Maintenance Tasks
When and how to use the chore type in Conventional Commits. Covers dependency updates, configuration changes, and other maintenance tasks.
Detailed Explanation
The chore Type
The chore type covers maintenance tasks that do not modify source code or test files. It is the catch-all for changes that keep the project running but are not features, fixes, or documentation.
Common chore Commits
chore: update dependencies to latest versions
chore(deps): bump lodash from 4.17.20 to 4.17.21
chore(ci): add Node.js 20 to test matrix
chore(release): prepare v2.1.0 release
chore: regenerate lock file
What Belongs in chore
| Task | Type |
|---|---|
| Dependency updates | chore or chore(deps) |
| CI/CD configuration | chore(ci) or ci |
| Build script changes | chore or build |
| License file updates | chore |
| Editor config changes | chore |
| Release preparation | chore(release) |
| Gitignore updates | chore |
chore vs build vs ci
These types overlap. The Angular convention offers more specific types:
build: Changes to the build system (webpack, rollup, npm scripts).ci: Changes to CI configuration (GitHub Actions, Jenkins, CircleCI).chore: Everything else (deps, license, editor config).
If your project uses all three types, be consistent. If you prefer simplicity, chore can cover all maintenance tasks.
Version Impact
chore commits do not trigger a version bump. They are excluded from changelogs in most configurations. This is intentional — maintenance tasks are important for contributors but not relevant to consumers.
Dependency Update Conventions
For dependency updates, many projects use a scoped format:
chore(deps): bump express from 4.18.0 to 4.19.0
chore(deps-dev): bump jest from 29.0.0 to 29.1.0
The deps vs deps-dev scope distinguishes between production and development dependencies. Automated tools like Dependabot and Renovate generate commits in this format.
Use Case
Use chore commits for any maintenance work that does not affect the application's behavior: updating dependencies, modifying CI pipelines, changing editor configurations, updating license files, or preparing releases. This keeps the commit history organized and allows automated tools to filter out maintenance noise.