Real-repo trials
June 10, 2026 · View on GitHub
Goal: verify the exporter on real shadcn-style codebases with only config edits — never repo-specific code in the exporter. If a trial needs an exporter change, it must be a general capability (or a documented limitation).
Running a trial
scripts/trial.sh https://github.com/shadcn-ui/next-template
# or against an existing checkout:
scripts/trial.sh ~/src/some-design-system
The target repo's node_modules must be installed: prop extraction runs the
TypeScript checker against the repo's own tsconfig. The script installs for
fresh clones (SKIP_INSTALL=1 to skip).
Candidate repos
| Repo | Stack | What it exercises |
|---|---|---|
shadcn-ui/next-template | Tailwind v3 | classic :root/.dark HSL triplets, styles/globals.css, forwardRef components |
shadcn-ui/taxonomy | Tailwind v3 | larger app, same conventions at scale |
satnaing/shadcn-admin | Tailwind v4 | @theme, @custom-variant dark, tokens behind @import './theme.css' |
Results (2026-06-10, exporter 0.1.0-alpha.0)
| Repo | Config edits | Result | Notes |
|---|---|---|---|
shadcn-ui/next-template (TW v3) | none | ✅ valid | 1 component, 19 color tokens, 20 dark overrides; Button variants/defaults match upstream cva |
satnaing/shadcn-admin (TW v4) | one — css: ["src/styles/index.css"] (path not in init candidates) | ✅ valid | 148 components; oklch tokens resolved through @import './theme.css'; 23 dark overrides; 19 enum props with cva defaults. Before the edit: graceful degradation (components only + 3 precise warnings) |
shadcn-ui/taxonomy (TW v3, large app) | none | ✅ valid | 152 components; Toaster missed by docgen but caught by the AST fallback (stub entry); orphan portalVariants cva correctly dropped with a warning; Button variants/defaults match upstream |
Observed across trials: component counts include compound sub-parts as flat entries (known limitation); both degradation paths (docgen miss → AST fallback, cva naming mismatch → drop + warn) fired in real code and behaved as designed.
What to record per trial
- Did
initdetect the right paths? Which notes were printed? - Config edits needed (and whether they're reasonable to ask of users).
generatesummary: component/token/theme counts, warnings.- Spot-check: one component's variants/defaults vs. the source cva; one token value vs. the CSS; dark overrides present.
- Schema validation result.
- Anything that suggests a missing general capability — file as an issue, do not patch ad hoc.