Contributing
Why Tanrei does not accept outside contributions, how to report a bug or ask a question, and where the rules live.
Outside contributions are not accepted
The repository is public at
github.com/chnotchy/tanrei, so that anyone can read how Tanrei is made. Every change is made by the maintainers: pull requests from outside are closed unmerged, and proposals for new components or tokens are not taken. The reason is the supply chain: Tanrei runs inside other people’s products, every change from outside is a way for code its maintainers did not write to reach them, and the current security climate makes that a risk the project does not take. To report a bug or ask a question,
open an issue. Report a security problem privately, as the repository’s SECURITY.md describes, never in an issue.
The repository’s root AGENTS.md is the authoritative guide for whoever changes the repository, human or AI. It is short, and reading it first will save time. Each package and source directory may add a nested AGENTS.md with local rules; the nearest file applies, and none of them may weaken the root. CONTRIBUTING.md at the root is the long form.
Longer-form material lives under the repository’s docs/ directory: the architecture overview, and the governance, which says who decides what.
Every change follows these steps, whoever makes it.
- Start from the source of truth. Changes to a component’s public surface begin in
specs/. Changes to a design value begin intokens/. Platform code follows. - Run the checks locally.
pnpm validate,pnpm generate, thenpnpm check. If the drift check fails, regenerate; do not edit the generated file. - Keep platforms honest. If you cannot finish a platform, leave its status as it truly is. The matrix is generated from the repository and must not claim more than exists.
- Add a changeset for anything users can see, and use Conventional Commits (
feat(web): …,fix(tokens): …,docs: …).
- Hardcoded colors, radii, type, spacing, motion or opacity inside a component.
- Snapshot baselines updated to make a test pass.
- Loosened contrast or accessibility thresholds.
- Documentation text copied from another design system. All prose in Tanrei is original.
This site lives in apps/docs/. Prose is hand-written MDX: English is the source, and each page is translated into the site’s other languages (apps/docs/i18n/README.md lists them, and says how a translation records what it was made from). Tables that a spec, token file or the status matrix can supply are rendered from that data and are never typed by hand. See apps/docs/AGENTS.md for the local rules.