18 lines
845 B
Markdown
Executable File
18 lines
845 B
Markdown
Executable File
# Contributing
|
|
|
|
## Adding a component
|
|
1. Create it in `src/components/` (primitive), `src/animated/`, or `src/blocks/`.
|
|
2. Use `cn()` + `class-variance-authority` for variants. Wrap Radix for interactive primitives.
|
|
3. Follow **DESIGN.md**: tinted neutrals, layered shadows, ease-out motion, focus-visible rings, no nested cards.
|
|
4. Export it from `src/index.ts`.
|
|
5. `npm run typecheck && npm run build && npm run design:detect` must pass.
|
|
|
|
## Releasing
|
|
`npm version <patch|minor|major>` then `npm publish` (builds automatically).
|
|
Tag notes in the commit. Consuming apps bump at their own pace.
|
|
|
|
## Design guardrail
|
|
Every visual change should survive `impeccable audit`/`polish`. If the detector
|
|
flags something intentional (e.g. a brand font), add a scoped ignore in
|
|
`.impeccable/config.json` with a reason — don't disable the rule globally.
|