Skip to content

Commit a5fa208

Browse files
committed
chore: update mds
1 parent 17711d3 commit a5fa208

4 files changed

Lines changed: 58 additions & 66 deletions

File tree

packages/igniteui-mcp/Specification.md

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -142,26 +142,25 @@ Doc "<name>" not found for framework "<framework>". Use list_components to see a
142142
**Return**: Markdown setup guidance only. The response contains installation, scaffolding, and next-step instructions for the selected framework.
143143

144144
### **search_api**
145-
**Purpose**: Search Ignite UI API entries by keyword, feature, or partial component name across Angular, React, and Web Components. Returns up to 10 results ranked by match count.
145+
**Purpose**: Search Ignite UI API entries by keyword, feature, or partial component name across all four platforms. Returns up to 10 results ranked by match count.
146146

147147
**Logic**:
148148
- Searches against component names, keywords, API type, and document content
149-
- Omitting `platform` searches all three supported platforms simultaneously
149+
- Omitting `platform` searches all four supported platforms simultaneously
150150
- Results are ranked by match count; each result includes the exact component name, platform tag, API type (class/interface/directive/enum), match count, keyword list, and a content excerpt
151151

152152
**Schema**:
153153
- `query`: String — keyword, partial name, or feature description; max 256 characters — required
154-
- `platform`: Enum (angular|react|webcomponents) — optional; omit to search all platforms
154+
- `platform`: Enum (angular|react|webcomponents|blazor) — optional; omit to search all platforms
155155

156156
**Constraints**:
157-
- Blazor is not supported
158157
- Output is text, not structured JSON
159158
- Returns an empty-query message immediately if the input is blank
160159

161160
**Return**: Up to 10 ranked text results. Use the exact `component` name and `platform` from a result to call `get_api_reference`.
162161

163162
### **get_api_reference**
164-
**Purpose**: Retrieve the full API reference for one Ignite UI component or class. Supports Angular, React, and Web Components. Component name matching is case-insensitive.
163+
**Purpose**: Retrieve the full API reference for one Ignite UI component or class. Supports Angular, React, Web Components, and Blazor. Component name matching is case-insensitive.
165164

166165
**Logic**:
167166
- Requires the exact component name (obtained from user code or an `search_api` result)
@@ -171,12 +170,9 @@ Doc "<name>" not found for framework "<framework>". Use list_components to see a
171170

172171
**Schema**:
173172
- `component`: String — exact component or class name; max 128 characters — required
174-
- `platform`: Enum (angular|react|webcomponents) — required
173+
- `platform`: Enum (angular|react|webcomponents|blazor) — required
175174
- `section`: Enum (all|properties|methods|events) — optional; defaults to `all`
176175

177-
**Constraints**:
178-
- Blazor is not supported
179-
180176
**Return**: Formatted Markdown for the requested API entry. The full entry (`section="all"`) includes the class/interface summary, properties with types and descriptions, methods with signatures, and events.
181177

182178
#### Error Response Contract

packages/igniteui-mcp/igniteui-doc-mcp/CLAUDE.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@ This is the **Ignite UI Documentation MCP Server** — a Model Context Protocol
2828
│ ├── export-blazor-docs.ts # Export Blazor docs from xplat gulp build (toc.json-driven, flatten hierarchy)
2929
│ ├── inject-blazor-docs.ts # Inject Blazor sample code (github-src based, .razor/.razor.cs/.css files)
3030
│ ├── compress-blazor-docs.ts # LLM-based compression with Blazor-specific prompt (Igb prefix, no suffix, supports --batch mode)
31-
│ └── validate-docs.ts # LLM-as-Judge validation of compressed docs (platform-independent)
31+
│ ├── validate-docs.ts # LLM-as-Judge validation of compressed docs (platform-independent)
32+
│ ├── export-angular-api.ts # Build Angular API docs from blazor/api-docs submodule → docs/angular-api/
33+
│ ├── export-react-api.ts # Build React API docs from blazor/api-docs submodule → docs/react-api/
34+
│ ├── export-wc-api.ts # Build Web Components API docs from blazor/api-docs submodule → docs/webcomponents-api/
35+
│ └── export-blazor-api.ts # Build Blazor API docs from blazor/api-docs submodule → docs/blazor-api/
3236
├── docs/
3337
│ ├── knowledgebase.md # Lessons learned and issues for cross-platform reference (32 entries)
3438
│ ├── db.md # SQLite + FTS4 database integration (IMPLEMENTED)
@@ -42,6 +46,10 @@ This is the **Ignite UI Documentation MCP Server** — a Model Context Protocol
4246
│ ├── react-pipeline.md # React pipeline implementation plan
4347
│ ├── wc-pipeline-plan.md # WebComponents pipeline implementation plan
4448
│ └── blazor-pipeline-plan.md # Blazor pipeline implementation plan
49+
├── angular-api/ # Angular API docs (llms-full.txt files, built by build:docs:angular-api)
50+
├── react-api/ # React API docs (llms-full.txt files, built by build:docs:react-api)
51+
├── webcomponents-api/ # Web Components API docs (llms-full.txt files, built by build:docs:wc-api)
52+
├── blazor-api/ # Blazor API docs (llms-full.txt files, built by build:docs:blazor-api)
4553
├── angular/ # Git submodules
4654
│ ├── igniteui-docfx/ # DocFX-based Angular documentation (en/jp/kr)
4755
│ │ └── en/components/toc.yml # Table of contents — source of truth for which files to process
@@ -74,6 +82,18 @@ npm run build # compile TypeScript (tsc) → outputs to ./dist/
7482
npm start # run MCP server in local mode (default, uses bundled SQLite DB)
7583
```
7684

85+
### API Docs Generation
86+
87+
The `blazor/api-docs` submodule provides the Astro build pipeline used by all four platforms. Run these scripts once (or when upstream API data changes) to populate the `docs/*-api/` directories:
88+
89+
```bash
90+
npm run build:docs:angular-api # Angular: Astro build → docs/angular-api/
91+
npm run build:docs:wc-api # Web Components: Astro build → docs/webcomponents-api/
92+
npm run build:docs:react-api # React: Astro build → docs/react-api/
93+
npm run build:docs:blazor-api # Blazor: docfx + Astro build → docs/blazor-api/
94+
npm run build:docs:all # Build all four platforms
95+
```
96+
7797
### Server Modes
7898

7999
| Mode | Activation | Data Source |

packages/igniteui-mcp/igniteui-doc-mcp/DEVELOPMENT.md

Lines changed: 29 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ MCP server that serves pre-compressed Ignite UI component documentation via full
66

77
```bash
88
cd packages/igniteui-mcp/igniteui-doc-mcp
9-
git submodule update --init --recursive
9+
git submodule update --init blazor/api-docs
1010
npm install
1111
```
1212

@@ -24,19 +24,15 @@ npm run build:db
2424
```
2525

2626
### Building the API markdown
27-
The repository already tracks the required documentation and source repositories as git submodules. A fresh clone still needs `git submodule update --init --recursive` to materialize them locally.
28-
29-
Required submodules for local API markdown generation include:
30-
- `angular/igniteui-angular`
31-
- `webcomponents/igniteui-webcomponents`
27+
The `blazor/api-docs` submodule provides the Astro-based API build pipeline used by all four platforms. A fresh clone still needs `git submodule update --init blazor/api-docs` to materialize it locally.
3228

3329
Before using the MCP server from a source checkout, generate the local API markdowns:
3430

3531
```bash
3632
npm run build:docs:all
3733
```
3834

39-
This step builds the Angular and Web Components API markdown used by the local MCP API tools. If you skip it, API lookups may be incomplete or unavailable even if the server itself builds successfully.
35+
This step generates API docs for all four platforms (Angular, React, Web Components, and Blazor). If you skip it, API lookups may be incomplete or unavailable even if the server itself builds successfully.
4036

4137
If you want to refresh submodules to newer upstream commits, run:
4238

@@ -421,70 +417,52 @@ Per-platform clear removes the platform subdirectory from `docs_processing/`, `d
421417

422418
## API Reference Documentation
423419

424-
The MCP server provides API reference lookup via the `get_api_reference` and `search_api` tools. API docs are generated from framework submodules using TypeDoc and stored in `docs/<framework>/`.
420+
The MCP server provides API reference lookup via the `get_api_reference` and `search_api` tools. API docs are generated from the `blazor/api-docs` submodule using its Astro build pipeline and stored as `llms-full.txt` files in `docs/{platform}-api/`.
425421

426-
Each framework uses one of two source strategies:
422+
All four platforms use the same source strategy:
427423

428-
| Framework | Strategy | Source | Output |
429-
|-----------|----------|--------|--------|
430-
| Angular | `markdown-index` | `angular/igniteui-angular` (TypeDoc → markdown) | `docs/angular/api/*.md` + `index.json` |
431-
| React | `typedoc-json` | Pre-built TypeDoc JSON model | `docs/react/igniteui-react.json` |
432-
| Web Components | `markdown-index` | `webcomponents/igniteui-webcomponents` (TypeDoc → markdown) | `docs/webcomponents/api/*.md` + `index.json` |
433-
| Blazor | | Not yet supported | |
424+
| Platform | Build script | Output |
425+
|----------|-------------|--------|
426+
| Angular | `build:docs:angular-api` | `docs/angular-api/{package}/{version}/llms-full.txt` |
427+
| React | `build:docs:react-api` | `docs/react-api/{package}/{version}/llms-full.txt` |
428+
| Web Components | `build:docs:wc-api` | `docs/webcomponents-api/{package}/{version}/llms-full.txt` |
429+
| Blazor | `build:docs:blazor-api` | `docs/blazor-api/{package}/{version}/llms-full.txt` |
434430

435431
### Building API Docs
436432

437433
```bash
438-
npm run build:docs:angular # Angular: TypeDoc → markdown + search index
439-
npm run build:docs:webcomponents # Web Components: build lib → TypeDoc → markdown + search index
440-
npm run build:docs:all # Build both Angular and Web Components
434+
npm run build:docs:angular-api # Angular: Astro build → llms-full.txt files
435+
npm run build:docs:wc-api # Web Components: Astro build → llms-full.txt files
436+
npm run build:docs:react-api # React: Astro build → llms-full.txt files
437+
npm run build:docs:blazor-api # Blazor: docfx + Astro build → llms-full.txt files
438+
npm run build:docs:all # Build all four platforms
441439
```
442440

443-
Each `build:docs:<platform>` script:
444-
1. Initializes the required git submodule (`git submodule update --init`)
445-
2. Compiles the MCP server TypeScript (`npm run build`)
446-
3. Runs `scripts/build-docs.mjs <platform>` which:
447-
- Checks the submodule is built (for Web Components, runs `npm install && npm run build:publish` if needed)
448-
- Runs TypeDoc with the config from `typedoc/<platform>.typedoc.json`
449-
- Generates markdown files in `docs/<platform>/api/`
450-
- Builds a search index (`index.json`) with component names, types, keywords, and summaries
441+
Each `build:docs:{platform}-api` script:
442+
1. Initializes the `blazor/api-docs` git submodule
443+
2. Runs `npm install` in the submodule
444+
3. Runs the Astro static build for the platform (`npm run build:{platform}:en`)
445+
4. Copies the generated `llms-full.txt` files from `dist/en/api/{platform}/` to `docs/{platform}-api/`
451446

452-
**React** uses a pre-built TypeDoc JSON model (`docs/react/igniteui-react.json`) that is checked into git. It does not need a `build:docs` step — the JSON is parsed at runtime by `ReactJsonParser`.
447+
The Blazor script additionally runs `dotnet tool restore` and `npm run fetch:tools:blazor` + the five docfx package build scripts before the Astro step. Angular's TypeDoc JSON data is pre-bundled in `blazor/api-docs/src/data/angular/` so no fetch step is needed.
453448

454449
### Rebuilding After Upstream Changes
455450

456-
When the upstream Angular or Web Components library releases a new version:
451+
When a new version of `blazor/api-docs` is available:
457452

458-
1. Update the submodule to the new version:
453+
1. Update the submodule:
459454
```bash
460-
cd angular/igniteui-angular # or webcomponents/igniteui-webcomponents
461-
git fetch && git checkout <new-tag>
455+
cd blazor/api-docs
456+
git fetch && git checkout <new-branch-or-tag>
462457
cd ../..
463458
```
464459

465-
2. Rebuild the API docs:
460+
2. Rebuild the affected platform's API docs:
466461
```bash
467-
npm run build:docs:angular # or build:docs:webcomponents
462+
npm run build:docs:angular-api # or wc-api / react-api / blazor-api
468463
```
469464

470-
3. Commit the updated `docs/` output and submodule reference.
471-
472-
### Web Components First-Time Build
473-
474-
The Web Components submodule requires a one-time library build before TypeDoc can generate docs. The `build-docs.mjs` script handles this automatically:
475-
476-
1. If `dist/index.d.ts` is missing, it runs `npm install && npm run build:publish`
477-
2. After TypeDoc completes, it cleans up `node_modules` if it installed them
478-
3. Subsequent runs skip the build step if `dist/index.d.ts` exists
479-
480-
If the automatic build fails, build manually:
481-
482-
```bash
483-
cd webcomponents/igniteui-webcomponents
484-
npm install && npm run build:publish
485-
cd ../..
486-
npm run build:docs:webcomponents
487-
```
465+
3. Commit the updated `docs/{platform}-api/` output and submodule reference.
488466

489467
## MCP Server
490468

packages/igniteui-mcp/igniteui-doc-mcp/README.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,21 +20,19 @@ npx @igniteui/mcp-server
2020

2121
In order to run the MCP from this repository, git submodules must be initialized first. The repo already includes the submodule entries, but a fresh clone still needs to fetch them locally.
2222

23-
Required submodules for local API markdown generation include:
24-
- `angular/igniteui-angular`
25-
- `webcomponents/igniteui-webcomponents`
23+
The `blazor/api-docs` submodule is required for local API markdown generation for all four platforms (Angular, React, Web Components, and Blazor).
2624

2725
Recommended first-time setup:
2826

2927
```bash
3028
cd packages/igniteui-mcp/igniteui-doc-mcp
31-
git submodule update --init --recursive
29+
git submodule update --init blazor/api-docs
3230
npm install
3331
npm run build:docs:all
3432
npm run build
3533
```
3634

37-
`npm run build:docs:all` generates the local API markdown artifacts used by the MCP API tools for Angular and Web Components. Run it before starting the server.
35+
`npm run build:docs:all` generates the local API markdown artifacts used by the MCP API tools for all four platforms (Angular, React, Web Components, and Blazor). Run it before starting the server.
3836

3937
If you need to refresh submodules to newer upstream commits later, use:
4038

0 commit comments

Comments
 (0)