JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 336
  • Score
    100M100P100Q96323F
  • License MIT

CLI tool for the Ignix UI component library

Package Exports

    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-cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    Ignix CLI

    NPM Version License PRs Welcome

    The Ignix CLI is a powerful command-line tool that helps you quickly scaffold, manage, and interact with Ignix components and themes in your projects. It provides both interactive and command-based interfaces for seamless development.

    Installation

    Install the CLI globally using npm or yarn:

    npm install -g @mindfiredigital/ignix-cli

    Or use it directly with npx:

    npx @mindfiredigital/ignix-cli

    Usage Modes

    Interactive Mode

    Simply run ignix without any arguments to enter interactive mode:

    ignix

    The interactive mode provides a beautiful, guided interface with the following options:

    • 🚀 Initialize Ignix UI - Set up your project
    • Add components - Add components to your project
    • 📋 List components - View available components
    • 🎨 Manage themes - Configure and manage themes
    • 🚪 Exit - Close the CLI

    Command Mode

    Run specific commands directly:

    ignix <command> [options]

    Commands

    ignix init

    Initialize Ignix UI in your project. This command sets up the necessary configuration and directory structure.

    ignix init

    What it does:

    • Creates an ignix.config.js configuration file
    • Sets up the components directory structure
    • Creates utility files (e.g., utils/cn.ts for className utilities)
    • Installs required dependencies

    Interactive prompts:

    • Project framework selection
    • Components directory path
    • Styling preferences
    • Additional configuration options

    ignix add

    Add components or themes to your project from the Ignix UI registry.

    Add Components

    ignix add component <component-names...>

    Examples:

    # Add a single component
    ignix add component button
    
    # Add multiple components
    ignix add component button card modal input
    
    # Interactive mode - prompts for component selection
    ignix add component

    What it does:

    • Fetches component files from the registry
    • Creates a dedicated folder for each component
    • Writes component files to your components directory
    • Handles dependencies automatically

    Add Themes

    ignix add theme <theme-name>

    Example:

    ignix add theme dark

    ignix list

    List all available components or themes from the Ignix UI registry.

    List Components

    ignix list component

    Output:

    • Component name
    • Description
    • Available variants

    List Themes

    ignix list theme

    Output:

    • Theme name
    • Description
    • Color palette information

    ignix themes

    Manage and configure themes for your project.

    ignix themes

    Features:

    • View installed themes
    • Switch between themes
    • Customize theme variables
    • Export theme configurations

    Configuration

    The CLI uses an ignix.config.js file in your project root for configuration.

    Example Configuration

    /* eslint-env node */
    /** @type {import('@mindfiredigital/ignix-cli').IgnixConfig} */
    module.exports = {
      // URL to the raw registry.json file on GitHub
      registryUrl:
        'https://raw.githubusercontent.com/mindfiredigital/ignix-ui/main/packages/registry/registry.json',
    
      // URL to the raw themes.json file on GitHub
      themeUrl:
        'https://raw.githubusercontent.com/mindfiredigital/ignix-ui/main/packages/registry/themes.json',
    
      // Default directory for UI components
      componentsDir: 'src/components/ui',
    
      // Template directory for Layouts
      templateDir: 'src/components/templates',
    
      // Your other configuration options...
    };

    Contributing

    We welcome contributions! Please see our contributing guidelines for more information.

    License

    This project is licensed under the MIT License - see the LICENSE file for details.