2026-02-10 11:50:11 +01:00
# Branching Strategy
- **Never commit directly to `main` .** `main` is always production-ready.
- Day-to-day work happens on `develop` .
- New work is done on `feature/*` branches off `develop` .
- Merge flow: `feature/*` → `develop` → `main` .
2026-02-10 12:37:43 +01:00
- **Squash merge** `feature/*` into `develop` (one clean commit per feature).
- **Merge commit** `develop` into `main` (marks deploy points).
2026-02-10 12:58:52 +01:00
- Always `git pull` the target branch before merging into it.
2026-02-10 11:50:11 +01:00
2026-02-14 16:41:24 +01:00
# Pre-commit Hooks
This project uses [pre-commit ](https://pre-commit.com/ ) to run linting and formatting checks before each commit.
**Setup:** `pip install pre-commit && pre-commit install`
**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
- After completing a task, always ask the user if they'd like to commit the changes.
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.