2026-02-10 11:50:11 +01:00
# Branching Strategy
2026-03-21 10:45:58 +01:00
- **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).
2026-02-10 11:50:11 +01:00
2026-02-14 16:41:24 +01:00
# Pre-commit Hooks
2026-02-17 18:17:23 +01:00
This project uses [prek ](https://prek.j178.dev/ ) (Rust-based pre-commit framework) to run linting and formatting checks before each commit.
2026-02-14 16:41:24 +01:00
2026-02-17 18:17:23 +01:00
**Setup:** `prek install`
2026-02-14 16:41:24 +01:00
**Hooks configured:**
- **Backend:** `ruff check --fix` and `ruff format` on Python files under `backend/`
2026-02-16 20:39:41 +01:00
- **Frontend:** `oxlint` , `oxfmt --check` , and `tsc -b` on files under `frontend/`
2026-02-14 16:41:24 +01:00
Frontend hooks require `npm ci` in `frontend/` first (they use `npx` to run from local `node_modules` ).
2026-02-05 18:37:47 +01:00
# Instructions
2026-03-21 10:45:58 +01:00
- After completing a task, immediately commit the changes to the current feature branch and ask the user to confirm.
2026-02-08 21:50:13 +01:00
- Before working on a bean, always set it to in-progress. After the changes related to the bean are committed, mark it as completed.
2026-02-08 21:51:08 +01:00
- If a bean is marked as draft, refine it first before starting work on it.
2026-02-09 08:47:49 +01:00
- 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.