igniteui-cli 15.1.0 → 15.2.1-alpha.3

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 (40) hide show
  1. package/lib/PromptSession.d.ts +1 -1
  2. package/lib/PromptSession.js +2 -2
  3. package/lib/commands/ai-config.d.ts +3 -5
  4. package/lib/commands/ai-config.js +68 -23
  5. package/lib/commands/new.js +1 -1
  6. package/package.json +4 -4
  7. package/templates/blazor/igb/index.d.ts +1 -0
  8. package/templates/blazor/igb/index.js +12 -0
  9. package/templates/blazor/igb/projects/ai-config/files/AGENTS.md +65 -0
  10. package/templates/blazor/igb/projects/ai-config/files/skills/AGENTS.md +65 -0
  11. package/templates/blazor/igb/projects/ai-config/files/skills/README.md +61 -0
  12. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-components/SKILL.md +118 -0
  13. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-components/references/charts.md +302 -0
  14. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-components/references/data-display.md +350 -0
  15. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-components/references/feedback.md +178 -0
  16. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-components/references/form-controls.md +365 -0
  17. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-components/references/layout-manager.md +180 -0
  18. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-components/references/layout.md +322 -0
  19. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-components/references/mcp-setup.md +78 -0
  20. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-components/references/setup.md +214 -0
  21. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-generate-from-image-design/SKILL.md +284 -0
  22. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-generate-from-image-design/references/component-mapping.md +281 -0
  23. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-generate-from-image-design/references/gotchas.md +503 -0
  24. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-grids/SKILL.md +188 -0
  25. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-grids/references/data-operations.md +264 -0
  26. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-grids/references/editing.md +297 -0
  27. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-grids/references/features.md +447 -0
  28. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-grids/references/mcp-setup.md +78 -0
  29. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-grids/references/paging-remote.md +299 -0
  30. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-grids/references/sizing.md +284 -0
  31. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-grids/references/state.md +160 -0
  32. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-grids/references/structure.md +497 -0
  33. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-grids/references/types.md +553 -0
  34. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-theming/SKILL.md +259 -0
  35. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-theming/references/common-patterns.md +276 -0
  36. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-theming/references/mcp-setup.md +81 -0
  37. package/templates/blazor/igb/projects/ai-config/index.d.ts +22 -0
  38. package/templates/blazor/igb/projects/ai-config/index.js +62 -0
  39. package/templates/blazor/index.d.ts +3 -0
  40. package/templates/blazor/index.js +11 -0
@@ -0,0 +1,447 @@
1
+ # Features - Grouping, Summaries, Merging, Toolbar, Export, Row Drag, Action Strip, Master-Detail & Clipboard
2
+
3
+ > **Part of the [`igniteui-blazor-grids`](../SKILL.md) skill hub.**
4
+ > For grid setup and column configuration — see [`structure.md`](./structure.md).
5
+ > For cell and row editing — see [`editing.md`](./editing.md).
6
+
7
+ ## Contents
8
+
9
+ - [Grouping (IgbGrid Only)](#grouping-igbgrid-only)
10
+ - [Summaries](#summaries)
11
+ - [Cell Merging (IgbGrid Only)](#cell-merging-igbgrid-only)
12
+ - [Toolbar](#toolbar)
13
+ - [Export](#export)
14
+ - [Virtualization & Performance](#virtualization--performance)
15
+ - [Row Drag](#row-drag)
16
+ - [Action Strip](#action-strip)
17
+ - [Master-Detail (IgbGrid Only)](#master-detail-igbgrid-only)
18
+ - [Clipboard](#clipboard)
19
+ - [Key Rules](#key-rules)
20
+
21
+ ---
22
+
23
+ ## Grouping (IgbGrid Only)
24
+
25
+ Grouping is exclusive to the Flat Grid (`IgbGrid`). Tree Grid and Hierarchical Grid do not support grouping.
26
+
27
+ ### Enable grouping
28
+
29
+ ```razor
30
+ <IgbGrid Data="data" PrimaryKey="Id" AutoGenerate="false">
31
+ <IgbColumn Field="Department" Header="Department" Groupable="true" />
32
+ <IgbColumn Field="Name" Header="Name" />
33
+ <IgbColumn Field="Salary" Header="Salary" DataType="GridColumnDataType.Currency" />
34
+ </IgbGrid>
35
+ ```
36
+
37
+ Users can drag column headers to the group area, or click the column menu grouping option.
38
+
39
+ ### Pre-set grouping expressions
40
+
41
+ ```razor
42
+ <IgbGrid Data="data" PrimaryKey="Id" GroupingExpressions="groupingExpressions">
43
+ <IgbColumn Field="Department" Groupable="true" />
44
+ <IgbColumn Field="Name" />
45
+ </IgbGrid>
46
+
47
+ @code {
48
+ private IgbGroupingExpression[] groupingExpressions = new[]
49
+ {
50
+ new IgbGroupingExpression
51
+ {
52
+ FieldName = "Department",
53
+ Dir = SortingDirection.Asc
54
+ }
55
+ };
56
+ }
57
+ ```
58
+
59
+ ### Group row template
60
+
61
+ Customize the group row:
62
+
63
+ ```razor
64
+ <IgbGrid Data="data" PrimaryKey="Id">
65
+ <IgbColumn Field="Department" Groupable="true" />
66
+ <GroupRowTemplate>
67
+ @{
68
+ var groupRow = (IgbGroupByRowTemplateContext)context;
69
+ }
70
+ <span>
71
+ <strong>@groupRow.GroupRow.Expression.FieldName</strong>:
72
+ @groupRow.GroupRow.Value
73
+ (@groupRow.GroupRow.Records.Count items)
74
+ </span>
75
+ </GroupRowTemplate>
76
+ </IgbGrid>
77
+ ```
78
+
79
+ ### Hide group area
80
+
81
+ ```razor
82
+ <IgbGrid Data="data" PrimaryKey="Id" HideGroupedColumns="true">
83
+ ...
84
+ </IgbGrid>
85
+ ```
86
+
87
+ ### Grouping events
88
+
89
+ | Event | Type | Description |
90
+ |---|---|---|
91
+ | `GroupingDone` | `EventCallback<IgbGroupingDoneEventArgs>` | Fires after a column is grouped/ungrouped |
92
+
93
+ ---
94
+
95
+ ## Summaries
96
+
97
+ ### Built-in summaries
98
+
99
+ Enable with `HasSummary="true"` on a column. The built-in summaries depend on the column's data type:
100
+
101
+ | Data Type | Default Summaries |
102
+ |---|---|
103
+ | String | Count |
104
+ | Number | Count, Min, Max, Sum, Avg |
105
+ | Date | Count, Earliest, Latest |
106
+ | Boolean | Count |
107
+
108
+ ```razor
109
+ <IgbGrid Data="data" PrimaryKey="Id">
110
+ <IgbColumn Field="Name" Header="Name" HasSummary="true" DataType="GridColumnDataType.String" />
111
+ <IgbColumn Field="Salary" Header="Salary" HasSummary="true" DataType="GridColumnDataType.Number" />
112
+ <IgbColumn Field="HireDate" Header="Hire Date" HasSummary="true" DataType="GridColumnDataType.Date" />
113
+ </IgbGrid>
114
+ ```
115
+
116
+ ### Custom summary operands
117
+
118
+ Extend `IgbNumberSummaryOperand` (or `IgbDateSummaryOperand`, `IgbSummaryOperand`) and override `Operate()` to return `IgbSummaryResult[]`. Apply via `Summaries` parameter:
119
+
120
+ ```razor
121
+ <IgbColumn Field="Salary" Header="Salary" HasSummary="true"
122
+ Summaries="typeof(MySalarySummary)" />
123
+ ```
124
+
125
+ > For full custom summary class syntax, call `get_doc(framework: "blazor", slug: "grids/grid/summaries")` and use `get_api_reference` for the exact API contract.
126
+
127
+ ### Summary position
128
+
129
+ ```razor
130
+ <IgbGrid Data="data" PrimaryKey="Id" SummaryPosition="GridSummaryPosition.Top">
131
+ ...
132
+ </IgbGrid>
133
+ ```
134
+
135
+ Values: `GridSummaryPosition.Top`, `GridSummaryPosition.Bottom` (default).
136
+
137
+ ### Summary calculation mode
138
+
139
+ ```razor
140
+ <IgbGrid Data="data" PrimaryKey="Id" SummaryCalculationMode="GridSummaryCalculationMode.RootLevelOnly">
141
+ ...
142
+ </IgbGrid>
143
+ ```
144
+
145
+ Values: `GridSummaryCalculationMode.RootLevelOnly`, `GridSummaryCalculationMode.ChildLevelsOnly`, `GridSummaryCalculationMode.RootAndChildLevels`.
146
+
147
+ ---
148
+
149
+ ## Cell Merging (IgbGrid Only)
150
+
151
+ Merge visually identical adjacent cells in a column:
152
+
153
+ ```razor
154
+ <IgbGrid Data="data" PrimaryKey="Id">
155
+ <IgbColumn Field="Country" Header="Country" Merge="true" />
156
+ <IgbColumn Field="City" Header="City" Merge="true" />
157
+ <IgbColumn Field="Name" Header="Name" />
158
+ </IgbGrid>
159
+ ```
160
+
161
+ Cell merging requires the data to be sorted by the merged columns for meaningful visual grouping.
162
+
163
+ ---
164
+
165
+ ## Toolbar
166
+
167
+ The grid toolbar provides built-in UI for column hiding, column pinning, exporting, and advanced filtering.
168
+
169
+ ### Basic toolbar
170
+
171
+ ```razor
172
+ <IgbGrid Data="data" PrimaryKey="Id">
173
+ <IgbGridToolbar>
174
+ <IgbGridToolbarTitle>Employees</IgbGridToolbarTitle>
175
+ <IgbGridToolbarActions>
176
+ <IgbGridToolbarHiding />
177
+ <IgbGridToolbarPinning />
178
+ <IgbGridToolbarExporter />
179
+ <IgbGridToolbarAdvancedFiltering />
180
+ </IgbGridToolbarActions>
181
+ </IgbGridToolbar>
182
+ <IgbColumn Field="Name" Header="Name" />
183
+ <IgbColumn Field="Department" Header="Department" />
184
+ </IgbGrid>
185
+ ```
186
+
187
+ ### Toolbar components
188
+
189
+ | Component | Description |
190
+ |---|---|
191
+ | `IgbGridToolbar` | Container for the toolbar |
192
+ | `IgbGridToolbarTitle` | Displays a title/caption |
193
+ | `IgbGridToolbarActions` | Container for action buttons |
194
+ | `IgbGridToolbarHiding` | Column hiding UI |
195
+ | `IgbGridToolbarPinning` | Column pinning UI |
196
+ | `IgbGridToolbarExporter` | Export to Excel/CSV buttons |
197
+ | `IgbGridToolbarAdvancedFiltering` | Opens the advanced filtering dialog |
198
+
199
+ ### Custom toolbar content
200
+
201
+ ```razor
202
+ <IgbGridToolbar>
203
+ <IgbGridToolbarTitle>My Data</IgbGridToolbarTitle>
204
+ <IgbGridToolbarActions>
205
+ <IgbButton @onclick="RefreshData">Refresh</IgbButton>
206
+ <IgbGridToolbarExporter />
207
+ </IgbGridToolbarActions>
208
+ </IgbGridToolbar>
209
+ ```
210
+
211
+ ---
212
+
213
+ ## Export
214
+
215
+ ### Excel Export
216
+
217
+ ```razor
218
+ <IgbGrid @ref="grid" Data="data" PrimaryKey="Id">
219
+ <IgbGridToolbar>
220
+ <IgbGridToolbarActions>
221
+ <IgbGridToolbarExporter ExportExcel="true" ExportCSV="false" />
222
+ </IgbGridToolbarActions>
223
+ </IgbGridToolbar>
224
+ ...
225
+ </IgbGrid>
226
+ ```
227
+
228
+ ### Programmatic export
229
+
230
+ ```razor
231
+ @inject IgbExcelExporterService ExcelExporter
232
+ @inject IgbCsvExporterService CsvExporter
233
+
234
+ <IgbGrid @ref="grid" Data="data" PrimaryKey="Id">
235
+ ...
236
+ </IgbGrid>
237
+
238
+ <IgbButton @onclick="ExportToExcel">Export to Excel</IgbButton>
239
+ <IgbButton @onclick="ExportToCsv">Export to CSV</IgbButton>
240
+
241
+ @code {
242
+ private IgbGrid grid = default!;
243
+
244
+ private async Task ExportToExcel()
245
+ {
246
+ var options = new IgbExcelExporterOptions("employees");
247
+ await ExcelExporter.ExportAsync(grid, options);
248
+ }
249
+
250
+ private async Task ExportToCsv()
251
+ {
252
+ var options = new IgbCsvExporterOptions("employees");
253
+ options.FileType = CsvFileTypes.CSV;
254
+ await CsvExporter.ExportAsync(grid, options);
255
+ }
256
+ }
257
+ ```
258
+
259
+ ### Export options
260
+
261
+ | Option | Type | Description |
262
+ |---|---|---|
263
+ | `FileName` | `string` | Name of the exported file (without extension) |
264
+ | `IgnoreFiltering` | `bool` | Export all data, not just filtered |
265
+ | `IgnoreSorting` | `bool` | Export in original data order |
266
+ | `IgnoreColumnsVisibility` | `bool` | Include hidden columns in export |
267
+ | `ExportGroupedRows` | `bool` | Include group rows in export (IgbGrid only) |
268
+
269
+ ### Export events
270
+
271
+ | Event | Description |
272
+ |---|---|
273
+ | `ExportStarted` | Fires before export begins - cancel or configure here |
274
+ | `ExportEnded` | Fires after export completes |
275
+ | `ColumnExporting` | Fires for each column - skip or modify |
276
+ | `RowExporting` | Fires for each row - skip or modify |
277
+
278
+ ---
279
+
280
+ ## Virtualization & Performance
281
+
282
+ Both row and column virtualization are **enabled by default** when the grid has a fixed `Height`. The grid only renders DOM elements for the visible portion.
283
+
284
+ ### Requirements for virtualization
285
+
286
+ 1. **Set `Height`** on the grid - virtualization needs a fixed pixel or percentage height.
287
+ 2. **Set `Width`** on columns - column virtualization requires defined column widths when total column width exceeds the grid width.
288
+
289
+ ### Best practices
290
+
291
+ - Bind to a concrete `List<T>` or `T[]`, not `IQueryable`.
292
+ - For large data sets (100k+ rows), consider remote paging or virtualized data loading (see `references/paging-remote.md`).
293
+ - Avoid complex templates on frequently re-rendered columns.
294
+ - Use `OnDemand` summaries if summaries on large data sets cause slow rendering.
295
+
296
+ ---
297
+
298
+ ## Row Drag
299
+
300
+ Enable row reordering or drag-to-external targets:
301
+
302
+ ```razor
303
+ <IgbGrid Data="data" PrimaryKey="Id" RowDraggable="true"
304
+ RowDragEnd="OnRowDragEnd">
305
+ ...
306
+ </IgbGrid>
307
+
308
+ @code {
309
+ private void OnRowDragEnd(IgbRowDragEndEventArgs args)
310
+ {
311
+ // args.DragData contains the dragged row data
312
+ }
313
+ }
314
+ ```
315
+
316
+ ### Row drag events
317
+
318
+ | Event | Type | Description |
319
+ |---|---|---|
320
+ | `RowDragStart` | `EventCallback<IgbRowDragStartEventArgs>` | Fires when drag begins |
321
+ | `RowDragEnd` | `EventCallback<IgbRowDragEndEventArgs>` | Fires when drag ends (drop) |
322
+
323
+ ### Custom drag ghost
324
+
325
+ ```razor
326
+ <IgbGrid Data="data" PrimaryKey="Id" RowDraggable="true">
327
+ <DragGhostTemplate>
328
+ @{
329
+ var row = (IgbGridRowDragGhostContext)context;
330
+ }
331
+ <div class="custom-ghost">
332
+ Moving: @row.RowData
333
+ </div>
334
+ </DragGhostTemplate>
335
+ ...
336
+ </IgbGrid>
337
+ ```
338
+
339
+ ---
340
+
341
+ ## Action Strip
342
+
343
+ Add context actions (edit, delete, pin) that appear when hovering or selecting a row:
344
+
345
+ ```razor
346
+ <IgbGrid Data="data" PrimaryKey="Id" RowEditable="true">
347
+ <IgbColumn Field="Name" Header="Name" Editable="true" />
348
+ <IgbColumn Field="Salary" Header="Salary" Editable="true" />
349
+ <IgbActionStrip>
350
+ <IgbGridEditingActions AddRow="true" />
351
+ <IgbGridPinningActions />
352
+ </IgbActionStrip>
353
+ </IgbGrid>
354
+ ```
355
+
356
+ ### Action strip components
357
+
358
+ | Component | Description |
359
+ |---|---|
360
+ | `IgbActionStrip` | Container for row-level actions |
361
+ | `IgbGridEditingActions` | Provides edit/delete/add row buttons |
362
+ | `IgbGridPinningActions` | Provides pin/unpin row buttons |
363
+
364
+ ### Custom actions
365
+
366
+ ```razor
367
+ <IgbActionStrip>
368
+ <IgbGridEditingActions />
369
+ <IgbButton @onclick="() => ViewDetails(currentRowId)">
370
+ <IgbIcon Name="visibility" Collection="material" />
371
+ </IgbButton>
372
+ </IgbActionStrip>
373
+ ```
374
+
375
+ ---
376
+
377
+ ## Master-Detail (IgbGrid Only)
378
+
379
+ Show a detail view for each expanded row. This is specific to the flat grid - for multi-schema parent-child, use Hierarchical Grid instead.
380
+
381
+ ```razor
382
+ <IgbGrid Data="customers" PrimaryKey="CustomerId" AutoGenerate="false">
383
+ <IgbColumn Field="CustomerId" Header="ID" />
384
+ <IgbColumn Field="Name" Header="Customer Name" />
385
+ <IgbColumn Field="Country" Header="Country" />
386
+ <DetailTemplate>
387
+ @{
388
+ var customer = (Customer)context;
389
+ }
390
+ <div style="padding: 16px;">
391
+ <h4>Orders for @customer.Name</h4>
392
+ <IgbGrid Data="customer.Orders" PrimaryKey="OrderId" AutoGenerate="true"
393
+ Width="100%" Height="200px" />
394
+ </div>
395
+ </DetailTemplate>
396
+ </IgbGrid>
397
+
398
+ @code {
399
+ private List<Customer> customers = new(); // Customer has Orders child collection
400
+ }
401
+ ```
402
+
403
+ > **Important:** Master-detail via `DetailTemplate` is not available on Tree Grid, Hierarchical Grid, or Pivot Grid. For multi-schema hierarchies, use `IgbHierarchicalGrid` with `IgbRowIsland`.
404
+
405
+ ---
406
+
407
+ ## Clipboard
408
+
409
+ Grid supports copy-to-clipboard out of the box.
410
+
411
+ ### Key bindings
412
+
413
+ | Keys | Action |
414
+ |---|---|
415
+ | `Ctrl+C` | Copy selected cells |
416
+ | `Ctrl+Shift+H` | Copy with headers |
417
+
418
+ ### Configuration
419
+
420
+ ```razor
421
+ <IgbGrid Data="data" PrimaryKey="Id"
422
+ ClipboardOptions="clipboardOptions">
423
+ ...
424
+ </IgbGrid>
425
+
426
+ @code {
427
+ private IgbClipboardOptions clipboardOptions = new IgbClipboardOptions
428
+ {
429
+ Enabled = true,
430
+ CopyHeaders = true,
431
+ CopyFormatters = true,
432
+ Separator = "\t"
433
+ };
434
+ }
435
+ ```
436
+
437
+ ---
438
+
439
+ ## Key Rules
440
+
441
+ 1. **Grouping is IgbGrid only** - do not attempt `Groupable` on Tree Grid or Hierarchical Grid columns.
442
+ 2. **Cell merging is IgbGrid only** - it has no effect on other grid types.
443
+ 3. **Master-detail is IgbGrid only** - for other grids, use Tree Grid or Hierarchical Grid.
444
+ 4. **Virtualization requires a fixed grid height** - without `Height`, all rows render.
445
+ 5. **Export requires the toolbar or programmatic service injection** - register `IgbExcelExporterService` or `IgbCsvExporterService` if using programmatic export.
446
+ 6. **Action strip requires `RowEditable="true"`** for editing actions to function.
447
+ 7. **Summaries respect the `SummaryCalculationMode`** - set it for tree/hierarchical grids to control level-based calculations.
@@ -0,0 +1,78 @@
1
+ # Setting Up the Ignite UI CLI MCP Server
2
+
3
+ > **Part of the [`igniteui-blazor-grids`](../SKILL.md) skill hub.**
4
+
5
+ ## Contents
6
+
7
+ - [VS Code](#vs-code)
8
+ - [Cursor](#cursor)
9
+ - [Claude Desktop](#claude-desktop)
10
+ - [WebStorm / JetBrains IDEs](#webstorm--jetbrains-ides)
11
+ - [Verifying the Setup](#verifying-the-setup)
12
+
13
+ The Ignite UI CLI MCP server enables AI assistants to discover Ignite UI grid documentation, validate Blazor doc slugs, and avoid borrowing Angular, React, or Web Components APIs. It must be configured in your editor before these tools become available.
14
+
15
+ ## VS Code
16
+
17
+ Create or edit `.vscode/mcp.json` in your project:
18
+
19
+ ```json
20
+ {
21
+ "servers": {
22
+ "igniteui-cli": {
23
+ "command": "npx",
24
+ "args": ["-y", "igniteui-cli", "mcp"]
25
+ }
26
+ }
27
+ }
28
+ ```
29
+
30
+ This works whether `igniteui-cli` is installed locally in `node_modules` or needs to be pulled from the npm registry; `npx -y` handles both cases.
31
+
32
+ ## Cursor
33
+
34
+ Create or edit `.cursor/mcp.json`:
35
+
36
+ ```json
37
+ {
38
+ "mcpServers": {
39
+ "igniteui-cli": {
40
+ "command": "npx",
41
+ "args": ["-y", "igniteui-cli", "mcp"]
42
+ }
43
+ }
44
+ }
45
+ ```
46
+
47
+ ## Claude Desktop
48
+
49
+ Edit the Claude Desktop config file:
50
+
51
+ - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
52
+ - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
53
+
54
+ ```json
55
+ {
56
+ "mcpServers": {
57
+ "igniteui-cli": {
58
+ "command": "npx",
59
+ "args": ["-y", "igniteui-cli", "mcp"]
60
+ }
61
+ }
62
+ }
63
+ ```
64
+
65
+ ## WebStorm / JetBrains IDEs
66
+
67
+ 1. Go to **Settings -> Tools -> AI Assistant -> MCP Servers**
68
+ 2. Click **+ Add MCP Server**
69
+ 3. Set Command to `npx` and Arguments to `igniteui-cli mcp`
70
+ 4. Click OK and restart the AI Assistant
71
+
72
+ ## Verifying the Setup
73
+
74
+ After configuring the MCP server, ask your AI assistant:
75
+
76
+ > "List all available Ignite UI for Blazor grid docs"
77
+
78
+ If the MCP server is running, `list_components(framework: "blazor", filter: "grid")` or `search_docs(framework: "blazor", query: "grid")` will return available Blazor grid documentation entries.