ci(hooks): Adopt the shared branch-name standard - #182
Merged
Merged
Conversation
Every repo now uses one branch-name rule: feature/{issue}-{slug},
fix/{issue}-{slug} and hotfix/{issue}-{slug} name their issue, and
chore/{slug} is for work without one. squad/ and sprint/ are retired
along with the squad setup, and fix/ is new. The eight repos with hooks
had five different rules between them.
The pre-push hook enforces the standard, its tests cover each accepted
prefix and each retired or malformed name, and CLAUDE.md lists it.
Refs #144
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The hook still permits numeric slug segments despite requiring lowercase words.
Review effort: Balanced
Findings: 1
Open (1)
What changed in this PR
Updates repository branch naming to the shared standard.
Changes:
- Adds
fix/support and retiressquad/andsprint/. - Updates hook tests and contributor documentation.
| File | Description |
|---|---|
CLAUDE.md |
Documents the new branch standard. |
.github/hooks/pre-push |
Enforces accepted branch prefixes. |
.github/hooks/tests/pre-push.test.sh |
Tests accepted and rejected branch names. |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Contributor
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #182 +/- ##
=======================================
Coverage 85.40% 85.40%
=======================================
Files 77 77
Lines 1596 1596
Branches 150 150
=======================================
Hits 1363 1363
Misses 189 189
Partials 44 44 |
chore/7-cleanup passed as a chore/ branch while looking like an issue-linked one. A chore/ slug now starts with a letter. Digits stay allowed in slugs (chore/upgrade-net10, feature/8-oauth2-login), and the hook's comment describes slugs as lowercase letters and digits. Addresses Copilot review on #182. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mpaulosky
added a commit
that referenced
this pull request
Sep 30, 2026
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
mpaulosky
added a commit
to mpaulosky/atelier-store
that referenced
this pull request
Sep 30, 2026
* ci(hooks): Adopt the shared branch-name standard
Add fix/{issue}-{slug} and make a chore/ slug start with a letter, so it
can't pass for an issue-linked name. This is the standard every repo now
shares (mpaulosky/IssueTracker#182). Tests cover each accepted prefix and
each retired or malformed name.
Refs #86
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* test(hooks): Test uppercase slugs apart from the chore/ digit rule
chore/7-Upper was refused for its leading digit, so it never tested the
lowercase rule on its own. feature/9-Upper and chore/tidy-Up do; a hook
that allowed uppercase fails both.
Refs #86
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Sep 30, 2026
mpaulosky
added a commit
to mpaulosky/IssueManager
that referenced
this pull request
Sep 30, 2026
## Summary Part 2 of #227, porting mpaulosky/IssueTracker#182 and #186: the branch-name standard every repo now shares. | Pattern | Use | | --- | --- | | `feature/{issue}-{slug}` | New behaviour | | `fix/{issue}-{slug}` | A bug fix | | `hotfix/{issue}-{slug}` | An urgent fix | | `chore/{slug}` | Work without an issue | - **Issue numbers:** `feature/`, `fix/` and `hotfix/` now name their issue. The hook used to accept any slug. - **`chore/` slugs start with a letter,** so `chore/7-cleanup` can't pass for an issue-linked name. - The hook's message lists all four patterns. - **`docs/CONTRIBUTING.md`** now lists the standard, and says to branch from and open PRs against `main`. It used to say `develop`, a branch this repo doesn't have. ## Testing - New hook cases: each accepted prefix runs the gate (including slugs with digits). Each retired or malformed name is refused: `squad/`, `sprint/`, a prefix without an issue number, an uppercase letter in an otherwise valid name (`feature/9-Upper`, `chore/tidy-Up`), and a `chore/` slug starting with a digit. - Against the old hook, four of the new cases fail: the three prefixes without an issue number, and `chore/7-cleanup`. With the change: 48 passed, 0 failed. - `shellcheck` is clean. This branch went through the new pre-commit hook, which linted the staged `docs/CONTRIBUTING.md`, and through the pre-push gate. Refs #227 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Every repo now uses one branch-name rule. The eight repos with git hooks had five different rules between them.
feature/{issue}-{slug}fix/{issue}-{slug}hotfix/{issue}-{slug}chore/{slug}A slug is lowercase letters and digits in words joined by
-; achore/slug starts with a letter, so it can't pass for an issue-linked name.squad/andsprint/are retired along with the squad setup..github/hooks/pre-pushenforces the standard and names it in its error message..github/hooks/tests/pre-push.test.sh: each accepted prefix runs the gate, slugs with digits are accepted (chore/upgrade-net10,feature/8-oauth2-login), andsquad/,sprint/, prefixes missing an issue number, uppercase slugs, and achore/slug starting with a digit are refused.CLAUDE.mdlists the standard.The other repos adopt it through the
repo-ci-baselineskill's git-hooks part.Testing
pre-push.test.sh: 47 cases pass. Before the hook changes, 4 failed:fix/was refused, andsquad/,sprint/andchore/7-cleanupwere accepted.shellcheckandmarkdownlintare clean, and the pre-push gate passed.Refs #144
🤖 Generated with Claude Code