Shadxn
An experimental CLI tool, evolving from shadcn-ui, for enhanced component management using custom and public registries for flexible project integration.

Shadxn: Advanced CLI for Flexible Component Management
Shadxn is an experimental Command Line Interface, building upon the foundational shadcn-ui CLI, designed to revolutionize your component workflow. It empowers developers by allowing the integration of components and dependencies with enhanced flexibility through custom registry support. This enables personalized or public sharing of component libraries, fitting seamlessly into diverse development ecosystems and streamlining the process of adding and managing UI elements in your projects.
Features:
- Custom Registry Support: Enables the creation, management, building, and activation of bespoke component registries for private or public component sharing.
- Flexible Component Addition: The enhanced
addcommand supports fetching components from chosen registries (e.g., shadcn, custom), directly via schema URLs, or from v0.dev links. - Streamlined Project Setup: The
initcommand prepares your project by installing necessary dependencies and configuring default registries incomponents.js. - Component Version Tracking: Utilize the
diffcommand to compare local components against their registry versions to check for updates. - Broad Ecosystem Compatibility: Designed for adaptability,
shadxnaims to be extendable across various frameworks and libraries. - Versatile Installation Options: Install globally using npm, Yarn, pnpm, or Bun, or execute directly via npx without needing a global installation.
- Comprehensive Command Suite: Offers
init,add,diff, andregistrycommands, each with detailed help and options for robust project interaction. - Registry Management Capabilities: Includes specific
registrysubcommands likeinitfor setup,buildfor deployment, andactivatefor switching registries.
Summary:
Shadxn provides a powerful CLI tool that extends the capabilities of shadcn-ui, focusing on giving developers greater control and flexibility over component integration. It facilitates the use of custom component registries, offers an enhanced add command for versatile component sourcing, and includes utilities for project initialization and component updates. This tool aims to be an unopinionated, adaptable solution for managing UI components across various development environments, fostering a more personalized workflow.