Skip to content

feat(registry): expand catalog from 3 to 8 components (governance + 5 new ds-* items) - #8

Merged
codewizdave merged 4 commits into
mainfrom
chore/add-skill-add-component
Jul 29, 2026
Merged

feat(registry): expand catalog from 3 to 8 components (governance + 5 new ds-* items)#8
codewizdave merged 4 commits into
mainfrom
chore/add-skill-add-component

Conversation

@martyy-code

Copy link
Copy Markdown
Contributor

Summary

Adds .claude/skills/add-component/SKILL.md — a skill that documents the four-file pattern for adding a new component to the @deessejs/ui registry.

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 the add-component Skill entry that was referenced in the original project_design_learnings memory 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 in docs/plans/2026-07-29-shadcn-registry-adoption.md. Committing it makes the artifact available to anyone cloning the repo.

Contents

The skill covers:

  • File scaffolding for packages/registry/src/components/<id>/{index.tsx, meta.ts}
  • ComponentMeta typed metadata and category constraints
  • Wiring the entry into apps/web/lib/registry/index.ts
  • What the prebuild codegen emits and why
  • Verification steps (typecheck, build)
  • Common pitfalls (export shape, missing categories, SSR-safe Demo, missing dist/)
  • Reference list of all the registry's machinery files

Out of scope (not in this PR)

  • The skill text references paths and commands from the pre-registry-add-via-PR3 world. For example apps/web/lib/registry/sources.ts is referenced but no longer exists — replaced by generated .generated.ts. A follow-up PR could refresh the skill to match the current state.
  • No changes to other .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

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>
@vercel

vercel Bot commented Jul 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ui-web Ready Ready Preview, Comment Jul 29, 2026 3:10pm

martyy-code and others added 2 commits July 29, 2026 14:51
…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>
@martyy-code martyy-code changed the title chore: add add-component skill feat(registry): expand catalog from 3 to 8 components (governance + 5 new ds-* items) Jul 29, 2026
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>
@codewizdave
codewizdave merged commit 167b03e into main Jul 29, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants