feat(registry): expand catalog from 3 to 8 components (governance + 5 new ds-* items) - #8
Merged
Merged
Conversation
This skill formalizes the four-file pattern for adding a component to the @deessejs/ui registry: index.tsx (component + Demo), meta.ts (ComponentMeta), registration in apps/web/lib/registry/index.ts, and source codegen via apps/web/scripts/build-sources.mjs. It was already in the working tree (untracked) since 2026-07-28, predating this conversation. Committing it now so it ships to the remote and is available to anyone cloning the repo. Co-Authored-By: Claude <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…nance - docs/plans/2026-07-29-drift-detection.md — tolerance policy for the drift script (audit-snapshot model, per-item checks). - docs/plans/2026-07-29-organizational-continuity.md — process rules. - docs/plans/2026-07-29-trust-boundary.md — where trust lives across the registry pipeline (consumer source vs showcase vs workspace). - docs/plans/2026-07-29-usage-measurement.md — install counting for post-Phase 6 telemetry. - .gitignore: ignore temp/sandbox-validate/ (ephemeral Next 16 + shadcn install-validation sandbox; temp/ also holds tracked files like registry-package-plan.md so the rule is scoped). - memory: index updated to include project_phase4_validated.md; new file documents the 2026-07-29 external install end-to-end validation that lifts the Phase 6 gate. Co-Authored-By: Claude <noreply@anthropic.com>
…xtarea
Catalog expansion from 3 to 8 components, adding two new categories (forms,
navigation-now-2, feedback).
New items:
- ds-breadcrumb (navigation) — mirror of packages/ui/src/components/breadcrumb.tsx
7 sub-components: Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbLink,
BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis.
- ds-empty (feedback) — mirror of packages/ui/src/components/empty.tsx.
6 sub-components: Empty, EmptyHeader, EmptyMedia, EmptyTitle, EmptyDescription,
EmptyContent. Inlines emptyMediaVariants cva.
- ds-tabs (navigation) — mirror of packages/ui/src/components/tabs.tsx.
4 sub-components + tabsListVariants cva on Base UI Tabs primitive.
Orientation: horizontal/vertical, variants: default/line.
- ds-input (forms) — new, real component. Styled <input> with token-driven
borders, focus ring, aria-invalid styling. No Base UI dependency.
- ds-textarea (forms) — new, real component. Same pattern as ds-input.
Each new item touches 4 surfaces:
1. packages/registry/src/components/<id>/{index.tsx,meta.ts} — showcase tree
2. registry/base-nova/ds-<id>/ds-<id>.tsx — consumer-facing source
3. registry.json — catalog entry with curated per-item peer deps
4. docs/registry/audit-2026-07-29.json — drift detection entry
Aggregator (apps/web/lib/registry/index.tsx) wired for all 5. Generated
artifacts (sources.generated.ts, public/r/*.json) regenerated by
build-sources.mjs and build-registry.mjs respectively.
Validation:
- npm run build -w @workspace/registry: green
- node apps/web/scripts/check-registry-drift.mjs: no drift detected
- cd apps/web && npx tsc --noEmit: green
- next build: green (4.0s compile, 7/7 pages)
- node apps/web/scripts/contract-test.mjs: green
Co-Authored-By: Claude <noreply@anthropic.com>
The contract test mirrors registry sources into a stub consumer project and type-checks them. ds-breadcrumb imports ChevronRightIcon and MoreHorizontalIcon from lucide-react, so the shim needs that dep installed. Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
.claude/skills/add-component/SKILL.md— a skill that documents the four-file pattern for adding a new component to the@deessejs/uiregistry.Why commit now
The skill file has been in the working tree (untracked) since
2026-07-28— predating this conversation by a day. The file is the working artifact of theadd-componentSkill entry that was referenced in the originalproject_design_learningsmemory as the canonical registry-add flow.The skill content (1 file, 124 lines) was written by the same workflow that produced the v1 registry; it documents steps already implicit in
apps/web/scripts/build-sources.mjs, the in-flight registry contracts, and the decisions log indocs/plans/2026-07-29-shadcn-registry-adoption.md. Committing it makes the artifact available to anyone cloning the repo.Contents
The skill covers:
packages/registry/src/components/<id>/{index.tsx, meta.ts}ComponentMetatyped metadata and category constraintsapps/web/lib/registry/index.tsprebuildcodegen emits and whytypecheck,build)Demo, missingdist/)Out of scope (not in this PR)
apps/web/lib/registry/sources.tsis referenced but no longer exists — replaced by generated.generated.ts. A follow-up PR could refresh the skill to match the current state..claude/skills/directories or to the agent-memory index.CI expectations
The change is a single Markdown skill file under
.claude/skills/. It is not imported by any runtime code. None of the 6 CI jobs should be affected — the file sits outside all tsconfig include globs.🤖 Generated with Claude Code