Hey Claude,
- Light, stable rules only.
- Anything that evolves (design, architecture, API) lives in
docs/, not here.
Files
TREE.md for the layout (generated with uv run python utils/tree.py)COMMANDS.md for commands.docs/ for design; docs/COMMENTS.md explains tricky code.
General
- Backwards compatibility is not a concern. Code freely.
- While working,
cargo check is enough. - Rebuild wasm after any change to the mrlyrs/mrlyjs/mrlynet pipeline:
wasm-pack build pkgs/mrlyjs --target web.
Writing Style
- Less is more!
- Keep all written files lean, clear, and durable.
- This repo is public. Never reference files that live outside it.
Coding Style
- NEVER write a comment, and delete any you find. The one exception is a CAPITALISED section delimiter.
- If code is truly important or confusing, explain it in
docs/COMMENTS.md, never inline. - One empty line between sections, never two.
- No em-dash in code, use a hyphen instead.
Environment
- Use
.venv/ (the uv/tooling default). - Run Python through
uv run; system pythons are often too old for our tools. - Batch per-file work into one process; shell loops that spawn a process per file stall under the sandbox.
Git
- Never hand-write a commit.
- Ship with
uv run python utils/ship.py. - Or single commit:
uv run python utils/git.py push. - One push per finished unit of work.
Dependencies
- Prefer writing from scratch.
- If a dependency is unavoidable, hide it so it can be swapped later.
- The line that decides:
docs/DEPS.md. - If unsure, stop and discuss.
Output
- Save generated files to
data/. Never delete generated files. - Secrets only ever in
.env.