Use the fulldev skill for general Fulldev client-project architecture:
- content/schema/layout separation
- layout-owned page orchestration
- component and block conventions
- Fulldev UI usage through the shadcn CLI
- theming and customization patterns
This repo has extra responsibilities: it is the Fulldev UI registry source, docs site, and reference implementation.
- Installable UI components live in
src/components/ui/<component-name>/. - Installable blocks live in
src/components/blocks. - Registry items must be portable outside this docs site.
- Do not import private docs, content, layout, route, global, or schema code from installable registry items.
- Preserve shadcn parity where a component is intentionally shadcn-compatible.
- Fix docs/API mismatches at the implementation source, not by hiding the mismatch in examples.
registry.jsonis the source of truth for installable items.- Update
registry.jsonwhen adding/removing installable items, changing file paths, changing registry dependencies, changing npm dependencies, changing metadata, or changing installable source files. - During normal development, do not rebuild the registry after every edit. Use the dev server and inspect logs first.
- For release prep or when registry output is needed, run
pnpm registry:build. - Commit regenerated
public/r/*.jsonandpublic/r/registry.jsonwhen registry inputs change. - Treat
public/ras generated registry output. Do not hand-edit it except when intentionally debugging generated output. - Treat
dist/as build output. Do not edit it by hand. - Docs pages document registry items, but they do not make something installable.
- Use
pnpm. - Node
>=22.12.0is required bypackage.json. - This project owns
http://localhost:4321for local development and preview. - During development, run or reuse
pnpm devand read logs occasionally. pnpm devmust stop any existing listener on port4321before starting Astro on127.0.0.1:4321.- For tailnet review from Otis, run
pnpm stop && pnpm exec astro dev --host 0.0.0.0 --port 4321, thentailscale serve --bg http://127.0.0.1:4321; sharehttps://otis.tailb5cb80.ts.net/and stop withtailscale serve --https=443 off. - Use
pnpm stopto close this project's local dev or preview server. - Use
pnpm previewfor the build-and-preview flow; it also clears port4321before starting Astro preview. - Do not run
pnpm check,pnpm build, orpnpm registry:buildafter every small edit. - Format touched files when a change is settled.
- For release prep, run
pnpm build, thenpnpm check, then formatting/registry generation as needed.