Turn a reviewed, supported React CSF source graph into a deterministic shadcn handoff.
Compify is experimental open-source tooling for statically inspecting selected React Storybook source, producing a reviewable shadcn registry artifact, and recording an explicit consumer build. The repository also contains an optional legacy browser editor and registry/API surfaces; those are not evidence of broad Storybook compatibility, visual fidelity, adoption, or a generally available managed platform.
Open the full-quality 22-second MP4 with playback controls
The recording shows Compify's existing optional browser editor. The release candidate's primary workflow is the account-free Storybook-to-shadcn handoff below. The recording is not presented as proof of Storybook compatibility or destination-build fidelity; those claims are backed by executable checks in the compatibility matrix.
Moving a component between applications is rarely just copying one file. The review boundary can include local imports, aliases, styles, runtime packages, and consumer-specific installation behavior. Within the statically selected source graph, Compify makes checked boundaries explicit and rejects detected unsupported or nonportable inputs instead of silently omitting them:
- Select deliberately: a CSF story export is the entry boundary.
- Inspect statically: supported source is parsed without importing or executing the story.
- Review exactly: every selected source file receives a SHA-256 value, and the canonical registry artifact receives a stable digest before installation.
- Install natively: pinned
shadcn@4.16.2owns registry validation and file installation. - Prove the destination: an explicit consumer build produces a local receipt with artifact identity, exact argv, and installed-file hashes.
The Storybook workflow in this repository is an unpublished
@compify/cli@0.3.0 AGPL source candidate. The repository's historical v0.1.0
GitHub tag already contains a CLI 0.2.0 manifest; npm independently serves an
older @compify/cli@0.1.0 artifact from different source history. Do not treat
the tag and package as one release. Build the candidate from source until a
package release is explicitly announced:
git clone https://github.com/kubet/compify.git
cd compify/packages/cli
bun install --frozen-lockfile
bun run build
bun link
compify --help
# Install the included, already shadcn-initialized consumer.
cd ../../examples/consumer-next-ts
bun install --frozen-lockfile
# Move to the included Storybook fixture.
cd ../storybook-buttonInspect its selected story and explain why the component entry is included:
compify storybook inspect src/Button.stories.tsx \
--story Primary \
--explain src/Button.tsxThen hand the reviewed graph to the different, already shadcn-initialized consumer included in the repository:
compify storybook handoff src/Button.stories.tsx \
--story Primary \
--consumer ../consumer-next-ts \
--build-command bun \
--build-arg run \
--build-arg buildhandoff never publishes. It invokes native shadcn without a shell, runs only
the explicit destination build command, and writes a digest-verifiable receipt. A successful receipt is install/build
evidence—not a claim of visual fidelity,
deployment, adoption, or product-market fit.
The repository also contains the optional browser editor, public/private registry API, component client commands, Compify MCP server, Storybook portability addon, and a hardened Docker Compose self-hosting baseline. See Product direction for the supported boundary and roadmap.
| Path | What | Stack |
|---|---|---|
apps/web |
Documentation and optional browser editor (preview bundler is operator-supplied) | Next.js 16, React 19, Tailwind |
apps/api |
REST API for components and registry artifacts | NestJS 11, TypeORM, PostgreSQL, MinIO |
packages/cli |
compify CLI, including static Storybook translation |
Bun, tsup |
packages/storybook |
Manager-only Storybook portability metadata addon | Storybook, React, tsup |
packages/compify-pack |
Vendored Sandpack fork used by the editor | React, rollup |
packages/templates |
Project templates | — |
- Documentation
- Storybook translation
- Compatibility matrix
- Ecosystem and cloud strategy
- Getting started
- CLI reference
- Publishing
- shadcn registry interop
- MCP and the official Storybook MCP
- Product-market-fit research
- Self-hosting
- OpenAPI reference
Each app is self-contained; there is no workspace hoisting. Bun 1.3.9 is the
only supported package manager, and each package commits its own bun.lock.
The production web image uses Next.js's supported runtime while dependencies
and scripts remain Bun-managed.
# frontend — http://localhost:3000
cd apps/web && bun install && bun run dev
# api — http://localhost:3009 (needs PostgreSQL + MinIO)
cd apps/api && bun install && bun run start:dev
# cli
cd packages/cli && bun install && bun run buildDocker Compose provides a reproducible local or single-server self-hosting baseline. The public repository does not promise a managed hosted deployment or contain production credentials, topology, or private deployment automation. Before exposing an installation, follow the security and production checklist in the self-hosting guide.
Original Compify code in repository states containing the current license
notice is licensed under AGPL-3.0-only. Organizations that need different
terms may ask about a separately signed commercial license. Earlier copies
validly received under MIT remain under that grant; published history is not
rewritten. The vendored compify-pack Sandpack derivative and other third-party
material retain their upstream terms.
See LICENSING.md, TRADEMARKS.md, THIRD_PARTY_NOTICES.md, and packages/compify-pack/PROVENANCE.md.