A modern CLI tool for scaffolding and managing UI components across different component libraries. Generate, customize, and maintain your UI components with ease.
- 🚀 Quick component generation
- 📚 Support for multiple UI libraries
- 🔄 Auto-install dependencies
- 📦 Built-in component registry
- 🛠 TypeScript support
# Using npm
npm install -g @doffu/uigen
# Generate a new component
uigen add button
# Generate with specific options
uigen add -c button -l aceternity -o ./components/ui
# List available components
uigen list
# Show help
uigen help
# Show version
uigen --version
Options:
-c, --component <name> Component name
-l, --library <name> UI library (default: "shadcn")
-o, --outDir <path> Output directory
- Aceternity UI
- More coming soon...
your-project/
├── components/
│ └── ui/
│ ├── button/
│ │ ├── button.tsx
│ │ └── button.test.tsx
│ └── form/
│ ├── form.tsx
│ └── form.test.tsx
└── lib/
└── utils/
└── cn.ts
Create a uigen.config.js
file in your project root:
module.exports = {
outDir: './components/ui',
library: 'shadcn',
typescript: true,
test: true,
prettier: true,
registry: {
// Custom component registry
},
};
Contributions are welcome! Please read our Contributing Guide for details.
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
- Installing Dependencies
- Check if Src folder exists
- Test file generation
- Host component registry online (json)
- Add more UI libraries
- Component dependency management
- Interactive component customization
- Component documentation generator
- Component showcase generator
- Visual component editor
MIT © DoffuXx
- Inspired by shadcn/ui
- Built with Commander.js
- Uses TypeScript
Made with ❤️ by [DoffuXx]