Skip to content

Experimental shadcn Registry compatibility - #5973

Draft
josephfarina wants to merge 6 commits into
mainfrom
agentcloud/shadcn-registry-experiment
Draft

Experimental shadcn Registry compatibility#5973
josephfarina wants to merge 6 commits into
mainfrom
agentcloud/shadcn-registry-experiment

Conversation

@josephfarina

@josephfarina josephfarina commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Summary

  • generate a standard shadcn Registry projection from the existing Astryx component and template catalogs
  • keep components package-backed while copying editable showcases, examples, blocks, and pages
  • add secondary per-page install commands, a compatibility guide, and a draft blog post

Architecture

The existing .doc.mjs metadata, sibling composition source, and owning package.json remain the source of truth. The docsite generator emits a static registry index and one JSON item per installable surface. There is no parallel hand-authored catalog.

The normal Astryx component and template documentation remains the human browse experience. Applicable pages show a secondary shadcn command after their primary documentation. Raw machine routes are organized as /r/components, /r/hooks, /r/showcases/<component>, /r/examples/<component>, /r/blocks, and /r/templates. exampleFor is optional: unowned compositions are standalone blocks, while component-owned records become examples or showcases. IDs derive from stable doc/catalog identity, with optional registry.slug, compatibility aliases, collision checks, and a reviewed 921-route lock.

Component items install the owning Astryx package and write a public re-export. Composition items write editable app code that imports published Astryx package paths. Fourteen compositions with local StyleX declarations are precompiled to compiler-free JSX during generation.

Experimental boundary

This is a draft experiment. Canary and PR previews emit the raw registry, guide, commands, and draft blog. The production latest target removes the registry output and excludes the experimental content.

Validation

  • 921 generated items today: 178 components, 54 hooks, 158 showcases, 485 component examples, 0 standalone blocks, and 46 pages; standalone blocks are supported when a block doc omits exampleFor
  • all items validate against the pinned shadcn 4.19.0 schema
  • all 921 items installed through the real shadcn CLI into a clean Vite app
  • one consumer build imported all installed output: 6,620 modules transformed successfully
  • full workspace build and docsite production build
  • docsite typecheck and 455 tests
  • 16 focused registry contract tests, including standalone blocks, nested-path installation, alias files, live page installation, and preview-origin resolution
  • knowledge, repository, strict-lint, and production-target guards

Generate preview-only shadcn Registry JSON from the existing Astryx catalog. Add draft install commands, compatibility docs, tests, and a draft blog post without publishing the experiment to production.
Add a preview-only human entry point for the generated shadcn registry, with search, filters, install commands, docs links, support counts, and raw JSON access.
@vercel

vercel Bot commented Sep 3, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated
astryx Ready Ready Preview Sep 3, 2026 8:46pm UTC

Request Review

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Meta Open Source bot. label Sep 3, 2026
@github-actions github-actions Bot added the needs:design-review Affects visuals — Design should review label Sep 3, 2026
Generate the registry origin from the active Vercel deployment so draft commands resolve to the same preview. Keep static guide examples origin-neutral until publication.
Remove the separate registry browser and move shadcn compatibility below each component’s usage, props, and examples. Keep the raw registry as a machine endpoint.
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

PR Analysis Report

Preview availability: CI did not succeed, so no preview was published.

No new or modified components detected.

Bundle Size Summary

No component packages changed.

Accessibility Audit

Status: No accessibility violations detected.


Generated by PR Enrichment workflow | View full report

Derive organized component, hook, showcase, example, and template paths from doc identities. Add slug overrides, compatibility aliases, collision checks, and a reviewed route lock so display edits or file renames cannot silently break public install URLs.
Make exampleFor optional for block docs. Standalone blocks now use /r/blocks/<slug>.json, while examples and showcases remain component-scoped; showcases still require component ownership.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot. needs:design-review Affects visuals — Design should review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant