shadcnify
v0.0.9
Published
CLI for publishing components to Shadcnify registries
Maintainers
Readme
Shadcnify CLI
A command-line interface for publishing components to Shadcnify registries. Select files from your project and publish them as a registry that can be installed with shadcn/ui.
Installation
For End Users
# Install globally
npm install -g shadcnify
# Or use npx (no installation needed)
npx shadcnifyThe CLI automatically downloads the correct binary for your platform (macOS, Linux, or Windows).
For Development
# Clone the repo
git clone https://github.com/martinsione/shadcnify.com
cd shadcnify.com/apps/cli
# Install dependencies
bun install
# Run in dev mode
bun run devHow It Works
- The CLI scans your current directory for files (respecting
.gitignore) - Use arrow keys to navigate, spacebar to select files
- Type to search/filter files with fuzzy matching
- Press Enter to publish selected files
- Get your registry URL and installation command
Building
To build the standalone executable for your current platform:
bun run buildThis creates a single binary at dist/shadcnify (~66MB) that includes the entire Bun runtime and all dependencies.
Note: Due to OpenTUI's native dependencies, you can only build for your current platform. Cross-compilation is not supported.
Configuration
Environment Variables
API_ENDPOINT- The API endpoint for registry creation- Default:
https://shadcnify.com/api/registry(production) - Development:
http://localhost:3000/api/registry
- Default:
To use a custom endpoint:
API_ENDPOINT=https://your-domain.com/api/registry ./dist/shadcnifyFeatures
- 📁 Automatic file discovery with gitignore support
- 🔍 Fuzzy search file filtering
- ⌨️ Keyboard-driven interface
- 🚀 Direct publishing to Shadcnify
- 📋 Get installation command instantly
Keyboard Shortcuts
↑/↓- Navigate filesSpace- Toggle file selectionEnter- Submit selected filesBackspace- Clear searchType- Search/filter filesCtrl+C- Exit
This project was created using bun create tui. create-tui is the easiest way to get started with OpenTUI.
