igniteui-cli 15.0.0-rc.2 → 15.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/lib/commands/ai-config.d.ts +1 -2
  2. package/lib/commands/ai-config.js +4 -64
  3. package/lib/templates/IgniteUIForReactTemplate.d.ts +1 -0
  4. package/lib/templates/IgniteUIForReactTemplate.js +1 -0
  5. package/lib/templates/IgniteUIForWebComponentsTemplate.d.ts +1 -0
  6. package/lib/templates/IgniteUIForWebComponentsTemplate.js +1 -0
  7. package/lib/templates/jQueryTemplate.d.ts +1 -0
  8. package/lib/templates/jQueryTemplate.js +1 -0
  9. package/package.json +4 -4
  10. package/templates/jquery/js/projects/empty/index.js +1 -0
  11. package/templates/react/igr-ts/grid/basic/index.js +1 -1
  12. package/templates/react/igr-ts/projects/_base/files/__dot__claude/skills/igniteui-react-components/SKILL.md +23 -3
  13. package/templates/react/igr-ts/projects/_base/files/__dot__vscode/mcp.json +1 -1
  14. package/templates/react/igr-ts/projects/_base/files/package.json +1 -1
  15. package/templates/react/igr-ts/projects/_base/index.d.ts +1 -0
  16. package/templates/react/igr-ts/projects/_base/index.js +1 -0
  17. package/templates/react/igr-ts/projects/_base_with_home/index.d.ts +1 -0
  18. package/templates/react/igr-ts/projects/_base_with_home/index.js +1 -0
  19. package/templates/react/igr-ts/projects/base/index.d.ts +1 -0
  20. package/templates/react/igr-ts/projects/base/index.js +1 -0
  21. package/templates/react/igr-ts/projects/empty/index.d.ts +1 -0
  22. package/templates/react/igr-ts/projects/empty/index.js +1 -0
  23. package/templates/react/igr-ts/projects/top-nav/index.d.ts +1 -0
  24. package/templates/react/igr-ts/projects/top-nav/index.js +1 -0
  25. package/templates/webcomponents/igc-ts/card/default/files/src/app/__path__/__filePrefix__.ts +7 -5
  26. package/templates/webcomponents/igc-ts/dock-manager/default/files/src/app/__path__/__filePrefix__.ts +1 -1
  27. package/templates/webcomponents/igc-ts/grid/default/files/src/app/__path__/__filePrefix__.ts +1 -1
  28. package/templates/webcomponents/igc-ts/grid/grid-editing/files/src/app/__path__/__filePrefix__.ts +1 -1
  29. package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/README.md +3 -0
  30. package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-choose-components/SKILL.md +27 -0
  31. package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-generate-from-image-design/SKILL.md +228 -0
  32. package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-generate-from-image-design/references/component-mapping.md +130 -0
  33. package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-generate-from-image-design/references/gotchas.md +147 -0
  34. package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-integrate-with-framework/SKILL.md +22 -1
  35. package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-integrate-with-framework/references/angular.md +2 -0
  36. package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-integrate-with-framework/references/react.md +2 -0
  37. package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-integrate-with-framework/references/vanilla-js.md +2 -0
  38. package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-integrate-with-framework/references/vue.md +2 -0
  39. package/templates/webcomponents/igc-ts/projects/_base/files/__dot__vscode/mcp.json +1 -1
  40. package/templates/webcomponents/igc-ts/projects/_base/files/eslint.config.js +5 -3
  41. package/templates/webcomponents/igc-ts/projects/_base/files/index.html +1 -1
  42. package/templates/webcomponents/igc-ts/projects/_base/files/package.json +7 -22
  43. package/templates/webcomponents/igc-ts/projects/_base/files/src/app/app-routing.ts +1 -1
  44. package/templates/webcomponents/igc-ts/projects/_base/files/tsconfig.json +22 -29
  45. package/templates/webcomponents/igc-ts/projects/_base/files/vite.config.ts +3 -4
  46. package/templates/webcomponents/igc-ts/projects/_base/index.d.ts +1 -0
  47. package/templates/webcomponents/igc-ts/projects/_base/index.js +1 -0
  48. package/templates/webcomponents/igc-ts/projects/_base_with_home/files/index.html +1 -1
  49. package/templates/webcomponents/igc-ts/projects/_base_with_home/files/package.json +7 -22
  50. package/templates/webcomponents/igc-ts/projects/_base_with_home/files/src/app/app-routing.ts +1 -1
  51. package/templates/webcomponents/igc-ts/projects/_base_with_home/index.d.ts +1 -0
  52. package/templates/webcomponents/igc-ts/projects/_base_with_home/index.js +1 -0
  53. package/templates/webcomponents/igc-ts/projects/base/index.d.ts +1 -0
  54. package/templates/webcomponents/igc-ts/projects/base/index.js +1 -0
  55. package/templates/webcomponents/igc-ts/projects/empty/index.d.ts +1 -0
  56. package/templates/webcomponents/igc-ts/projects/empty/index.js +1 -0
  57. package/templates/webcomponents/igc-ts/projects/side-nav/files/src/app/app.ts +11 -8
  58. package/templates/webcomponents/igc-ts/projects/side-nav/index.d.ts +1 -0
  59. package/templates/webcomponents/igc-ts/projects/side-nav/index.js +1 -0
  60. package/templates/webcomponents/igc-ts/projects/_base/files/tsconfig.test.json +0 -14
@@ -1,6 +1,5 @@
1
- import { IFileSystem } from "@igniteui/cli-core";
2
1
  import { CommandModule } from "yargs";
3
- export declare function configureMCP(fileSystem?: IFileSystem): void;
2
+ export declare function configureMCP(): void;
4
3
  export declare function configureSkills(): void;
5
4
  export declare function configure(skills?: boolean): void;
6
5
  declare const command: CommandModule;
@@ -1,27 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -36,50 +13,13 @@ exports.configureMCP = configureMCP;
36
13
  exports.configureSkills = configureSkills;
37
14
  exports.configure = configure;
38
15
  const cli_core_1 = require("@igniteui/cli-core");
39
- const path = __importStar(require("path"));
40
- const IGNITEUI_SERVER_KEY = "igniteui-cli";
41
- const IGNITEUI_THEMING_SERVER_KEY = "igniteui-theming";
42
- const igniteuiServer = {
43
- command: "npx",
44
- args: ["-y", "igniteui-cli@next", "mcp"]
45
- };
46
- const igniteuiThemingServer = {
47
- command: "npx",
48
- args: ["-y", "igniteui-theming", "igniteui-theming-mcp"]
49
- };
50
- function getConfigPath() {
51
- return path.join(process.cwd(), ".vscode", "mcp.json");
52
- }
53
- function readJson(filePath, fallback, fileSystem) {
54
- try {
55
- return JSON.parse(fileSystem.readFile(filePath));
56
- }
57
- catch (_a) {
58
- return fallback;
59
- }
60
- }
61
- function writeJson(filePath, data, fileSystem) {
62
- fileSystem.writeFile(filePath, JSON.stringify(data, null, 2) + "\n");
63
- }
64
- function configureMCP(fileSystem = new cli_core_1.FsFileSystem()) {
65
- const configPath = getConfigPath();
66
- const config = readJson(configPath, { servers: {} }, fileSystem);
67
- config.servers = config.servers || {};
68
- let modified = false;
69
- if (!config.servers[IGNITEUI_SERVER_KEY]) {
70
- config.servers[IGNITEUI_SERVER_KEY] = igniteuiServer;
71
- modified = true;
72
- }
73
- if (!config.servers[IGNITEUI_THEMING_SERVER_KEY]) {
74
- config.servers[IGNITEUI_THEMING_SERVER_KEY] = igniteuiThemingServer;
75
- modified = true;
76
- }
16
+ function configureMCP() {
17
+ const modified = (0, cli_core_1.addMcpServers)(cli_core_1.VS_CODE_MCP_PATH);
77
18
  if (!modified) {
78
- cli_core_1.Util.log(` Ignite UI MCP servers already configured in ${configPath}`);
19
+ cli_core_1.Util.log(` Ignite UI MCP servers already configured in ${cli_core_1.VS_CODE_MCP_PATH}`);
79
20
  return;
80
21
  }
81
- writeJson(configPath, config, fileSystem);
82
- cli_core_1.Util.log(cli_core_1.Util.greenCheck() + ` MCP servers configured in ${configPath}`);
22
+ cli_core_1.Util.log(cli_core_1.Util.greenCheck() + ` MCP servers configured in ${cli_core_1.VS_CODE_MCP_PATH}`);
83
23
  }
84
24
  function configureSkills() {
85
25
  const result = (0, cli_core_1.copyAISkillsToProject)();
@@ -12,6 +12,7 @@ export declare class IgniteUIForReactTemplate implements Template {
12
12
  framework: string;
13
13
  projectType: string;
14
14
  hasExtraConfiguration: boolean;
15
+ isHidden: boolean;
15
16
  packages: any[];
16
17
  delimiters: import("@igniteui/cli-core").TemplateDelimiters;
17
18
  protected widget: string;
@@ -40,6 +40,7 @@ class IgniteUIForReactTemplate {
40
40
  this.dependencies = [];
41
41
  this.framework = "react";
42
42
  this.hasExtraConfiguration = false;
43
+ this.isHidden = false;
43
44
  this.packages = [];
44
45
  this.delimiters = cli_core_1.defaultDelimiters;
45
46
  }
@@ -11,6 +11,7 @@ export declare class IgniteUIForWebComponentsTemplate implements Template {
11
11
  framework: string;
12
12
  projectType: string;
13
13
  hasExtraConfiguration: boolean;
14
+ isHidden: boolean;
14
15
  packages: any[];
15
16
  dependencies: TemplateDependency[];
16
17
  delimiters: import("@igniteui/cli-core").TemplateDelimiters;
@@ -38,6 +38,7 @@ class IgniteUIForWebComponentsTemplate {
38
38
  this.framework = "webcomponents";
39
39
  this.projectType = "igc-ts";
40
40
  this.hasExtraConfiguration = false;
41
+ this.isHidden = false;
41
42
  this.packages = [];
42
43
  this.dependencies = [];
43
44
  this.delimiters = cli_core_1.defaultDelimiters;
@@ -15,6 +15,7 @@ export declare class jQueryTemplate implements Template {
15
15
  framework: string;
16
16
  projectType: string;
17
17
  hasExtraConfiguration: boolean;
18
+ isHidden: boolean;
18
19
  packages: any[];
19
20
  delimiters: import("@igniteui/cli-core").TemplateDelimiters;
20
21
  private configFile;
@@ -34,6 +34,7 @@ class jQueryTemplate {
34
34
  constructor(rootPath) {
35
35
  this.rootPath = rootPath;
36
36
  this.framework = "jquery";
37
+ this.isHidden = false;
37
38
  this.packages = [];
38
39
  this.delimiters = cli_core_1.defaultDelimiters;
39
40
  this.configFile = "ignite-cli-views.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "igniteui-cli",
3
- "version": "15.0.0-rc.2",
3
+ "version": "15.0.0",
4
4
  "description": "CLI tool for creating Ignite UI projects",
5
5
  "keywords": [
6
6
  "CLI",
@@ -66,9 +66,9 @@
66
66
  "all": true
67
67
  },
68
68
  "dependencies": {
69
- "@igniteui/angular-templates": "~21.1.1500-rc.2",
70
- "@igniteui/cli-core": "~15.0.0-rc.2",
71
- "@igniteui/mcp-server": "~15.0.0-rc.2",
69
+ "@igniteui/angular-templates": "~21.2.1500",
70
+ "@igniteui/cli-core": "~15.0.0",
71
+ "@igniteui/mcp-server": "~15.0.0",
72
72
  "@inquirer/prompts": "^7.9.0",
73
73
  "@types/yargs": "^17.0.33",
74
74
  "chalk": "^5.3.0",
@@ -43,6 +43,7 @@ class EmptyProject {
43
43
  this.framework = "jquery";
44
44
  this.projectType = "js";
45
45
  this.hasExtraConfiguration = false;
46
+ this.isHidden = false;
46
47
  this.routesFile = "bs-routes.json";
47
48
  this.delimiters = cli_core_1.defaultDelimiters;
48
49
  }
@@ -14,7 +14,7 @@ class GridTemplate extends IgniteUIForReactTemplate_1.IgniteUIForReactTemplate {
14
14
  this.projectType = "igr-ts";
15
15
  this.components = ["Grid"];
16
16
  this.controlGroup = "Data Grids";
17
- this.packages = ["igniteui-react-grids@~19.6.0"];
17
+ this.packages = ["igniteui-react-grids@~19.6.1"];
18
18
  this.hasExtraConfiguration = false;
19
19
  }
20
20
  }
@@ -8,6 +8,24 @@ user-invocable: true
8
8
 
9
9
  This skill covers everything from identifying the right component for a UI requirement to installing, setting up, and using Ignite UI for React components — including JSX patterns, event handling, refs, controlled/uncontrolled form components, and TypeScript.
10
10
 
11
+ ## Before You Answer
12
+
13
+ - Do not guess package names or import paths from memory.
14
+ - First identify the component family, then read the relevant reference files from the Content Guide below.
15
+ - Check `package.json` and keep public or licensed package names consistent.
16
+ - If the required package is not present in `package.json`, add or install the correct Ignite UI dependency first. Absence from `package.json` does not mean the package is invalid.
17
+
18
+ ### Package Routing
19
+
20
+ | Component family | Install packages | Import from |
21
+ |---|---|---|
22
+ | Core UI components | `igniteui-react` | `igniteui-react` |
23
+ | Advanced grids | `igniteui-react-grids` (trial) `@infragistics/igniteui-react-grids` (licensed) | `igniteui-react-grids` |
24
+ | Grid Lite | `igniteui-react`, `igniteui-grid-lite` | `igniteui-react`, `igniteui-grid-lite` |
25
+ | Charts | `igniteui-react-charts` (trial) `@infragistics/igniteui-react-charts` (licensed) | `igniteui-react-charts` |
26
+ | Gauges | `igniteui-react-gauges` (trial) `@infragistics/igniteui-react-gauges` (licensed) | `igniteui-react-gauges` |
27
+ | Maps | `igniteui-react-maps` (trial) `@infragistics/igniteui-react-maps` (licensed) | `igniteui-react-maps` |
28
+
11
29
  ## Example Usage
12
30
 
13
31
  - "What component should I use to display a list of items with actions?"
@@ -58,9 +76,11 @@ This skill is organized into focused reference files. Load the appropriate file
58
76
 
59
77
  ---
60
78
 
61
- ## Quick Start
79
+ ## Quick Start (Core UI Example)
80
+
81
+ This example uses the core UI package `igniteui-react`. For grids, Grid Lite, charts, gauges, and maps, use the package routing table above first.
62
82
 
63
- ### 1. Install
83
+ ### 1. Install Core UI Package
64
84
 
65
85
  ```bash
66
86
  npm install igniteui-react
@@ -143,7 +163,7 @@ Use [COMPONENT-CATALOGUE.md](./reference/COMPONENT-CATALOGUE.md) to map any UI n
143
163
 
144
164
  ## Best Practices
145
165
 
146
- 1. **Start with the MIT package** (`igniteui-react`) it covers most common UI needs
166
+ 1. **Use the package routing table first**
147
167
  2. **Import theme CSS first** — components need it to render correctly
148
168
  3. **Register chart/gauge/map modules** — call `.register()` at module level
149
169
  4. **Wrap charts/gauges/maps in sized containers** — they need explicit dimensions
@@ -2,7 +2,7 @@
2
2
  "servers": {
3
3
  "igniteui-cli": {
4
4
  "command": "npx",
5
- "args": ["-y", "igniteui-cli@next", "mcp"]
5
+ "args": ["-y", "igniteui-cli", "mcp"]
6
6
  },
7
7
  "igniteui-theming": {
8
8
  "command": "npx",
@@ -15,7 +15,7 @@
15
15
  "@testing-library/react": "^16.3.0",
16
16
  "element-internals-polyfill": "^3.0.2",
17
17
  "functions-have-names": "^1.2.3",
18
- "igniteui-react": "~19.6.0",
18
+ "igniteui-react": "~19.6.1",
19
19
  "react": "^19.2.4",
20
20
  "react-app-polyfill": "^3.0.0",
21
21
  "react-dom": "^19.2.4",
@@ -7,6 +7,7 @@ export declare class BaseIgrTsProject implements ProjectTemplate {
7
7
  projectType: string;
8
8
  dependencies: string[];
9
9
  hasExtraConfiguration: boolean;
10
+ isHidden: boolean;
10
11
  delimiters: import("@igniteui/cli-core").TemplateDelimiters;
11
12
  get templatePaths(): string[];
12
13
  generateConfig(name: string, theme: string, ...options: any[]): {
@@ -43,6 +43,7 @@ class BaseIgrTsProject {
43
43
  this.framework = "react";
44
44
  this.projectType = "tsx";
45
45
  this.hasExtraConfiguration = false;
46
+ this.isHidden = true;
46
47
  this.delimiters = cli_core_1.defaultDelimiters;
47
48
  }
48
49
  get templatePaths() {
@@ -8,6 +8,7 @@ export declare class BaseWithHomeIgrTsProject extends BaseIgrTsProject implement
8
8
  framework: string;
9
9
  projectType: string;
10
10
  hasExtraConfiguration: boolean;
11
+ isHidden: boolean;
11
12
  get templatePaths(): string[];
12
13
  }
13
14
  declare const _default: BaseWithHomeIgrTsProject;
@@ -36,6 +36,7 @@ class BaseWithHomeIgrTsProject extends _base_1.BaseIgrTsProject {
36
36
  this.framework = "react";
37
37
  this.projectType = "igr-ts";
38
38
  this.hasExtraConfiguration = false;
39
+ this.isHidden = true;
39
40
  }
40
41
  get templatePaths() {
41
42
  return [...super.templatePaths, path.join(__dirname, "files")];
@@ -8,6 +8,7 @@ export declare class BasePageIgrTsProject extends BaseIgrTsProject implements Pr
8
8
  framework: string;
9
9
  projectType: string;
10
10
  hasExtraConfiguration: boolean;
11
+ isHidden: boolean;
11
12
  get templatePaths(): string[];
12
13
  }
13
14
  declare const _default: BasePageIgrTsProject;
@@ -36,6 +36,7 @@ class BasePageIgrTsProject extends _base_1.BaseIgrTsProject {
36
36
  this.framework = "react";
37
37
  this.projectType = "igr-ts";
38
38
  this.hasExtraConfiguration = false;
39
+ this.isHidden = true;
39
40
  }
40
41
  get templatePaths() {
41
42
  return [...super.templatePaths, path.join(__dirname, "files")];
@@ -8,6 +8,7 @@ export declare class EmptyIgrTsProject extends BaseWithHomeIgrTsProject implemen
8
8
  framework: string;
9
9
  projectType: string;
10
10
  hasExtraConfiguration: boolean;
11
+ isHidden: boolean;
11
12
  get templatePaths(): string[];
12
13
  }
13
14
  declare const _default: EmptyIgrTsProject;
@@ -36,6 +36,7 @@ class EmptyIgrTsProject extends _base_with_home_1.BaseWithHomeIgrTsProject {
36
36
  this.framework = "react";
37
37
  this.projectType = "igr-ts";
38
38
  this.hasExtraConfiguration = false;
39
+ this.isHidden = false;
39
40
  }
40
41
  get templatePaths() {
41
42
  return [...super.templatePaths, path.join(__dirname, "files")];
@@ -8,6 +8,7 @@ export declare class TopNavIgrTsProject extends BaseWithHomeIgrTsProject impleme
8
8
  framework: string;
9
9
  projectType: string;
10
10
  hasExtraConfiguration: boolean;
11
+ isHidden: boolean;
11
12
  get templatePaths(): string[];
12
13
  }
13
14
  declare const _default: TopNavIgrTsProject;
@@ -36,6 +36,7 @@ class TopNavIgrTsProject extends _base_with_home_1.BaseWithHomeIgrTsProject {
36
36
  this.framework = "react";
37
37
  this.projectType = "igr-ts";
38
38
  this.hasExtraConfiguration = false;
39
+ this.isHidden = false;
39
40
  }
40
41
  get templatePaths() {
41
42
  return [...super.templatePaths, path.join(__dirname, "files")];
@@ -2,10 +2,12 @@ import { html, css, LitElement } from 'lit';
2
2
  import { customElement } from 'lit/decorators.js';
3
3
  import {
4
4
  defineComponents,
5
+ IgcButtonComponent,
5
6
  IgcCardComponent,
7
+ IgcIconButtonComponent,
6
8
  } from 'igniteui-webcomponents';
7
9
 
8
- defineComponents(IgcCardComponent);
10
+ defineComponents(IgcCardComponent, IgcButtonComponent, IgcIconButtonComponent);
9
11
 
10
12
  @customElement('app-$(path)')
11
13
  export default class $(ClassName) extends LitElement {
@@ -20,7 +22,7 @@ export default class $(ClassName) extends LitElement {
20
22
  <igc-card>
21
23
  <igc-card-media style="max-height: 194px">
22
24
  <img
23
- src="https://images.unsplash.com/photo-1518235506717-e1ed3306a89b?ixlib=rb-1.2.1&auto=format&fit=crop&w=320&q=180"
25
+ src="https://images.unsplash.com/photo-1518235506717-e1ed3306a89b?ixlib=rb-1.2.1&amp;auto=format&amp;fit=crop&amp;w=320&amp;q=180"
24
26
  />
25
27
  </igc-card-media>
26
28
  <igc-card-header>
@@ -46,9 +48,9 @@ export default class $(ClassName) extends LitElement {
46
48
  style="height: 1px; margin: 0 0 8px 0; background-color: rgba(0,0,0, 0.2); border: 0px"
47
49
  />
48
50
  <igc-card-actions>
49
- <igc-button slot="start" variant="flat">Like</igc-button>
50
- <igc-button slot="start" variant="flat">Learn More</igc-button>
51
- <igc-icon slot="end" name="home" collection="default"></igc-icon>
51
+ <igc-button slot="start">Like</igc-button>
52
+ <igc-button slot="start">Learn More</igc-button>
53
+ <igc-icon-button slot="end" name="home" collection="default"></igc-icon-button>
52
54
  </igc-card-actions>
53
55
  </igc-card>
54
56
  `;
@@ -3,7 +3,7 @@ import { customElement, state } from 'lit/decorators.js';
3
3
  import {
4
4
  defineComponents,
5
5
  IgcDockManagerComponent,
6
- IgcDockManagerLayout,
6
+ type IgcDockManagerLayout,
7
7
  } from 'igniteui-dockmanager';
8
8
 
9
9
  defineComponents(IgcDockManagerComponent);
@@ -1,6 +1,6 @@
1
1
  import { html, css, LitElement } from 'lit';
2
2
  import { customElement, state } from 'lit/decorators.js';
3
- import { IgcGridComponent, IgcGroupingExpression, SortingDirection } from 'igniteui-webcomponents-grids';
3
+ import { IgcGridComponent, type IgcGroupingExpression, SortingDirection } from 'igniteui-webcomponents-grids';
4
4
 
5
5
  import gridThemeLightMaterial from 'igniteui-webcomponents-grids/grids/themes/light/material.css?inline'
6
6
 
@@ -1,6 +1,6 @@
1
1
  import { css, html, LitElement } from 'lit';
2
2
  import { customElement, query, state } from 'lit/decorators.js';
3
- import { defineComponents, IgcButtonComponent, IgcCheckboxChangeEventArgs, IgcSwitchComponent } from 'igniteui-webcomponents';
3
+ import { defineComponents, IgcButtonComponent, type IgcCheckboxChangeEventArgs, IgcSwitchComponent } from 'igniteui-webcomponents';
4
4
  import {
5
5
  IgcGridComponent
6
6
  } from 'igniteui-webcomponents-grids';
@@ -13,6 +13,7 @@ Skills are structured instructions that help AI agents understand and execute co
13
13
  | [igniteui-wc-choose-components](./igniteui-wc-choose-components/SKILL.md) | Identify the right components for a UI pattern and navigate to official docs/demos | Deciding which components to use |
14
14
  | [igniteui-wc-integrate-with-framework](./igniteui-wc-integrate-with-framework/SKILL.md) | Integrate components into React, Angular, Vue, or vanilla JS applications | Setting up components in your project |
15
15
  | [igniteui-wc-customize-component-theme](./igniteui-wc-customize-component-theme/SKILL.md) | Customize styling using CSS custom properties, parts, and theming system | Applying custom brand colors/styles |
16
+ | [igniteui-wc-generate-from-image-design](./igniteui-wc-generate-from-image-design/SKILL.md) | Implement a view from a screenshot or mockup using Ignite UI Web Components | Converting a design image into UI |
16
17
  | [igniteui-wc-optimize-bundle-size](./igniteui-wc-optimize-bundle-size/SKILL.md) | Reduce bundle size by importing only needed components and lazy loading | Optimizing production performance |
17
18
 
18
19
  ## How to Use
@@ -22,12 +23,14 @@ When working with an AI agent like GitHub Copilot, reference skills by name or a
22
23
  ### Natural Questions
23
24
  - "How do I integrate igniteui-webcomponents with React?"
24
25
  - "Help me customize the button colors to match my brand"
26
+ - "Build this screenshot with Ignite UI Web Components"
25
27
  - "My bundle size is too large, how can I reduce it?"
26
28
  - "Show me how to use these components in Vue"
27
29
 
28
30
  ### Direct Skill Reference
29
31
  - "Follow the integrate-with-framework skill for my Angular app"
30
32
  - "Use the customize-component-theme skill to help me style components"
33
+ - "Use the generate-from-image-design skill to implement this mockup"
31
34
  - "Apply the optimize-bundle-size skill to reduce my bundle"
32
35
 
33
36
  ## Skill Structure
@@ -8,6 +8,12 @@ user-invocable: true
8
8
 
9
9
  This skill helps AI agents and developers identify the best Ignite UI components for any UI requirement, then provides direct links to official documentation, usage examples, and API references.
10
10
 
11
+ ## Before You Answer
12
+
13
+ - Choose the package before writing imports or install steps.
14
+ - If the required package is not present in `package.json`, add or install the correct Ignite UI dependency first. Absence from `package.json` does not mean the package is invalid.
15
+ - If the user also needs setup or code, then load [igniteui-wc-integrate-with-framework](../igniteui-wc-integrate-with-framework/SKILL.md).
16
+
11
17
  ## Example Usage
12
18
 
13
19
  - "What component should I use to display a list of items with actions?"
@@ -46,10 +52,31 @@ Ignite UI for Web Components is distributed across several packages depending on
46
52
  | [`igniteui-webcomponents-grids`](https://www.npmjs.com/package/igniteui-webcomponents-grids) | Commercial | `npm install igniteui-webcomponents-grids` (trial) | Advanced data grids (Data Grid, Tree Grid, Hierarchical Grid, Pivot Grid) with many built-in functionalities |
47
53
  | [`igniteui-grid-lite`](https://www.npmjs.com/package/igniteui-grid-lite) | MIT | `npm install igniteui-grid-lite` | Lightweight data grid for simpler tabular data |
48
54
  | [`igniteui-dockmanager`](https://www.npmjs.com/package/igniteui-dockmanager) | Commercial | `npm install igniteui-dockmanager` (trial) | Windowing / docking layouts (IDE-style panels) |
55
+ | [`igniteui-webcomponents-grids`](https://www.npmjs.com/package/igniteui-webcomponents-grids) | Commercial | `npm install igniteui-webcomponents-grids` (trial) | Advanced data grids (Data Grid, Tree Grid, Hierarchical Grid, Pivot Grid) with many built-in functionalities |
56
+ | [`@infragistics/igniteui-webcomponents-grids`](https://packages.infragistics.com/feeds/js-licensed/@infragistics/igniteui-webcomponents-grids) | Commercial | `npm install @infragistics/igniteui-webcomponents-grids` (licensed) | Advanced data grids (Data Grid, Tree Grid, Hierarchical Grid, Pivot Grid) with many built-in functionalities |
57
+ | [`igniteui-grid-lite`](https://www.npmjs.com/package/igniteui-grid-lite) | MIT | `npm install igniteui-grid-lite` | Lightweight data grid for simpler tabular data |
58
+ | [`igniteui-dockmanager`](https://www.npmjs.com/package/igniteui-dockmanager) | Commercial | `npm install igniteui-dockmanager` (trial) | Windowing / docking layouts (IDE-style panels) |
59
+ | [`@infragistics/igniteui-dockmanager`](https://packages.infragistics.com/feeds/js-licensed/@infragistics/igniteui-dockmanager) | Commercial | `npm install @infragistics/igniteui-dockmanager` (licensed) | Windowing / docking layouts (IDE-style panels) |
49
60
  | [`igniteui-webcomponents-charts`](https://www.npmjs.com/package/igniteui-webcomponents-charts) | Commercial | `npm install igniteui-webcomponents-core igniteui-webcomponents-charts` (trial) | Charts and data visualizations (65+ chart types) |
61
+ | [`@infragistics/igniteui-webcomponents-charts`](https://packages.infragistics.com/feeds/js-licensed/@infragistics/igniteui-webcomponents-charts) | Commercial | `npm install @infragistics/igniteui-webcomponents-core @infragistics/igniteui-webcomponents-charts` (licensed) | Charts and data visualizations (65+ chart types) |
50
62
 
51
63
  ---
52
64
 
65
+ ## Package Routing
66
+
67
+ | Component family | Package |
68
+ |---|---|
69
+ | General UI components | `igniteui-webcomponents` |
70
+ | Advanced grids | `igniteui-webcomponents-grids` (trial) `@infragistics/igniteui-webcomponents-grids` (licensed) |
71
+ | Grid Lite | `igniteui-grid-lite` |
72
+ | Dock Manager | `igniteui-dockmanager` (trial) `@infragistics/igniteui-dockmanager` (licensed) |
73
+ | Charts | `igniteui-webcomponents-charts` (trial) `@infragistics/igniteui-webcomponents-charts` (licensed) |
74
+
75
+ If the request only says "grid", choose by features:
76
+
77
+ - Advanced features such as editing, paging, summaries, grouping, hierarchical data, or pivot behavior -> `igniteui-webcomponents-grids`
78
+ - Lightweight table -> `igniteui-grid-lite`
79
+
53
80
  ## Component Catalogue by UI Pattern
54
81
 
55
82
  Use the table below to map a UI need to the right component, then follow the documentation link.