# Contributing The most valuable contribution is a **new design direction** for the library. Here's the process: 1. Check `templates/references/CATALOG.md` — is your direction already planned? If yes, author that entry; if no, propose the new slug in your PR description (state its family and why it doesn't overlap existing ones). 2. Copy `templates/references/_TEMPLATE.md` and fill **every** field: palette (with AA-verified contrast ratios), Google Fonts pairing (verify each family exists), 3–5 layout rules, motion personality (behavior only), implementation hints (with KB costs), a **specific** default-trap with antidote, and 3 described real-world references. 3. Run it through `templates/references/_QA.md` — all 5 checks (6 for modern-trend directions) — and leave the checklist marked at the bottom of the file. 4. Regenerate the index: `npm run build:index`. 5. Open a PR with the marked checklist. One direction per PR. Rules of the house: - **Write your own text.** Distilling ideas from real-world design is the point; copying text from other sources verbatim is rejected. - Directions describe **design, not technology** — library names live only in the "Implementation hints" section. - If your direction borders an AI-default look (see `templates/memory/anti-generic.md`), its antidote must be sharp enough that an agent can't miss it. For CLI changes: `npm test` must stay green, and the CLI keeps exactly two runtime dependencies (`prompts`, `kleur`).