Skip to content

Commit 87e7a8d

Browse files
committed
docs: document GitHub release process in CLAUDE.md
Add a "GitHub Release" section after "Version Bumping" with the gh release create command template, a release-body checklist (changelog verbatim + impact note + migration note + full changelog link), and naming conventions.
1 parent 6feb42d commit 87e7a8d

1 file changed

Lines changed: 49 additions & 0 deletions

File tree

CLAUDE.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,3 +172,52 @@ When committing a set of changes, bump the version using semver:
172172
Two files must always be updated together:
173173
- `pyproject.toml``version = "x.y.z"`
174174
- `subdomainenum/__init__.py` → fallback `__version__ = "x.y.z"` (the `except` branch)
175+
176+
## GitHub Release
177+
178+
Every version bump **must** be followed by a GitHub release. Do not leave a version tag without a release.
179+
180+
**After bumping the version, committing, and pushing:**
181+
182+
```bash
183+
# Tag the version commit and push
184+
git tag vX.Y.Z
185+
git push origin vX.Y.Z
186+
187+
# Create the GitHub release
188+
gh release create vX.Y.Z \
189+
--title "vX.Y.Z" \
190+
--notes "$(cat <<'EOF'
191+
## What's changed
192+
193+
<Copy the ### Added / ### Changed / ### Fixed / ### Removed blocks verbatim
194+
from the [X.Y.Z] section in CHANGELOG.md>
195+
196+
## Impact
197+
198+
<1–3 sentences: what this means for users — what improves, what breaks,
199+
whether the upgrade is urgent (e.g. new enumeration source, tool wrapper
200+
fix, DNS resolution change, Docker image update, etc.)>
201+
202+
## Migration
203+
204+
<Only for minor/major bumps: list any CLI flags, `assess()` parameters,
205+
`ACTIVE_TOOLS` registry changes, or Docker environment variable renames
206+
that require user action. Omit for patch releases.>
207+
208+
---
209+
210+
**Full changelog:** https://github.com/NC3-TestingPlatform/subdomainenum/blob/master/CHANGELOG.md
211+
EOF
212+
)"
213+
```
214+
215+
**Release body checklist:**
216+
- [ ] Changelog entries for this version copied verbatim
217+
- [ ] Impact note written (even one sentence is enough)
218+
- [ ] Migration note present if CLI flags, `assess()` signature, or Docker env vars changed
219+
- [ ] Full changelog link at the bottom
220+
221+
**Conventions:**
222+
- Tag and title: `vX.Y.Z` — semver, `v`-prefixed, must match `pyproject.toml` version
223+
- Do not mark as draft or pre-release for normal semver releases

0 commit comments

Comments
 (0)