1.0.0 ⢠Published 10 months ago
awesome-ui-cli v1.0.0
Awesome UI Library
A modern, accessible UI component library with CLI tools for easy component management and installation.
š Features
- š¦ Ready-to-use React components
- šØ Tailwind CSS for styling
- š ļø CLI tool for component management
- š Storybook documentation
- šÆ TypeScript support
- šØ Customizable components with Class Variance Authority
š Prerequisites
- Node.js >= 18.0.0
- npm
š§ Installation
# Install the CLI tool globally
npm install -g awesome-ui-cli
# Or use it directly with npx
npx awesome-ui-cli
šÆ Usage
Installing Components
# Install a specific component
awesome-ui-cli add button
Available Scripts
# Start the development server
npm run start
# Build the library
npm run build
# Run Storybook
npm run storybook
# Build Storybook
npm run build-storybook
š¤ Contributing
We love your input! We want to make contributing to Awesome UI as easy and transparent as possible.
Project Structure
src/
āāā templates/ # Component templates for CLI
ā āāā components/ # Component template files
āāā stories/ # Storybook stories
āāā Cli/ # CLI implementation
Adding a New Component
Create Component Template Add your component template files in
src/templates/components/[ComponentName]/
:src/templates/components/[ComponentName]/ āāā index.ts # Main export file āāā [ComponentName].tsx # Component implementation
Create Storybook Story Add your story in
src/stories/
:src/stories/ āāā [ComponentName].stories.tsx # Storybook story
Component Implementation Requirements
- Use TypeScript for type safety
- Implement proper accessibility features
- Use Tailwind CSS for styling
- Use Class Variance Authority for variants
- Include proper JSDoc documentation
- Add proper prop types and interfaces
Register Component in CLI Add your component to the CLI registry in
src/Cli/registry.ts
:export const componentRegistry = { button: { name: "Button", dependencies: ["class-variance-authority"], templatePath: "src/templates/components/Button", files: ["Button.tsx", "index.ts"], }, // Add your new component here };
Testing Requirements
- Test all variants and props
- Ensure responsive behavior
Documentation
- Include usage examples
- Document all props and variants
Pull Request Process
- clone the repository
- Create a new branch (
git checkout -b feature/component-name
) - Make your changes
- Update documentation
- Submit a pull request
š License
MIT License - see the LICENSE file for details
š„ Authors
- Shehab Mohsen Mahmoud - GitHub
š Acknowledgments
- Thanks to all contributors
- Built with Radix UI
- Inspired by shadcn/ui
- Styled with Tailwind CSS
1.0.0
10 months ago