A powerful command-line interface tool for managing and integrating UI components from both GitHub and MongoDB sources, built for Next.js projects.
- Interactive component selection and management
- Support for both TypeScript and JavaScript components
- Advanced component search functionality
- Custom naming and organization support
- Example file integration with live previews
- MongoDB component integration
- Automatic TypeScript to JavaScript conversion
- Project-specific configuration
- Next.js 14+ compatibility
- Tailwind CSS support out of the box
npm i -g multi-ui-cliBefore using the CLI, set up your project preferences:
npx multi-ui setupThis command will:
- Install necessary dependencies (including Tailwind CSS and required Babel presets)
- Configure your preferred language (TypeScript/JavaScript)
- Set up the component directory structure
- Create a configuration file (
multi-ui.config.json) - Add required Next.js configurations
npx multi-ui listDisplays all available components with:
- Component categories and total count
- Number of variants per component
- Hierarchical view with search filters
- Component metadata and dependencies
npx multi-ui interactiveProvides an interactive UI for:
- Component browsing and selection
- Variant preview and selection
- Custom naming options
- Example file integration
- Dependency management
npx multi-ui search <term>Advanced search features:
- Case-insensitive searching
- Fuzzy matching support
- Tag-based filtering
- Category-based organization
npx multi-ui add <ComponentName> [customFilename]Example:
npx multi-ui add Accordion_1
npx multi-ui add Accordion_1 MyCustomAccordionnpx multi-ui add <ComponentID> [customFilename]Example:
npx multi-ui add 67ebe9ea02982b02d0ffc9d8
npx multi-ui add 67ebe9ea02982b02d0ffc9d8 CustomComponentnpx multi-ui add <ComponentName> --example [customFilename]npx multi-ui remove <ComponentName>npx multi-ui --version # or -v
npx multi-ui --help # or -hThe CLI integrates with Next.js projects following this structure:
your-project/
βββ app/
β βββ components/
β β βββ multi-ui/
β β β βββ [ComponentName]/
β β β β βββ index.tsx
β β β β βββ examples/
β β β β βββ Example_1.tsx
β β β βββ ...
β β βββ ...
β βββ ...
βββ public/
β βββ multi-ui/
β βββ assets/
βββ multi-ui.config.json
βββ package.json
The multi-ui.config.json configuration:
{
"language": "typescript",
"componentPath": "app/components/multi-ui",
"examplesPath": "examples",
"framework": "next",
"styling": "tailwind",
"typescript": {
"strict": true
}
}- Full type safety and IntelliSense support
.tsxextension for components- Type definitions included
- Automatic TypeScript conversion
.jsxextension for components- Babel configuration included
| Option | Description |
|---|---|
--example |
Include example files |
--force |
Override existing files |
--dry-run |
Preview changes without applying |
--template |
Use custom template |
--help |
Show help information |
--version |
Show version information |
- Secure MongoDB connections with environment variables
- API key management through
.envfiles - Protected file system operations
- Dependency vulnerability scanning
Common issues and solutions:
-
Setup Issues
- Run
npx multi-ui doctorfor diagnostics - Verify Node.js version (16+ required)
- Check project permissions
- Run
-
Component Integration
- Ensure correct Next.js configuration
- Verify Tailwind CSS setup
- Check component dependencies
-
MongoDB Connection
- Verify connection string in
.env - Check network connectivity
- Validate database access
- Verify connection string in
MIT License - see LICENSE file for details
We welcome contributions! Please see our CONTRIBUTING.md for guidelines.
- GitHub Issues: Report bugs
- Documentation: Full docs
- Discord: Join our community
This is a Next.js project bootstrapped with create-next-app.
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.js. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.