# Rules > **Populated by phase 1 — not yet written.** > Until then the rules live where they always have: [root CLAUDE.md](../../CLAUDE.md), > [client/CLAUDE.md](../../client/CLAUDE.md) (161 K), [server/CLAUDE.md](../../server/CLAUDE.md) (75 K), > [server/CONVENTIONS.md](../../server/CONVENTIONS.md), [client/messages/STYLE.md](../../client/messages/STYLE.md), > and the [frontend-designer skill](../../.claude/skills/frontend-designer/SKILL.md). What must never be broken, and nothing else. **The tiering rule this section exists to enforce:** a `CLAUDE.md` keeps only non-negotiables and pointers — roughly 200 lines. Everything explanatory becomes a reference file here, read on demand. Loading a rule should not cost 40k tokens. ## Planned contents | File | Covers | | --- | --- | | `documentation.md` | The anti-drift convention — `Last verified:` stamps, where a fact belongs, what a doc may claim | | `shared/naming.md` · `shared/git-and-gates.md` · `shared/code-quality.md` | Cross-project: the `Baya*` / `balinyaar-client` split, branch and commit rules, per-project check gates, no dead code | | `client/` (8 files) | structure · theme · components · forms · i18n · services · auth · testing | | `server/` (5 files) | structure · cqrs · persistence · identity · conventions | Subdirectories are created by phase 1 along with their first file. ## Known conflicts to settle first - **C-11** — the frontend-designer skill and `client/CLAUDE.md` both claim the design language, with no stated precedence. - **C-12** — the skill stopped at manual-testing iteration 1; the code went on to iteration 2. Both are logged in [_plan/open-contradictions.md](../_plan/open-contradictions.md).