{
  "markdown": "\n## Ignite UI CLI\n\n<!-- Badges section here. -->\n![Node.js CI](https://github.com/IgniteUI/igniteui-cli/workflows/Node.js%20CI/badge.svg)\n[![Coverage Status](https://coveralls.io/repos/github/IgniteUI/igniteui-cli/badge.svg)](https://coveralls.io/github/IgniteUI/igniteui-cli)\n[![npm version](https://badge.fury.io/js/igniteui-cli.svg)](https://badge.fury.io/js/igniteui-cli)\n[![Discord](https://img.shields.io/discord/836634487483269200?logo=discord&logoColor=ffffff)](https://discord.gg/39MjrTRqds)\n\nQuickly create projects, including [Ignite UI for Angular](https://www.infragistics.com/products/ignite-ui-angular) and [Ignite UI for Web Components](https://www.infragistics.com/products/ignite-ui-web-components), for a variety of frameworks.\n\n## Overview\n### Features:\n- Create project structure\n- Add views with Ignite UI components (e.g. Combo, Grid or Chart)\n- Add scenario based templates with multiple components (e.g. a dashboard)\n- Build and install npm packages\n- Select a theme, support for custom themes coming soon\n- Step by step guide\n\n### Supported frameworks\n * Angular\n * React\n * Web Components\n * Blazor\n * jQuery\n\n### Prerequisites\nThe repository houses multiple packages and orchestrates building and publishing them with [lerna](https://github.com/lerna/lerna) and [yarn workspaces](https://yarnpkg.com/lang/en/docs/workspaces/).\n\nIn order to build the repository locally, you need to have `yarn` installed on your machine.\nFor installation instructions, please visit their [official page](https://yarnpkg.com/lang/en/docs/install/)\n\n### Packages\nThis monorepo contains several packages that combine into the `igniteui-cli`:\n\n| Package | Description | Location |\n|-----|-----|-----|\n| [@igniteui/cli-core](https://www.npmjs.com/package/@igniteui/cli-core) | Contains the core functionality of the cli tool | [packages/core](./packages/core) |\n| [@igniteui/angular-templates](https://www.npmjs.com/package/@igniteui/angular-templates) | Contains the template definitions for Angular components | [packages/igx-templates](./packages/igx-templates) |\n| [@igniteui/angular-schematics](https://www.npmjs.com/package/@igniteui/angular-schematics) | IgniteUI CLI implementation to be used with Angular CLI's schematics engine | [packages/ng-schematics](./packages/ng-schematics) |\n| [igniteui-cli](https://www.npmjs.com/package/igniteui-cli) | Standalone IgniteUI CLI tool for React, Blazor, Angular, jQuery and Web Components | [packages/cli](./packages/cli) |\n| [@igniteui/mcp-server](https://www.npmjs.com/package/@igniteui/mcp-server) | MCP server providing AI assistants with Ignite UI documentation and API reference | [packages/igniteui-mcp/igniteui-doc-mcp](./packages/igniteui-mcp/igniteui-doc-mcp) |\n\n## Table of Contents\n\n* [Installation](#installation)\n* [Usage](#usage)\n  * [Step by step](#step-by-step)\n  * [List available commands](#list-the-available-commands)\n  * [Generating Projects and adding components](#generating-projects-and-adding-components)\n  \t* [Generate Ignite UI for Angular project](#generate-ignite-ui-for-angular-project)\n\t* [Generate Ignite UI for React project](#generate-ignite-ui-for-react-project)\n\t* [Adding components](#adding-components)\n  * [Build and run](#build-and-run)\n* [Configure AI Tooling](#configure-ai-tooling)\n* [MCP Server](#mcp-server)\n  * [Using with AI Assistants](#using-with-ai-assistants)\n  * [Testing with MCP Inspector](#testing-with-mcp-inspector)\n* [Schematics](#schematics)\n  * [Schematic Definitions](#schematic-definitions)\n* [Contribution](#contribution)\n\n## Installation\n\nInstall the npm package as a global module:\n\n```bash\nnpm install -g igniteui-cli\n```\n\n## Usage\nThe main entry point is `igniteui` and is also aliased as `ig`. Both can be used interchangeably to call available commands. Check out our [Wiki documentation](https://github.com/IgniteUI/igniteui-cli/wiki) for more details.\n\n### Step by step\nTo get a guided experience through the available options, simply run:\n\n```bash\nig\n```\n![](assets/igniteui-cli.gif)\n\n\nUpon creation, project will be automatically loaded in the default browser.\n**NOTE**: If that doesn't happen the port may be already in use. Ports vary for different project types, see the description for the [`ig start`](https://github.com/IgniteUI/igniteui-cli/wiki/Start) command for details on default ports.\n\n\n### List the available commands.\n\n```bash\nig help\n```\n### Generating projects and adding components\n\nCreate a new project passing name, framework and style theme.\n```bash\nig new <project name> --framework=<framework> --type=<proj-type> --theme=<theme>\n```\nThis will create the project and will install the needed dependencies.\n\nParameters besides name are optional. Framework defaults to \"angular\", project type defaults to the first available in the framework and theme to the first available for the project. For more information visit [ig new](https://github.com/IgniteUI/igniteui-cli/wiki/New) Wiki page.\n\n#### Generate Ignite UI for Angular project\n\nTo create a new project with Ignite UI for Angular use [ig new](https://github.com/IgniteUI/igniteui-cli/wiki/New#creating-ignite-ui-for-angular-applications) by specifying `angular` as framework, and optionally `igx-ts` as project type and selecting one of the [project templates](https://github.com/IgniteUI/igniteui-cli/wiki/New#arguments):\n```bash\nig new \"IG Project\" --framework=angular --type=igx-ts --template=side-nav\n```\n#### Generate Ignite UI for React project\n\nTo create a new project with Ignite UI for React use [ig new](https://github.com/IgniteUI/igniteui-cli/wiki/New#creating-ignite-ui-for-react-applications-v400) by specifying `react` as framework and `igr-ts` as project type:\n```bash\nig new \"IG Project\" --framework=react --type=igr-ts\n```\n#### Generate Ignite UI for Web Components project\n\nTo create a new project with Ignite UI for Web Components use [ig new](https://github.com/IgniteUI/igniteui-cli/wiki/New#creating-ignite-ui-for-web-components-applications) by specifying `webcomponents` as framework:\n```bash\nig new \"IG Project\" --framework=webcomponents\n```\n\n#### Adding components\nOnce you have created a project, at any point you can add additional component templates using [ig add](https://github.com/IgniteUI/igniteui-cli/wiki/Add). Running the command without parameters will guide you through the available templates:\n\n```bash\nig add\n```\nAdd a new component or template to the project passing component ID and choosing a name.\n\n```bash\nig add <component/template> <component_name>\n```\n\nThe ID matches either a component (\"grid\", \"combo\", \"text-editor\", etc) or a predefined template. Predefined templates are framework/project specific and can provide predefined views with either multiple components or fulfilling a specific use case like \"form-validation\", \"master-detail\" and so on.\n\nFor full list of supported templates in the current project you can simply run [ig list](https://github.com/IgniteUI/igniteui-cli/wiki/List) command:\n```bash\nig list\n```\n\n### Build and run\n```bash\nig build\nig start\n```\n\n## Configure AI Tooling\n\nIgnite UI provides rich [AI assisted development toolchain](https://www.infragistics.com/ai-assisted-app-development). To configure Ignite UI AI tooling — MCP servers and AI coding skills — run:\n\n```bash\nig ai-config\n```\n\nYou will be prompted with two selections:\n- **AI agents** — which tools to generate skill and instruction files for (Generic and Claude are selected by default)\n- **Coding assistants** — which assistants to configure MCP servers for (general `.mcp.json` is selected by default, compatible with Claude Code, VS Code, and others)\n\nYou can also pass options directly:\n\n```bash\nig ai-config --agents claude copilot generic --assistants vscode cursor\n```\n\nThis creates or updates the assistant-specific MCP config file (e.g. `.mcp.json`, `.vscode/mcp.json`, `.cursor/mcp.json`) with entries for the [Ignite UI MCP](#mcp-server) and `igniteui-theming` MCP servers (existing servers are preserved), copies AI coding skill files from installed Ignite UI packages, and generates agent-specific instruction files (e.g. `CLAUDE.md`, `AGENTS.md`).\n\nThe `ig new` command also prompts for AI tool configuration as part of project creation.\n\n## MCP Server\n\nThe CLI includes a bundled [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) server that provides AI assistants with Ignite UI documentation search, API reference lookup, and scaffolding guidance for Angular, React, Blazor, and Web Components.\n\nStart the MCP server:\n```bash\nig mcp\n```\n\nThe server runs over stdio and supports the following options:\n```bash\nig mcp --remote <url>   # Use a remote backend instead of the local SQLite database\nig mcp --debug          # Enable debug logging to mcp-server.log\n```\n\n### Using with AI Assistants\n\nFor VS Code, the `ig ai-config` command handles configuration automatically (see above). For other MCP clients (e.g., Claude Desktop, Cursor), configure them manually:\n\n```json\n{\n  \"mcpServers\": {\n    \"igniteui-cli\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"igniteui-cli\", \"mcp\"]\n    },\n    \"igniteui-theming\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"igniteui-theming\", \"igniteui-theming-mcp\"]\n    }\n  }\n}\n```\n\nThe MCP server exposes the following tools to AI assistants:\n\n| Tool | Description |\n|------|-------------|\n| `list_components` | List available Ignite UI component docs. Filter by framework and optional keyword match against filename, component name, keywords, or summary. |\n| `get_doc` | Return the full markdown content of a specific component doc by name (e.g., `grid-editing`, `accordion`). |\n| `search_docs` | Full-text search across Ignite UI docs for a specific framework. Supports prefix matching (e.g., `grid*`). |\n| `search_api` | Search Ignite UI API entries by keyword, feature name, or partial component name. |\n| `get_api_reference` | Return the full API reference for a specific Ignite UI component or class by exact name. |\n| `get_project_setup_guide` | Returns setup guides for creating a new Ignite UI project. For Angular/React/Web Components: CLI scaffolding instructions. For Blazor: `dotnet new` + NuGet setup guide. |\n\n### Testing with MCP Inspector\n\nTo interactively test and debug the MCP server tools:\n```bash\nnpx @modelcontextprotocol/inspector ig mcp\n```\n\n## Schematics\nYou can also add `Ignite UI for Angular` components to your projects by using the `igniteui/angular-schematics` package. It included schematic definitions for most of the logic present in the [`igniteui-cli`](/packages/cli). These can be called in any existing Angular project or even when creating one. You can learn more about the schematics package on from its [readme](/package/ng-schematics).\n\n## Contribution\n\nSee the [Contribution guide](https://github.com/IgniteUI/igniteui-cli/blob/master/.github/CONTRIBUTING.md) to get started.\n\n### Run locally\n1. Clone the repository\n2. Install dependencies with `yarn install`\n3. Build the MCP server and bundle it into the CLI:\n    ```bash\n    cd packages/igniteui-mcp/igniteui-doc-mcp\n    npm install\n    npm run build\n    cd ../../..\n    npm run build:mcp\n    ```\n4. Build the monorepo packages: `npm run build`\n5. Open in Visual Studio Code\n    \n    There is a predefined launch.config file for VS Code in the root folder, so you can use VS Code View/Debug window and choose one of the predefined actions. These include launching the step by step guide, create new project for a particular framework or add components.\n\n6. Hit Start Debugging/F5\n\n#### Template smoke test\n\n`scripts/smoke-test.sh` drives the locally built CLI end to end: it scaffolds a project, adds\nevery component template into it, installs, and builds. The Jasmine specs under `spec/` stub out\n`PackageManager.installPackages`, so they verify that files land on disk but never that the result\ninstalls or compiles — this script covers that gap.\n\n```bash\nnpm run build                 # required: the script runs your local build, not the published CLI\nscripts/smoke-test.sh         # angular, react and webcomponents (~20-30 min)\n```\n\nOptions:\n\n| Option | Meaning |\n|---|---|\n| `-f, --frameworks LIST` | comma separated; default `angular,react,webcomponents` |\n| `-p, --project ID` | project template to scaffold (default: the framework's own default) |\n| `--all-projects` | scaffold and build every project template, skip component adds |\n| `--templates LIST` | only these component template ids — the fast path when iterating |\n| `--isolate` | one project per component template; slow, use to bisect a failure |\n| `--skip-build` | scaffold and add only |\n| `--keep` | keep the generated projects even when everything passes |\n| `-o, --out DIR` | work directory (default `output/smoke`, which is gitignored) — **wiped on each run**, see below |\n| `-j, --jobs N` | frameworks to run in parallel (default 1) |\n\n```bash\nscripts/smoke-test.sh -f angular --templates grid,combo    # quick check, ~2 min\nscripts/smoke-test.sh -f angular --all-projects            # every Angular project template\nscripts/smoke-test.sh -f webcomponents --isolate           # bisect which template broke\n```\n\nPer-step logs land in `<out>/logs/`, and `<out>/results.tsv` is a machine-readable\n`framework / step / template / status / seconds` table. The script exits non-zero if any step\nfailed and prints a summary of the failures.\n\nThe work directory is deleted and recreated on every run, so the script refuses to touch anything\nit cannot show is its own: the filesystem root, your home directory, the repository or any directory\ncontaining it, and any non-empty directory that lacks either the `.smoke-test-workdir` sentinel it\ndrops or the `results.tsv` of an earlier run. Point `--out` elsewhere, or remove the directory\nyourself, if you hit that.\n\nTwo things to know if you modify it:\n\n* **All `ig` calls must happen before `npm install`.** `packages/cli/bin/execute.js` delegates to\n  `node_modules/igniteui-cli` whenever one resolves inside the current directory, and every project\n  template lists `igniteui-cli` as a devDependency — so once a generated project has been installed,\n  `ig add` silently switches to the *published* CLI and its bundled templates. Scaffolding with\n  `--skip-install` keeps `PackageManager.queuePackage` from spawning installs, so dependencies are\n  written to `package.json` and installed once at the end.\n* **Exit codes are not sufficient.** `Util.error` logs and returns without setting one, so\n  `ig add does-not-exist x` exits 0. Each step is judged on its exit code *and* an error scan of its\n  log *and* an artifact check.\n\njQuery and Blazor are opt-in via `-f`. jQuery has no build script and 13 of its templates pull\n`ignite-ui-full` from the Infragistics ProGet feed, which needs credentials; Blazor needs the .NET\nSDK and has no component templates, so only `dotnet build` runs.\n\n#### MCP Server development\n\nThe MCP server at `packages/igniteui-mcp/igniteui-doc-mcp` has its own build pipeline, separate from the monorepo. It uses ESM (ES2022, Node16 modules) while the rest of the monorepo uses CommonJS. See [DEVELOPMENT.md](./packages/igniteui-mcp/igniteui-doc-mcp/DEVELOPMENT.md) for the full MCP server development guide.\n\n**Build the MCP server:**\n```bash\ncd packages/igniteui-mcp/igniteui-doc-mcp\nnpm install          # Install MCP-specific dependencies (separate from yarn workspaces)\nnpm run build        # Compile TypeScript + copy SQLite DB to dist/\n```\n\n**Build API reference documentation:**\n\nThe MCP server includes API reference docs for Angular, React, and Web Components. Angular and Web Components docs are generated from framework submodules via TypeDoc (submodules are auto-initialized by the build scripts). React uses a pre-built TypeDoc JSON model checked into git.\n\n```bash\ncd packages/igniteui-mcp/igniteui-doc-mcp\nnpm run build:docs:angular         # Angular: init submodule → TypeDoc → markdown + index.json\nnpm run build:docs:webcomponents   # Web Components: init submodule → build lib → TypeDoc → markdown + index.json\nnpm run build:docs:all             # Build both\n```\n\n> **Note:** Web Components requires a one-time library build (`npm run build:publish` in the submodule) before TypeDoc can run. The build script handles this automatically.\n\n**Build MCP server** (from the repo root):\n```bash\nnpm run build:mcp    # Compiles MCP server TypeScript and copies SQLite DB into dist/\n```\n\n**Test the MCP server locally:**\n```bash\nnpm run build:mcp\nnpm run build\nnode packages/cli/lib/cli.js mcp          # Start via CLI\n# or directly:\nnode packages/cli/mcp/dist/index.js       # Start the bundled server\n```\n\n#### Building CLI package with bundled MCP server\n\nThe CLI package includes the MCP server as a bundled build artifact (not an npm dependency). To produce a complete CLI package with full MCP functionality, follow these steps:\n\n```bash\n# 1. Install monorepo dependencies\nyarn install\n\n# 2. Build the MCP server\ncd packages/igniteui-mcp/igniteui-doc-mcp\nnpm install\nnpm run build                              # Compile TypeScript + copy SQLite DB\n\n# 3. Build API reference docs (optional but recommended for full functionality)\nnpm run build:docs:all                     # Init submodules + generate Angular + WC API docs via TypeDoc\n\n# 4. Bundle MCP into CLI (from repo root)\ncd ../../..\nnpm run build:mcp                      # Build MCP server\n\n# 5. Build all packages for publishing\nnpm run build-pack\n```\n\nAfter step 5, `npm pack` from the repo root or `packages/cli/` will produce a tarball with the MCP server, documentation database, and API reference docs all included.\n\n> **Skipping API docs:** If you skip step 3, the MCP server will still work for `list_components`, `get_doc`, `search_docs`, and `get_project_setup_guide` tools using the bundled SQLite database. Only the `get_api_reference` and `search_api` tools require API docs.\n\n## Data Collection\n\nThe Ignite UI CLI tool uses Google Analytics to anonymously report feature usage statistics and basic crash reports. This data is used to help improve the Ignite UI CLI tools over time. You can opt out of analytics before any data is sent by using\n\n```bach\nig config set disableAnalytics true -g\n```\n\nwhen using the CLI. You can read Infragistics privacy policy at https://www.infragistics.com/legal/privacy.\n\n",
  "bytes": 18261,
  "sha": "a6bfe5e610165595aa0fc0f6544815b85926829cbfe5bb82a50413fdc8f7560e",
  "repo_slug": "igniteui/igniteui-cli",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_igniteui_mcp_server_e0e88eeb/readme"
}