Skip to content

Commit 0043b4d

Browse files
snopokeclaude
andcommitted
chore: adopt conventional commits and grouped release notes
Release notes are generated from PR titles; without categories they land as one flat list. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent a1ed6e3 commit 0043b4d

2 files changed

Lines changed: 41 additions & 0 deletions

File tree

.github/release.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
changelog:
2+
exclude:
3+
labels:
4+
- duplicate
5+
- invalid
6+
- wontfix
7+
categories:
8+
- title: ⚠️ Breaking Changes
9+
labels:
10+
- breaking
11+
- title: 🚀 Features
12+
labels:
13+
- feat
14+
- enhancement
15+
- title: 🐛 Bug Fixes
16+
labels:
17+
- fix
18+
- bug
19+
- title: 📚 Documentation
20+
labels:
21+
- docs
22+
- documentation
23+
- title: 🧹 Maintenance
24+
labels:
25+
- chore
26+
- refactor
27+
- perf
28+
- test
29+
- ci
30+
- title: Other Changes
31+
labels:
32+
- "*"

CLAUDE.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,15 @@ The `update-api` invoke task curls `localhost:8000/api/schema.json` by default
4646
- Extras (`celery`, `procrastinate`, `cli`, `sentry`) are all optional; keep their imports inside the corresponding module (`taskbadger/celery.py`, `taskbadger/procrastinate.py`, `taskbadger/systems/`, `taskbadger/cli/`, `taskbadger/context_providers/sentry.py`).
4747
- `taskbadger/internal/*` is generator output — lint is best-effort, don't reformat manually.
4848

49+
## Commits and PRs
50+
51+
Conventional Commits for commit subjects and PR titles: `type(scope): summary`.
52+
53+
- Types: `feat` `fix` `docs` `chore` `refactor` `perf` `test` `ci`. Breaking: `feat!:` / `fix!:` plus a `BREAKING CHANGE:` footer.
54+
- Scopes (optional): `celery`, `procrastinate`, `cli`, `sdk`, `sentry`, `internal`.
55+
- **Label every PR with its type** (`feat`, `fix`, …). Release notes are auto-generated from PR titles and grouped by label via `.github/release.yml`; an unlabelled PR falls into "Other Changes".
56+
- PRs merge as merge commits, so only PR titles reach the changelog — commit subjects are history hygiene.
57+
4958
## Releasing
5059

5160
```bash

0 commit comments

Comments
 (0)