mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-12 05:36:40 +00:00
- Move emojis after headline text (CONTRIBUTING.md, actions/, design/, tools/, tests/) - Replace em dashes with colons, semicolons, or complete sentences throughout - Add missing emojis to all headlines in exceptions.md, principles.md, services.md, shell.md, setup.md, pull-request.md, commit.md, act.md, docker.md, pr/README.md - Update H1 titles to reflect renamed directories (actions/, design/) - Fix broken relative links in workflow.md after directory moves - Fix full-path link texts in services.md (style.css.md, javascript.js.md) - Fix broken principles.md link to lint.md after testing/ → actions/testing/ move Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
37 lines
2.3 KiB
Markdown
37 lines
2.3 KiB
Markdown
# Branch 🌿
|
|
|
|
## CI Impact 🔀
|
|
|
|
The branch prefix MUST match the type of change. The [PR workflow](pull-request.md) uses it to classify the scope and decide which CI pipeline to run.
|
|
|
|
| Branch prefix | Scope | Matching files | CI behavior |
|
|
|---|---|---|---|
|
|
| `agent` | Changes to agent instructions or prompts | `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`, `docs/agents/*` | Skips [ci-orchestrator](../../../../.github/workflows/ci-orchestrator.yml), finishes green through the lightweight scope gate. |
|
|
| `documentation` | Documentation-only changes | `**/*.md`, `**/*.rst` (outside agent paths) | Skips [ci-orchestrator](../../../../.github/workflows/ci-orchestrator.yml), finishes green through the lightweight scope gate. |
|
|
| `feature` | New features or enhancements | `*` | Runs the full [ci-orchestrator](../../../../.github/workflows/ci-orchestrator.yml) pipeline. |
|
|
| `fix` | Bug fixes | `*` | Runs the full [ci-orchestrator](../../../../.github/workflows/ci-orchestrator.yml) pipeline. |
|
|
| `dependabot` | Automated dependency updates | `*` | Runs the full [ci-orchestrator](../../../../.github/workflows/ci-orchestrator.yml) pipeline. |
|
|
|
|
## Enforcement 🔒
|
|
|
|
All rules in this document are actively enforced on `main` via GitHub branch protection. See [branch.md](../../tools/github/branch.md) for the full enforcement policy.
|
|
|
|
## Naming Conventions 🏷️
|
|
|
|
The description MUST use `kebab-case` (lowercase words separated by hyphens) and SHOULD be short enough to read at a glance.
|
|
|
|
The full branch name MUST follow one of the patterns below, depending on whether the change targets a specific role or is general:
|
|
|
|
| Case | Pattern | Example |
|
|
|---|---|---|
|
|
| General feature | `feature/<topic>` | `feature/ldap-integration` |
|
|
| Role feature | `feature/<role>/<topic>` | `feature/web-app-matomo/ldap-integration` |
|
|
| General fix | `fix/<topic>/<ticket-id>` | `fix/dns-resolution/taiga-123` |
|
|
| Role fix | `fix/<role>/<topic>/<ticket-id>` | `fix/web-app-matomo/login-redirect/taiga-789` |
|
|
| Documentation | `documentation/<topic>` | `documentation/contributing-setup` |
|
|
| Agent | `agent/<topic>` | `agent/improve-commit-instructions` |
|
|
| Dependabot | `dependabot/<ecosystem>/<dependency>` | `dependabot/pip/requests-2.32.0` |
|
|
|
|
`feature`, `documentation`, and `agent` branches MUST NOT reference a ticket ID.
|
|
`dependabot` branches are created automatically and MUST NOT be renamed.
|