Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
69b9e44
feat: Branch Naming Strategy & Enforcement — Phase 2 Specification Co…
claude Sep 13, 2026
a589ec8
feat: Branch Naming Strategy — Phase 1 Design & Contracts Complete
claude Sep 13, 2026
fb0e243
feat/branch-naming-strategy: Complete Phase 0 research decisions
claude Sep 14, 2026
b6f5990
feat: Complete Phase 2 US1 - Core validation and local enforcement
claude Sep 14, 2026
0d271ac
feat: T037 - Create branch name validation GitHub Actions workflow
claude Sep 14, 2026
63c3020
feat: T038-T040 - Improve workflow validation and add PR comments
claude Sep 14, 2026
38a8018
feat: T041-T043 - Implement compliance metrics collection
claude Sep 14, 2026
47a0a10
docs: Mark Phase 2 US2 tasks T037-T043 as complete
claude Sep 14, 2026
9263ce5
chore: Update package-lock.json
claude Sep 14, 2026
bdb4855
fix: Remove superfluous arguments to validateScopeOrTitle
claude Sep 14, 2026
9d70be8
debug: Add more detailed logging to branch validation workflow
claude Sep 14, 2026
275fca3
fix: Use npm run for validation in workflow for proper environment setup
claude Sep 14, 2026
203a6c1
fix: Simplify validation logic and improve error handling
claude Sep 14, 2026
db7425a
debug: Add verification step for npm and node availability
claude Sep 14, 2026
6049c78
debug: Add output inspection to identify validation step issue
claude Sep 14, 2026
b025b74
fix: Simplify validation step to use direct exit code
claude Sep 14, 2026
84cc090
fix: Ultra-simplified validation - direct exit code propagation
claude Sep 14, 2026
f5ab7b1
debug: Improve validation step with separate stdout/stderr capture
claude Sep 14, 2026
641d7f1
debug: Use direct node invocation with jq for robust JSON parsing
claude Sep 14, 2026
a12cdb6
docs: Add branch validation enforcement policy documentation
claude Sep 14, 2026
b9541c7
Merge branch 'develop' into feat/branch-naming-strategy-phase-3
ashleyshaw Sep 14, 2026
1f573c5
Phase 1 Design Complete: Mark all design and audit tasks as finished
claude Sep 14, 2026
124502e
Phase 3: Create branch type and label routing configuration files
claude Sep 14, 2026
cfd89c0
Mark Phase 3 configuration tasks as complete (T049-T051)
claude Sep 14, 2026
092a188
docs: add changelog entries for branch naming strategy phase 3 config…
claude Sep 14, 2026
4711c75
feat: implement phase 3 PR template and label routing workflow
claude Sep 14, 2026
d000403
docs: mark T030 workflow implementation as complete
claude Sep 14, 2026
f314176
fix: convert pr-template-router script to ES modules
claude Sep 14, 2026
8ab1fd4
fix: improve PR routing workflow JSON parsing and error handling
claude Sep 14, 2026
cae54e8
fix: simplify routing script to output JSON only, improve workflow
claude Sep 14, 2026
aaa066e
fix: improve routing workflow error handling and JSON validation
claude Sep 14, 2026
6806f85
fix: remove unused import and add workflow diagnostics
claude Sep 14, 2026
8ebf8b3
fix: add verbose debug output to routing workflow
claude Sep 14, 2026
2a6f232
fix: upgrade Node.js to 20 for ESLint dependency compatibility
claude Sep 14, 2026
924ddc2
fix: upgrade Node.js to 22 for Puppeteer dependency compatibility
claude Sep 14, 2026
e778120
T060-T063: Complete PR template routing integration tests
claude Sep 14, 2026
c158d77
T064-T067: Enhance branching strategy guide with complete type reference
claude Sep 14, 2026
20cf620
T068-T071, T075: Complete branch naming strategy documentation suite
claude Sep 14, 2026
107f8bc
docs: clarify area label detection, branch rename handling, and label…
claude Sep 14, 2026
120fc76
Merge develop into feat/branch-naming-strategy-phase-3 to resolve con…
claude Sep 14, 2026
610280e
Merge branch 'develop' into feat/branch-naming-strategy-phase-3
ashleyshaw Sep 15, 2026
bbbbe64
Merge branch 'develop' into feat/branch-naming-strategy-phase-3
ashleyshaw Sep 15, 2026
0dda54c
Merge branch 'develop' into feat/branch-naming-strategy-phase-3
ashleyshaw Sep 15, 2026
351dabb
refactor(specs): move 004-branch-naming-strategy into .github/specs
ashleyshaw Sep 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
345 changes: 345 additions & 0 deletions .github/branch-labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,345 @@
# Branch Type to Default Labels Mapping
#
# Single source of truth for automatic label application based on branch type.
# This configuration is used by GitHub Actions workflows to apply labels to PRs
# created from branches matching each type.
#
# Format: Each type has:
# - default_labels: Always applied (must exist in .github/labels.yml)
# - area_keywords: Used for scope-based area label detection
#
# Area Detection: If branch scope contains any of the keywords, the
# corresponding area label is applied (e.g., scope: "api-auth" matches
# both "api" and "security" keywords → applies area:api + area:security)
#
# Validation: All labels verified against canonical .github/labels.yml
# Last verified: 2026-09-14

branch_labels:
# Feature Types
feat:
default_labels:
- type:feature
area_keywords:
- api
- ui
- component
- backend
- frontend

task:
default_labels:
- type:task
area_keywords:
- api
- ui
- backend
- frontend

proto:
default_labels:
- type:feature
area_keywords:
- experimental

# Bug & Fix Types
fix:
default_labels:
- type:bug
area_keywords:
- api
- ui
- backend
- frontend

hotfix:
default_labels:
- type:bug
- priority:critical
area_keywords:
- api
- ui
- backend
- frontend

revert:
default_labels:
- type:chore
area_keywords: []

# Release
release:
default_labels:
- type:release
area_keywords: []

# Refactoring
refactor:
default_labels:
- type:refactor
area_keywords:
- api
- ui
- backend
- frontend

# Maintenance
chore:
default_labels:
- type:chore
area_keywords: []

# Documentation
docs:
default_labels:
- type:docs
area_keywords:
- documentation
- guide
- readme

i18n:
default_labels:
- type:docs
area_keywords:
- i18n
- translation

# Testing
test:
default_labels:
- type:test
area_keywords:
- testing
- coverage
- e2e

# Performance
perf:
default_labels:
- type:performance
area_keywords:
- performance
- optimization
- caching

# CI/CD & Build
ci:
default_labels:
- type:ci
- area:ci
area_keywords:
- workflow
- action
- lint

build:
default_labels:
- type:build
- area:ci
area_keywords:
- build
- webpack
- bundle

# Dependencies
deps:
default_labels:
- type:dependency
- area:dependencies
area_keywords: []

# Security
security:
default_labels:
- type:security
- priority:critical
area_keywords:
- security
- auth
- vulnerability
- xss
- csrf
- injection

# Design & UX
design:
default_labels:
- type:design
- area:design-system
area_keywords:
- design
- component
- button
- ui

ds:
default_labels:
- type:design
- area:design-system
area_keywords:
- design
- system

a11y:
default_labels:
- type:a11y
- area:a11y
area_keywords:
- a11y
- accessibility
- wcag

ux:
default_labels:
- type:design
- area:design-system
area_keywords:
- ux
- user-experience
- form

# Operations
ops:
default_labels:
- type:automation
- area:infrastructure
area_keywords:
- deployment
- infrastructure
- database
- migration

# Audit & Compliance
audit:
default_labels:
- type:review
- area:ci
area_keywords:
- audit
- review
- compliance

# AI & Code Generation
codex:
default_labels:
- type:aiops
- area:ai
area_keywords:
- ai
- generation
- automation

# Research
research:
default_labels:
- type:research
area_keywords:
- research
- investigation
- benchmark

# Area Label Keywords Reference
#
# These keywords are matched against branch scope to auto-detect area labels.
# Multiple keywords can match the same scope, applying all matching area labels.
#
# Example: branch scope "api-auth-security" matches:
# - "api" → area:api
# - "auth" → area:security
# - "security" → area:security
# Result: area:api + area:security applied (deduplicated)
#
# Area Labels in Canonical Set (.github/labels.yml):
area_keywords_reference:
api:
label: area:integration
keywords:
- api
- endpoint
- rest
- graphql
- route

auth:
label: area:security
keywords:
- auth
- security
- credentials
- oauth
- jwt
- password

database:
label: area:infrastructure
keywords:
- db
- database
- schema
- migration
- query

docs:
label: area:documentation
keywords:
- doc
- docs
- documentation
- guide
- readme

frontend:
label: area:scripts
keywords:
- ui
- component
- react
- html
- css
- frontend

backend:
label: area:core
keywords:
- server
- service
- middleware
- handler
- backend

testing:
label: area:testing
keywords:
- test
- spec
- mock
- fixture
- e2e

ci:
label: area:ci
keywords:
- ci
- workflow
- github-actions
- lint
- build

performance:
label: area:performance
keywords:
- perf
- performance
- optimization
- caching
- speed

security:
label: area:security
keywords:
- security
- vulnerability
- xss
- sql-injection
- csrf
Loading
Loading