{"id":13902872,"url":"https://github.com/anis-marrouchi/shadxn","last_synced_at":"2025-04-05T20:04:18.229Z","repository":{"id":221596932,"uuid":"754826191","full_name":"anis-marrouchi/shadxn","owner":"anis-marrouchi","description":"A CLI for adding components (extended) to your project.","archived":false,"fork":false,"pushed_at":"2025-01-21T18:13:25.000Z","size":24858,"stargazers_count":82,"open_issues_count":0,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-29T19:05:36.470Z","etag":null,"topics":["cli","shadcn","shadcn-ui"],"latest_commit_sha":null,"homepage":"https://ui.shadxn.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anis-marrouchi.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-08T20:48:03.000Z","updated_at":"2025-01-31T10:35:14.000Z","dependencies_parsed_at":"2024-07-27T15:57:18.940Z","dependency_job_id":null,"html_url":"https://github.com/anis-marrouchi/shadxn","commit_stats":null,"previous_names":["anis-marrouchi/shadcn-cli"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anis-marrouchi%2Fshadxn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anis-marrouchi%2Fshadxn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anis-marrouchi%2Fshadxn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anis-marrouchi%2Fshadxn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anis-marrouchi","download_url":"https://codeload.github.com/anis-marrouchi/shadxn/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247393566,"owners_count":20931812,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","shadcn","shadcn-ui"],"created_at":"2024-08-06T22:01:28.676Z","updated_at":"2025-04-05T20:04:18.210Z","avatar_url":"https://github.com/anis-marrouchi.png","language":"TypeScript","funding_links":[],"categories":["cli","Tools \u0026 Utilities"],"sub_categories":[],"readme":"\n# shadxn\n[Getting Started](https://medium.com/@anis.marrouchi/revolutionizing-component-management-with-shadxn-73569fdfd0d6)\n\n`shadxn` is an experimental CLI tool that builds upon the foundation of the `shadcn-ui` CLI. It is designed to enhance your development workflow by allowing the integration of components and dependencies into your project. This tool introduces the flexibility of selecting component registries, enabling developers to add custom registries for personalized or public sharing of components. We extend our deepest gratitude to the `shadcn-ui` project and its contributors for their foundational work that made `shadxn` possible.\n\n## Acknowledgment \nThis project builds on top of the original `Shadcn UI` CLI. We are deeply grateful to `Shadcn` and all contributors to the `Shadcn UI` project for their pioneering work and for laying the groundwork that `shadxn` now builds upon.\n -  **Project:** Shadcn UI\n -  **Author:** [Shadcn](https://twitter.com/shadcn) \n -  **License:** MIT \n -  **Source:** [https://github.com/shadcn/ui](https://github.com/shadcn-ui/ui)\n\n## Features\n\n- **Custom Registry Support:** Initialize and manage custom registries to declare your own components.\n- **Enhanced `add` Command:** Add components from a selected registry, allowing for greater flexibility and customization.\n- **Project Initialization:** Initialize your project with default registries in `components.js`, preparing it for immediate development.\n- **Compatibility:** Extendable to various frameworks and libraries, `shadxn` is designed to fit into any development ecosystem.\n\n## Installation\n\n`shadxn` can be installed using various package managers or run directly with `npx` for immediate usage without global installation. Choose the method that best fits your workflow:\n\n### Using npm\n\n```bash\nnpm install -g shadxn\n```\n\nThis command installs `shadxn` globally on your machine, making it accessible from anywhere in your terminal.\n\n### Using Yarn\n\n```bash\nyarn global add shadxn\n```\n\nYarn users can also install `shadxn` globally, ensuring it's available from any terminal session.\n\n### Using pnpm\n\n```bash\npnpm add -g shadxn\n```\n\nFor those preferring `pnpm` for its efficient handling of node modules, this command will globally install `shadxn`.\n\n### Using Bun\n\n```bash\nbun add -g shadxn\n```\n\nIf you're using `Bun`, a modern JavaScript runtime, this command will globally install `shadxn` on your system.\n\n### Using npx (No Installation Required)\n\nFor a quick, one-time use, you can run `shadxn` directly with `npx` without needing to install it globally:\n\n```bash\nnpx shadxn [command]\n```\n\nThis method is particularly useful for running the latest version of `shadxn` without affecting your global package setup.\n\n## Usage\n\n```bash\nUsage: shadxn [options] [command]\n\nOptions:\n  -v, --version                  display the version number\n  -h, --help                     display help for command\n\nCommands:\n  init [options]                 initialize your project and install dependencies, adds default registries\n  add [options] [components...]  add components to your project from selected registries\n  diff [options] [component]     check for component updates against the registry\n  registry \u003caction\u003e [project]    manage the project's component registry\n  help [command]                 display help for command\n```\n\n### Commands in Detail\n\n- **init:** Sets up your project with essential dependencies and a default registry in `components.js` for components management.\n- **add:** Enhances the original `add` command to allow selection of a registry for component retrieval, streamlining the addition of components to your project.\n- **registry:** A new command to initialize and manage custom registries, supporting actions like `init` for registry setup and `build` for registry deployment.\n\n### Examples\n\n```bash\n# Initialize your project\nnpx shadxn@latest init\n\n# Add a component from a shadcn registry\nnpx shadxn@latest add button\n# Or add a component using a schema url\nnpx shadxn@latest add npx shadxn add \"https://www.prismui.tech/r/styles/default/expandable-card.json\"\n# Or add a v0 component\nnpx shadxn@latest add \"https://v0.dev/chat/b/b_ODuOFQMZViC\"\n\n\n# Or create and use your custom registry\n# 1. Create your custom registry\nnpx shadxn@latest registry init\n# Start adding your custom components and declare them within the registry/registry.tsx file\n# 2. Build your custom registry\nnpx shadxn@latest registry build\n\n# 3. Run your local registry or deploy to Vercel\npnpm run dev\n\n# 4. Activate your custom registry\nnpx shadxn@latest registry activate my-registry\n\n# 5. Add a component from your custom registry\nnpx shadxn@latest add your-component -r my-registry\n```\n\n## Documentation\n\nFor more detailed information and documentation, visit [https://ui.shadxn.com/docs/cli](https://ui.shadcn.com/docs/cli).\n\n## License\n\n`shadxn` is licensed under the [MIT license](https://github.com/anis-marrouchi/shadxn/blob/main/LICENSE.md).\n\n## Objective and Current State\n\nThe main objectives of `shadxn` are to:\n- Allow the addition of custom registries for tailored component management.\n- Provide an unopinionated tool that integrates into any workflow without restriction.\n- Enable the creation of custom registries for either internal use or public sharing.\n- Extend its utility across different frameworks and libraries, promoting versatility in development environments.\n\nAs an experimental project, `shadxn` is in active development, and contributions, feedback, and suggestions are welcome to enhance its capabilities and reach.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanis-marrouchi%2Fshadxn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanis-marrouchi%2Fshadxn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanis-marrouchi%2Fshadxn/lists"}