Add a guard script that blocks git commit/push on protected branches (develop, main, master) via a PreToolUse hook. Update CLAUDE.md with stricter branching rules: one commit per task, immediate commits on feature branches, no direct commits to protected branches. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1.8 KiB
1.8 KiB
Branching Strategy
- NEVER commit or push directly to
developormain. These branches are protected. All work happens onfeature/*branches. - Every epic gets its own feature branch:
feature/<epic-title-slug>offdevelop - Every standalone task/bug (no parent epic) gets its own feature branch:
feature/<task-title-slug>offdevelop - Branch naming: kebab-case slug of the bean title (e.g.,
feature/add-auth-system)
Committing workflow
- Every completed task gets its own commit on the feature branch — including tasks within an epic. One task = one commit.
- After finishing a task, immediately commit the changes to the feature branch. Do not batch multiple tasks into a single commit.
- When the epic or standalone task is fully complete, squash merge the feature branch into
develop(via PR).
Pre-commit Hooks
This project uses prek (Rust-based pre-commit framework) to run linting and formatting checks before each commit.
Setup: prek install
Hooks configured:
- Backend:
ruff check --fixandruff formaton Python files underbackend/ - Frontend:
oxlint,oxfmt --check, andtsc -bon files underfrontend/
Frontend hooks require npm ci in frontend/ first (they use npx to run from local node_modules).
Instructions
- After completing a task, immediately commit the changes to the current feature branch and ask the user to confirm.
- Before working on a bean, always set it to in-progress. After the changes related to the bean are committed, mark it as completed.
- If a bean is marked as draft, refine it first before starting work on it.
- When completing a bean that has a parent (epic, feature, etc.), check the parent's checklist/success criteria for items that can now be marked as completed and update them.