Files
nuzlocke-tracker/CLAUDE.md
Julian Tabel 0d6174067e feat: enforce feature branch workflow with PreToolUse hook
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>
2026-03-21 10:45:58 +01:00

1.8 KiB

Branching Strategy

  • NEVER commit or push directly to develop or main. These branches are protected. All work happens on feature/* branches.
  • Every epic gets its own feature branch: feature/<epic-title-slug> off develop
  • Every standalone task/bug (no parent epic) gets its own feature branch: feature/<task-title-slug> off develop
  • 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 --fix and ruff format on Python files under backend/
  • Frontend: oxlint, oxfmt --check, and tsc -b on files under frontend/

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.