A minimal documentation site that demonstrates how to set up automatic versioning and changelog generation using conventional commits.
- Nuxt 4 — framework
- @nuxt/content v3 — markdown rendering
- release-it — version bumping and changelog generation
- commitlint — enforce conventional commit format
- husky — git hooks
- lint-staged — run linters on staged files only
- Every commit follows the Conventional Commits spec, enforced by
commitlintvia a Huskycommit-msghook. - Before each commit,
lint-stagedruns ESLint and Prettier on changed files. - When ready to release,
release-itreads the commit history, bumps the version inpackage.json, generatesCHANGELOG.md, and creates a git tag — all automatically.
pnpm install
pnpm dev# Preview what would happen
pnpm release:dry
# Bump patch / minor / major explicitly
pnpm release:patch
pnpm release:minor
pnpm release:major
# Auto-detect from commits
pnpm release<type>: <description>
| Type | When to use |
|---|---|
feat |
New feature → minor bump |
fix |
Bug fix → patch bump |
docs |
Documentation only |
style |
Formatting, no logic change |
refactor |
Code restructure |
perf |
Performance improvement |
test |
Tests |
build |
Build system |
ci |
CI/CD config |
chore |
Maintenance |
revert |
Revert a commit |
Breaking changes trigger a major bump:
git commit -m "feat!: redesign API
BREAKING CHANGE: previous endpoints removed"MIT