Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 13 additions & 2 deletions .github/workflows/npm-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,10 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
- uses: actions/checkout@v4
with:
token: ${{ secrets.CLASSIC_PAT_GITHUB }}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you're adding a PAT token to this step as well, can we not just use submodules: true/recursive and have those clones correctly? I assume all of the submodules are needed at build time.

That'll also allow dropping or at least splitting the spread out submodule update calls from build scripts.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That PAT token was already added, so I've decided to reuse it. About other submodules, for now we don't use them during the build, so this will slow down the release workflow without any real need to have all of the submodules.

- uses: actions/setup-node@v4
with:
node-version: 24
registry-url: "https://registry.npmjs.org"
Expand All @@ -24,6 +26,15 @@ jobs:
- name: Install packages
run: yarn install --frozen-lockfile

- name: Configure git auth for private submodules
env:
TOKEN: ${{ secrets.CLASSIC_PAT_GITHUB }}
run: git config --global url."https://x-access-token:${TOKEN}@github.com/".insteadOf "https://github.com/"

- name: Build MCP API docs
working-directory: packages/igniteui-mcp/igniteui-doc-mcp
run: npm run build:docs:all

- name: Build packages
run: |
npm run build-pack
Expand Down
8 changes: 5 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,11 @@
[submodule "packages/igniteui-mcp/igniteui-doc-mcp/react/igniteui-react"]
path = packages/igniteui-mcp/igniteui-doc-mcp/react/igniteui-react
url = https://github.com/IgniteUI/igniteui-react.git
[submodule "packages/igniteui-mcp/igniteui-doc-mcp/blazor/api-docs"]
path = packages/igniteui-mcp/igniteui-doc-mcp/blazor/api-docs
url = https://github.com/IgniteUI/api-docs
[submodule "packages/igniteui-mcp/igniteui-doc-mcp/blazor/igniteui-blazor"]
path = packages/igniteui-mcp/igniteui-doc-mcp/blazor/igniteui-blazor
url = https://github.com/IgniteUI/igniteui-blazor.git
[submodule "packages/igniteui-mcp/igniteui-doc-mcp/common/api-docs"]
path = packages/igniteui-mcp/igniteui-doc-mcp/common/api-docs
url = https://github.com/IgniteUI/api-docs
branch = master
ignore = dirty
8 changes: 4 additions & 4 deletions packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "igniteui-cli",
"version": "15.2.1",
"version": "15.2.2-alpha.2",
"description": "CLI tool for creating Ignite UI projects",
"keywords": [
"CLI",
Expand Down Expand Up @@ -66,9 +66,9 @@
"all": true
},
"dependencies": {
"@igniteui/angular-templates": "^21.2.1521",
"@igniteui/cli-core": "^15.2.1",
"@igniteui/mcp-server": "^15.2.1",
"@igniteui/angular-templates": "^21.2.1522-alpha.2",
"@igniteui/cli-core": "^15.2.2-alpha.2",
"@igniteui/mcp-server": "^15.2.2-alpha.2",
"@inquirer/prompts": "^7.9.0",
"chalk": "^5.3.0",
"glob": "^11.0.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@igniteui/cli-core",
"version": "15.2.1",
"version": "15.2.2-alpha.2",
"description": "Base types and functionality for Ignite UI CLI",
"repository": {
"type": "git",
Expand Down
8 changes: 4 additions & 4 deletions packages/igniteui-mcp/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ yarn-debug.log*
yarn-error.log*

# API MCP - Generated documentation
# igniteui-doc-mcp/docs/angular-api
# igniteui-doc-mcp/docs/blazor-api
# igniteui-doc-mcp/docs/react-api
# igniteui-doc-mcp/docs/webcomponents-api
igniteui-doc-mcp/docs/angular-api
igniteui-doc-mcp/docs/blazor-api
igniteui-doc-mcp/docs/react-api
igniteui-doc-mcp/docs/webcomponents-api

tmp/
10 changes: 5 additions & 5 deletions packages/igniteui-mcp/igniteui-doc-mcp/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ This is the **Ignite UI Documentation MCP Server** — a Model Context Protocol
│ ├── inject-blazor-docs.ts # Inject Blazor sample code (github-src based, .razor/.razor.cs/.css files)
│ ├── compress-blazor-docs.ts # LLM-based compression with Blazor-specific prompt (Igb prefix, no suffix, supports --batch mode)
│ ├── validate-docs.ts # LLM-as-Judge validation of compressed docs (platform-independent)
│ ├── export-angular-api.ts # Build Angular API docs from blazor/api-docs submodule → docs/angular-api/
│ ├── export-react-api.ts # Build React API docs from blazor/api-docs submodule → docs/react-api/
│ ├── export-wc-api.ts # Build Web Components API docs from blazor/api-docs submodule → docs/webcomponents-api/
│ └── export-blazor-api.ts # Build Blazor API docs from blazor/api-docs submodule → docs/blazor-api/
│ ├── export-angular-api.ts # Build Angular API docs from common/api-docs submodule → docs/angular-api/
│ ├── export-react-api.ts # Build React API docs from common/api-docs submodule → docs/react-api/
│ ├── export-wc-api.ts # Build Web Components API docs from common/api-docs submodule → docs/webcomponents-api/
│ └── export-blazor-api.ts # Build Blazor API docs from common/api-docs submodule → docs/blazor-api/
├── docs/
│ ├── knowledgebase.md # Lessons learned and issues for cross-platform reference (32 entries)
│ ├── db.md # SQLite + FTS4 database integration (IMPLEMENTED)
Expand Down Expand Up @@ -84,7 +84,7 @@ npm start # run MCP server in local mode (default, uses bundled SQLite

### API Docs Generation

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:
The `common/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:

```bash
npm run build:docs:angular-api # Angular: Astro build → docs/angular-api/
Expand Down
14 changes: 7 additions & 7 deletions packages/igniteui-mcp/igniteui-doc-mcp/DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ MCP server that serves pre-compressed Ignite UI component documentation via full

```bash
cd packages/igniteui-mcp/igniteui-doc-mcp
git submodule update --init blazor/api-docs
git submodule update --init common/api-docs
npm install
```

Expand All @@ -24,7 +24,7 @@ npm run build:db
```

### Building the API markdown
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.
The `common/api-docs` submodule provides the Astro-based API build pipeline used by all four platforms. A fresh clone still needs `git submodule update --init common/api-docs` to materialize it locally.

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

Expand Down Expand Up @@ -417,7 +417,7 @@ Per-platform clear removes the platform subdirectory from `docs_processing/`, `d

## API Reference Documentation

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/`.
The MCP server provides API reference lookup via the `get_api_reference` and `search_api` tools. API docs are generated from the `common/api-docs` submodule using its Astro build pipeline and stored as `llms-full.txt` files in `docs/{platform}-api/`.

All four platforms use the same source strategy:

Expand All @@ -439,20 +439,20 @@ npm run build:docs:all # Build all four platforms
```

Each `build:docs:{platform}-api` script:
1. Initializes the `blazor/api-docs` git submodule
1. Initializes the `common/api-docs` git submodule
2. Runs `npm install` in the submodule
3. Runs the Astro static build for the platform (`npm run build:{platform}:en`)
4. Copies the generated `llms-full.txt` files from `dist/en/api/{platform}/` to `docs/{platform}-api/`

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.
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 `common/api-docs/src/data/angular/` so no fetch step is needed.

### Rebuilding After Upstream Changes

When a new version of `blazor/api-docs` is available:
When a new version of `common/api-docs` is available:

1. Update the submodule:
```bash
cd blazor/api-docs
cd common/api-docs
git fetch && git checkout <new-branch-or-tag>
cd ../..
```
Expand Down
4 changes: 2 additions & 2 deletions packages/igniteui-mcp/igniteui-doc-mcp/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@ npx @igniteui/mcp-server

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.

The `blazor/api-docs` submodule is required for local API markdown generation for all four platforms (Angular, React, Web Components, and Blazor).
The `common/api-docs` submodule is required for local API markdown generation for all four platforms (Angular, React, Web Components, and Blazor).

Recommended first-time setup:

```bash
cd packages/igniteui-mcp/igniteui-doc-mcp
git submodule update --init blazor/api-docs
git submodule update --init common/api-docs
npm install
npm run build:docs:all
npm run build
Expand Down
1 change: 0 additions & 1 deletion packages/igniteui-mcp/igniteui-doc-mcp/blazor/api-docs
Submodule api-docs deleted from b9bfff
1 change: 1 addition & 0 deletions packages/igniteui-mcp/igniteui-doc-mcp/common/api-docs
Submodule api-docs added at 170f96
Loading
Loading