Set up pre-commit framework with ruff (backend) and ESLint/Prettier/tsc (frontend) hooks to catch issues locally before CI. Auto-format all frontend files with Prettier to comply with the new check. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
29 lines
1.4 KiB
Markdown
29 lines
1.4 KiB
Markdown
# 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`.
|
|
- **Squash merge** `feature/*` into `develop` (one clean commit per feature).
|
|
- **Merge commit** `develop` into `main` (marks deploy points).
|
|
- Always `git pull` the target branch before merging into it.
|
|
|
|
# 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/`
|
|
- **Frontend:** `eslint`, `prettier --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, always ask the user if they'd like to commit the changes.
|
|
- 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.
|