docs(CLAUDE): require every change to be documented and committed
Adds a Documentation & Commit Policy section and a Golden Rules entry requiring every change, however small, to be committed with a descriptive message explaining why — so project history stays a reliable record of what happened over time. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -85,6 +85,7 @@ Never use relative `../` paths except inside `providers/` and `hooks/` when refe
|
||||
- **Source every UI element from `@/components/ui/`** — no raw HTML elements for styled things
|
||||
- **Use only CSS tokens** — never raw hex, rgb, or pixel values in component or page files
|
||||
- **Use `.masonry-grid` for all content pages with multiple variable-height sections** — never `display: grid` with fixed columns for card layouts. See DESIGN.md §11.
|
||||
- **Every change, major or minor, must be documented and committed** — see "Documentation & Commit Policy" below.
|
||||
|
||||
---
|
||||
|
||||
@@ -99,6 +100,7 @@ Check the live Style Guide at `/dev/styleguide` to see all variants and states.
|
||||
| `StatusBadge` | `@/components/ui/StatusBadge` | Coloured status pills |
|
||||
| `FormField` | `@/components/ui/FormField` | Every text/email/password/textarea input |
|
||||
| `Select` | `@/components/ui/Select` | Custom dropdown (used inside FormField type="select") |
|
||||
| `MultiSelect` | `@/components/ui/MultiSelect` | Checkbox dropdown for selecting multiple values (filters, tags) |
|
||||
| `Modal` | `@/components/ui/Modal` | All overlay dialogs |
|
||||
| `ConfirmDialog` | `@/components/ui/ConfirmDialog` | Destructive / confirmation prompts |
|
||||
| `DataTable` | `@/components/ui/DataTable` | All tabular data with sorting/selection |
|
||||
@@ -381,3 +383,16 @@ All pages import from `@/lib/api`, never directly from `_archive`.
|
||||
|
||||
These are the ONLY two files permitted to import from `_archive/auth/`.
|
||||
All other files use `@/hooks/useAuth`.
|
||||
|
||||
---
|
||||
|
||||
## Documentation & Commit Policy
|
||||
|
||||
**Every change to this project — major or minor — must be documented and committed.** This is how we keep a record of what happened over time. Uncommitted or undocumented work is effectively invisible to future sessions.
|
||||
|
||||
- **Commit every change**, no matter how small (a copy tweak, a token rename, a bug fix, a new page). Do not batch unrelated work silently into "cleanup later" — if it changed, commit it.
|
||||
- **Write descriptive commit messages** that explain *why*, not just *what* — future sessions rely on `git log` to reconstruct project history since this isn't otherwise tracked elsewhere.
|
||||
- **Never leave work uncommitted** at the end of a session/task unless the user explicitly says to hold off.
|
||||
- Follow the repo's existing commit message conventions (see recent `git log` for style/format).
|
||||
- If a change is large enough to warrant explanation beyond the commit message (a new module, a non-obvious fix, a schema/API change), note the reasoning in the commit body — don't rely on memory or chat history to preserve it.
|
||||
- This applies to backend, frontend, and config changes alike — even though `backend/` and `_archive/` are off-limits to modify directly in most cases, any change made anywhere in the repo still follows this same commit discipline.
|
||||
|
||||
Reference in New Issue
Block a user