Package Exports
- @mindfiredigital/ignix-ui
- @mindfiredigital/ignix-ui/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@mindfiredigital/ignix-ui) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Ignix UI CLI
Command-line interface for managing and developing Ignix UI components.
Overview
The Ignix UI CLI provides a powerful set of tools for:
- Creating new components with proper structure and best practices
- Managing component dependencies
- Building and testing components
- Configuring project settings
- Automating development workflows
Installation
# Using pnpm (recommended)
pnpm add -D @ignix-ui/cli
# Using npm
npm install --save-dev @ignix-ui/cli
# Using yarn
yarn add -D @ignix-ui/cliCommands
Initialize Project
Sets up Ignix UI in your project:
pnpm ignix-ui init [options]
Options:
-y, --yes Skip confirmation promptsThis will:
- Add necessary dependencies
- Create configuration files
- Set up the component directory structure
- Configure build tools
Add Component
Add a new component to your project:
pnpm ignix-ui add [component-name] [options]
Arguments:
component-name Name of the component to add
Options:
--type <type> Component type (primitive/composite/layout/animation)
--path <path> Custom component pathThe command will:
- Create component directory structure
- Generate component files from templates
- Add necessary dependencies
- Update component registry
- Create documentation template
Component Templates
The CLI provides several component templates:
Primitive Components
Basic building blocks with minimal dependencies:
ComponentName/
├── index.tsx # Main component
├── index.types.ts # TypeScript types
├── useComponent.ts # Component hooks
└── config.ts # Tailwind configurationComposite Components
Complex components composed of primitives:
ComponentName/
├── index.tsx
├── index.types.ts
├── useComponent.ts
├── config.ts
└── components/ # Sub-components
├── Part1.tsx
└── Part2.tsxLayout Components
Structure and layout components:
ComponentName/
├── index.tsx
├── index.types.ts
├── useComponent.ts
└── config.tsAnimation Components
Animation-specific components:
ComponentName/
├── index.tsx
├── index.types.ts
├── useComponent.ts
├── config.ts
└── animations/ # Animation definitions
└── variants.tsConfiguration
Create an .ignixrc.js file in your project root:
module.exports = {
// Component settings
components: {
path: 'src/components',
types: ['primitive', 'composite', 'layout', 'animation'],
defaultType: 'primitive',
},
// Build configuration
build: {
target: 'es2019',
formats: ['esm', 'cjs'],
minify: true,
},
// Template settings
templates: {
// Custom template overrides
customTemplates: './templates',
// Default state management
useHooks: true,
useContext: false,
},
// Tailwind configuration
tailwind: {
configPath: './tailwind.config.js',
// Component-specific Tailwind settings
},
};Development Workflow
Initialize your project:
pnpm ignix-ui initAdd new components:
pnpm ignix-ui add Button --type primitive
Build components:
pnpm ignix-ui buildTest components:
pnpm ignix-ui test
Project Structure
cli/
├── src/
│ ├── commands/ # CLI commands
│ │ ├── init.ts # Project initialization
│ │ ├── add.ts # Component creation
│ │ └── build.ts # Build process
│ ├── templates/ # Component templates
│ ├── services/ # Core services
│ │ ├── component.ts # Component management
│ │ └── config.ts # Configuration
│ ├── utils/ # Helper utilities
│ └── types/ # TypeScript types
├── bin/ # Executable scripts
└── dist/ # Compiled outputContributing
See the main CONTRIBUTING.md for guidelines.
Development Setup
# Install dependencies
pnpm install
# Build CLI
pnpm build
# Run tests
pnpm test
# Watch mode
pnpm devLicense
MIT - See LICENSE for details.