wavemaker-dev-mcp 0.1.3 → 1.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.
- package/README.md +75 -52
- package/dist/index.js +108 -177
- package/dist/index.js.map +1 -1
- package/dist/skills/loader.d.ts +36 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +107 -0
- package/dist/skills/loader.js.map +1 -0
- package/package.json +8 -4
- package/skills/components/wm-accordion-pane.md +44 -0
- package/skills/components/wm-accordion.md +43 -0
- package/skills/components/wm-alert-dialog.md +42 -0
- package/skills/components/wm-anchor.md +51 -0
- package/skills/components/wm-audio.md +41 -0
- package/skills/components/wm-button-group.md +36 -0
- package/skills/components/wm-button.md +114 -0
- package/skills/components/wm-calendar.md +54 -0
- package/skills/components/wm-card.md +60 -0
- package/skills/components/wm-carousel.md +43 -0
- package/skills/components/wm-chart.md +104 -0
- package/skills/components/wm-checkbox.md +52 -0
- package/skills/components/wm-checkboxset.md +75 -0
- package/skills/components/wm-chips.md +78 -0
- package/skills/components/wm-composite.md +30 -0
- package/skills/components/wm-confirm-dialog.md +43 -0
- package/skills/components/wm-container.md +100 -0
- package/skills/components/wm-currency.md +69 -0
- package/skills/components/wm-datatable.md +146 -0
- package/skills/components/wm-date-time.md +80 -0
- package/skills/components/wm-date.md +78 -0
- package/skills/components/wm-dialog-body.md +28 -0
- package/skills/components/wm-dialog-container.md +48 -0
- package/skills/components/wm-dialog-content.md +31 -0
- package/skills/components/wm-dialog-footer.md +28 -0
- package/skills/components/wm-dialog-header.md +43 -0
- package/skills/components/wm-dialog.md +40 -0
- package/skills/components/wm-file-upload.md +58 -0
- package/skills/components/wm-footer.md +31 -0
- package/skills/components/wm-form-field.md +81 -0
- package/skills/components/wm-form.md +58 -0
- package/skills/components/wm-grid-column.md +30 -0
- package/skills/components/wm-header.md +31 -0
- package/skills/components/wm-html.md +31 -0
- package/skills/components/wm-icon.md +40 -0
- package/skills/components/wm-iframe-dialog.md +52 -0
- package/skills/components/wm-iframe.md +35 -0
- package/skills/components/wm-label.md +45 -0
- package/skills/components/wm-left-nav.md +35 -0
- package/skills/components/wm-linear-layout-item.md +28 -0
- package/skills/components/wm-linear-layout.md +92 -0
- package/skills/components/wm-list.md +92 -0
- package/skills/components/wm-live-filter.md +50 -0
- package/skills/components/wm-live-form.md +35 -0
- package/skills/components/wm-login-dialog.md +50 -0
- package/skills/components/wm-login.md +39 -0
- package/skills/components/wm-marquee.md +31 -0
- package/skills/components/wm-menu.md +71 -0
- package/skills/components/wm-message.md +41 -0
- package/skills/components/wm-nav-item.md +28 -0
- package/skills/components/wm-nav.md +61 -0
- package/skills/components/wm-number.md +62 -0
- package/skills/components/wm-page-content.md +34 -0
- package/skills/components/wm-page-dialog.md +45 -0
- package/skills/components/wm-page-toast.md +34 -0
- package/skills/components/wm-page.md +34 -0
- package/skills/components/wm-pagination.md +62 -0
- package/skills/components/wm-panel.md +69 -0
- package/skills/components/wm-partial-container.md +32 -0
- package/skills/components/wm-picture.md +46 -0
- package/skills/components/wm-popover.md +51 -0
- package/skills/components/wm-prefab-container.md +29 -0
- package/skills/components/wm-prefab.md +35 -0
- package/skills/components/wm-progress-bar.md +42 -0
- package/skills/components/wm-progress-circle.md +45 -0
- package/skills/components/wm-radioset.md +66 -0
- package/skills/components/wm-rating.md +76 -0
- package/skills/components/wm-rich-text-editor.md +36 -0
- package/skills/components/wm-right-nav.md +32 -0
- package/skills/components/wm-search.md +66 -0
- package/skills/components/wm-select.md +129 -0
- package/skills/components/wm-slider.md +53 -0
- package/skills/components/wm-spinner.md +43 -0
- package/skills/components/wm-tab-pane.md +45 -0
- package/skills/components/wm-table.md +113 -0
- package/skills/components/wm-tabs.md +48 -0
- package/skills/components/wm-text.md +65 -0
- package/skills/components/wm-textarea.md +47 -0
- package/skills/components/wm-tile.md +34 -0
- package/skills/components/wm-time.md +63 -0
- package/skills/components/wm-top-nav.md +31 -0
- package/skills/components/wm-tree.md +41 -0
- package/skills/components/wm-upload.md +42 -0
- package/skills/components/wm-video.md +48 -0
- package/skills/components/wm-wizard.md +59 -0
- package/skills/index.json +1151 -0
- package/skills/tokens/border.md +85 -0
- package/skills/tokens/colors.md +97 -0
- package/skills/tokens/elevation.md +73 -0
- package/skills/tokens/spacing.md +89 -0
- package/skills/tokens/typography.md +88 -0
- package/dist/components.d.ts +0 -17
- package/dist/components.d.ts.map +0 -1
- package/dist/components.js +0 -67
- package/dist/components.js.map +0 -1
- package/dist/paths.d.ts +0 -43
- package/dist/paths.d.ts.map +0 -1
- package/dist/paths.js +0 -103
- package/dist/paths.js.map +0 -1
- package/dist/search.d.ts +0 -15
- package/dist/search.d.ts.map +0 -1
- package/dist/search.js +0 -130
- package/dist/search.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,98 +1,121 @@
|
|
|
1
1
|
# wavemaker-dev-mcp
|
|
2
2
|
|
|
3
|
-
An MCP (Model Context Protocol) server that
|
|
3
|
+
An MCP (Model Context Protocol) server that helps AI coding assistants generate WaveMaker React markup using pre-built skill documents. No repo checkout required — all component and token docs are bundled in the package.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
- **`@wavemaker/foundation-css`** or **`@wavemaker-ai/foundation-css`** — tokens, LESS, and CSS
|
|
7
|
-
- **Layout helpers** — rule-based suggestions (component choice, spacing tokens, layout checks, sibling wrapper hints via `fix_layout_spacing`), plus a placeholder DOM analysis tool (replaceable with Playwright later)
|
|
8
|
-
|
|
9
|
-
There are **no embeddings** and **no vector DB**. Search uses [ripgrep](https://github.com/BurntSushi/ripgrep) when available, with a Node.js fallback.
|
|
5
|
+
There are **no embeddings**, **no vector DB**, and **no live repo scanning**. Skills are generated from WaveMaker source repos and bundled at publish time.
|
|
10
6
|
|
|
11
7
|
## Requirements
|
|
12
8
|
|
|
13
9
|
- Node.js 18+
|
|
14
|
-
-
|
|
15
|
-
- Optional: `rg` on `PATH` for faster search
|
|
10
|
+
- No additional configuration — skill docs are bundled in the package.
|
|
16
11
|
|
|
17
12
|
## Install
|
|
18
13
|
|
|
19
14
|
```bash
|
|
20
|
-
|
|
15
|
+
# From npm (recommended)
|
|
16
|
+
npx -y wavemaker-dev-mcp
|
|
17
|
+
|
|
18
|
+
# From source
|
|
19
|
+
git clone <repo-url> wavemaker-dev-mcp
|
|
21
20
|
cd wavemaker-dev-mcp
|
|
22
21
|
npm install
|
|
23
22
|
npm run build
|
|
24
23
|
```
|
|
25
24
|
|
|
26
|
-
|
|
25
|
+
## Skills system
|
|
27
26
|
|
|
28
|
-
|
|
27
|
+
Skills are pre-generated Markdown documents covering every WaveMaker component and design token group. They are bundled in the package under `skills/` — no live repo access needed.
|
|
28
|
+
|
|
29
|
+
### Recommended LLM session workflow
|
|
30
|
+
|
|
31
|
+
1. Call `list_skills` once at the start to load the component index (~500 tokens).
|
|
32
|
+
2. Call `get_skill("WmSelect")` before generating markup for a specific component (~400–700 tokens per skill).
|
|
33
|
+
3. Call `search_skills("sortable table with pagination")` when unsure which component to use.
|
|
29
34
|
|
|
30
|
-
|
|
35
|
+
### Regenerating skills after repo updates
|
|
31
36
|
|
|
32
|
-
|
|
37
|
+
Skills are generated from the react-runtime and foundation-css source repos. Run this after pulling updates:
|
|
33
38
|
|
|
39
|
+
**Option 1 — CLI args:**
|
|
34
40
|
```bash
|
|
35
|
-
|
|
41
|
+
npm run generate-skills -- \
|
|
42
|
+
--runtime-path=/path/to/wavemaker-react-runtime \
|
|
43
|
+
--css-path=/path/to/wavemaker-foundation-css \
|
|
44
|
+
--force
|
|
36
45
|
```
|
|
37
46
|
|
|
38
|
-
|
|
47
|
+
**Option 2 — env vars** (set once in your shell profile, then just run the script):
|
|
48
|
+
```bash
|
|
49
|
+
# Add to ~/.zshrc or ~/.bashrc
|
|
50
|
+
export WM_REACT_RUNTIME_SOURCE=/path/to/wavemaker-react-runtime
|
|
51
|
+
export WM_FOUNDATION_CSS_SOURCE=/path/to/wavemaker-foundation-css
|
|
52
|
+
```
|
|
39
53
|
|
|
40
|
-
|
|
54
|
+
```bash
|
|
55
|
+
npm run generate-skills -- --force
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
CLI args take priority over env vars. `--runtime-path` / `WM_REACT_RUNTIME_SOURCE` is required; `--css-path` / `WM_FOUNDATION_CSS_SOURCE` is optional (skips token doc generation if omitted).
|
|
59
|
+
|
|
60
|
+
| Flag | Description |
|
|
61
|
+
|------|-------------|
|
|
62
|
+
| `--force` | Regenerates all auto-generated skills. Hand-crafted skills (no `generated: true` in frontmatter) are always preserved. |
|
|
63
|
+
| `--dry-run` | Preview what would be written without touching any files. |
|
|
64
|
+
|
|
65
|
+
> These env vars are only used by the `generate-skills` script — the MCP server itself needs no configuration.
|
|
66
|
+
|
|
67
|
+
## Local testing (MCP Inspector)
|
|
68
|
+
|
|
69
|
+
Use [@modelcontextprotocol/inspector](https://www.npmjs.com/package/@modelcontextprotocol/inspector) to exercise the server in a browser (requires Node.js ≥ 22.7.5):
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
npm run build
|
|
73
|
+
npx @modelcontextprotocol/inspector --config mcp.json --server wavemaker-dev
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Open the URL printed in the terminal (default **http://localhost:6274**).
|
|
41
77
|
|
|
42
78
|
## Environment variables
|
|
43
79
|
|
|
80
|
+
The MCP server needs no environment variables. The following are only used by the `generate-skills` script:
|
|
81
|
+
|
|
44
82
|
| Variable | Purpose |
|
|
45
83
|
|----------|---------|
|
|
46
|
-
| `
|
|
47
|
-
| `
|
|
48
|
-
| `WM_FOUNDATION_CSS_ROOT` | Absolute path to the foundation-css package root. |
|
|
84
|
+
| `WM_REACT_RUNTIME_SOURCE` | Path to a local react-runtime source clone (used by `generate-skills`). |
|
|
85
|
+
| `WM_FOUNDATION_CSS_SOURCE` | Path to a local foundation-css source clone (used by `generate-skills`). |
|
|
49
86
|
|
|
50
87
|
## Tools
|
|
51
88
|
|
|
89
|
+
### Skill tools (no repo required)
|
|
90
|
+
|
|
52
91
|
| Tool | Description |
|
|
53
92
|
|------|-------------|
|
|
54
|
-
| `
|
|
55
|
-
| `
|
|
56
|
-
| `
|
|
57
|
-
| `
|
|
58
|
-
| `read_foundation_css_file` | Read a file relative to foundation-css. |
|
|
59
|
-
| `find_wavemaker_component` | Given a name like `WmSelect` or `select`, list matching `props` paths and sample references under `components/`. |
|
|
60
|
-
| `suggest_component` | Map layout intent (`layout`, `repeat`, `grouped`) to a component name (e.g. `WmGrid`, `WmList`, `WmCard`, `WmFlex`). |
|
|
61
|
-
| `map_spacing` | Map a pixel value (`px`) to the nearest spacing token (`xs`–`xl`) and numeric value. |
|
|
62
|
-
| `validate_layout` | Check a `layout` string and `code` snippet for common issues (e.g. row direction, `Wm*` components). |
|
|
63
|
-
| `analyze_dom` | Returns mock header height, spacing, and alignment; intended as a stub until real DOM analysis is added. |
|
|
64
|
-
| `enforce_spacing` | Given optional `type` (e.g. `card-group`, `section`) and `layout` (`row` / `column`), returns rule-based `gap` and `padding` tokens. |
|
|
65
|
-
| `fix_layout_spacing` | Given optional `siblingsCount`, returns `WmFlex` with `direction: row` and `gap: lg` when count is greater than one; otherwise `{ wrapper: null }`. |
|
|
66
|
-
|
|
67
|
-
## Cursor
|
|
93
|
+
| `list_skills` | Returns the skill index: all component names, categories, summaries, and tags. Accepts optional `category` filter. |
|
|
94
|
+
| `get_skill` | Returns the full Markdown skill doc for a component (e.g. `WmSelect`, `WmLinearLayout`) or token group (e.g. `spacing`, `colors`). Case-insensitive, strips `Wm` prefix. |
|
|
95
|
+
| `search_skills` | Free-text search across all skills by intent (e.g. `"sortable table with pagination"`). Returns top-N matches with scores. |
|
|
96
|
+
| `skills_meta` | Returns skill index metadata: version, generated timestamp, source git hashes, component/token counts. |
|
|
68
97
|
|
|
69
|
-
|
|
98
|
+
### Layout / spacing tools
|
|
70
99
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
"cwd": "/path/to/your-wm-react-app"
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
```
|
|
100
|
+
| Tool | Description |
|
|
101
|
+
|------|-------------|
|
|
102
|
+
| `suggest_component` | Map layout intent (`layout`, `repeat`, `grouped`) to a WaveMaker component name and import path. |
|
|
103
|
+
| `map_spacing` | Map a pixel value to the nearest spacing token (`xs`–`xl`) and `WmLinearLayout` spacing value. |
|
|
104
|
+
| `validate_layout` | Check a layout string and code snippet for common issues (wrong prefix, missing direction). |
|
|
105
|
+
| `analyze_dom` | Returns mock header height, spacing, and alignment. Stub for future Playwright integration. |
|
|
106
|
+
| `enforce_spacing` | Given `type` (e.g. `card-group`, `section`) and `layout` (`row`/`column`), returns token-based gap and padding values. |
|
|
107
|
+
| `fix_layout_spacing` | Given `siblingsCount`, recommends wrapping siblings in `WmLinearLayout` + `WmLinearLayoutItem`. |
|
|
84
108
|
|
|
85
|
-
|
|
109
|
+
## Cursor / Claude Code setup
|
|
86
110
|
|
|
87
|
-
|
|
111
|
+
Zero config — add to your MCP config and it works immediately:
|
|
88
112
|
|
|
89
113
|
```json
|
|
90
114
|
{
|
|
91
115
|
"mcpServers": {
|
|
92
116
|
"wavemaker-dev": {
|
|
93
117
|
"command": "npx",
|
|
94
|
-
"args": ["-y", "wavemaker-dev-mcp"]
|
|
95
|
-
"cwd": "/path/to/your-wm-react-app"
|
|
118
|
+
"args": ["-y", "wavemaker-dev-mcp"]
|
|
96
119
|
}
|
|
97
120
|
}
|
|
98
121
|
}
|
|
@@ -100,7 +123,7 @@ After publishing to npm, you can use:
|
|
|
100
123
|
|
|
101
124
|
## Tests (Playwright)
|
|
102
125
|
|
|
103
|
-
Integration tests spawn the server over stdio
|
|
126
|
+
Integration tests spawn the actual server over stdio. All tests run standalone — no WM repo checkout needed.
|
|
104
127
|
|
|
105
128
|
```bash
|
|
106
129
|
npm run build
|
package/dist/index.js
CHANGED
|
@@ -1,213 +1,144 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
4
|
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
9
5
|
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
10
6
|
const zod_1 = require("zod");
|
|
11
|
-
const components_js_1 = require("./components.js");
|
|
12
|
-
const paths_js_1 = require("./paths.js");
|
|
13
|
-
const search_js_1 = require("./search.js");
|
|
14
7
|
const layout_tools_js_1 = require("./layout-tools.js");
|
|
15
|
-
|
|
16
|
-
return workingDirectory ?? process.env.WM_PROJECT_ROOT?.trim() ?? process.cwd();
|
|
17
|
-
}
|
|
18
|
-
const MAX_READ_BYTES = 512 * 1024;
|
|
19
|
-
const MAX_LINES_PREVIEW = 400;
|
|
20
|
-
function readFileSlice(absolute, startLine, endLine) {
|
|
21
|
-
const buf = node_fs_1.default.readFileSync(absolute);
|
|
22
|
-
let text = buf.length > MAX_READ_BYTES ? buf.subarray(0, MAX_READ_BYTES).toString("utf8") : buf.toString("utf8");
|
|
23
|
-
let truncated = buf.length > MAX_READ_BYTES;
|
|
24
|
-
const lines = text.split(/\r?\n/);
|
|
25
|
-
if (startLine !== undefined || endLine !== undefined) {
|
|
26
|
-
const start = Math.max(1, startLine ?? 1) - 1;
|
|
27
|
-
const end = endLine === undefined ? lines.length : Math.min(lines.length, endLine);
|
|
28
|
-
const slice = lines.slice(start, end);
|
|
29
|
-
if (slice.length > MAX_LINES_PREVIEW) {
|
|
30
|
-
truncated = true;
|
|
31
|
-
return { text: slice.slice(0, MAX_LINES_PREVIEW).join("\n"), truncated };
|
|
32
|
-
}
|
|
33
|
-
return { text: slice.join("\n"), truncated };
|
|
34
|
-
}
|
|
35
|
-
if (lines.length > MAX_LINES_PREVIEW) {
|
|
36
|
-
return { text: lines.slice(0, MAX_LINES_PREVIEW).join("\n"), truncated: true };
|
|
37
|
-
}
|
|
38
|
-
return { text, truncated };
|
|
39
|
-
}
|
|
40
|
-
const workingDirSchema = zod_1.z
|
|
41
|
-
.string()
|
|
42
|
-
.optional()
|
|
43
|
-
.describe("Project root (directory containing node_modules). Defaults to process.cwd(). Set when the MCP process cwd is not your app root.");
|
|
8
|
+
const loader_js_1 = require("./skills/loader.js");
|
|
44
9
|
async function main() {
|
|
45
10
|
const mcp = new mcp_js_1.McpServer({
|
|
46
11
|
name: "wavemaker-dev-mcp",
|
|
47
|
-
version: "0.1.
|
|
12
|
+
version: "0.1.4",
|
|
48
13
|
title: "WaveMaker React & Foundation CSS",
|
|
49
14
|
});
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
roots.reactRuntime
|
|
59
|
-
? `reactRuntime: ${roots.reactRuntime.path} [${roots.reactRuntime.resolution}]`
|
|
60
|
-
: "reactRuntime: NOT FOUND (set WM_REACT_RUNTIME_SOURCE or WM_REACT_RUNTIME_ROOT, or install @wavemaker/react-runtime under node_modules)",
|
|
61
|
-
roots.foundationCss
|
|
62
|
-
? `foundationCss: ${roots.foundationCss.path} [${roots.foundationCss.resolution}, ${roots.foundationCss.packageName}]`
|
|
63
|
-
: "foundationCss: NOT FOUND (set WM_FOUNDATION_CSS_SOURCE or WM_FOUNDATION_CSS_ROOT, or install @wavemaker/foundation-css under node_modules)",
|
|
64
|
-
];
|
|
65
|
-
return { content: [{ type: "text", text: lines.join("\n") }] };
|
|
66
|
-
});
|
|
67
|
-
mcp.registerTool("search_wavemaker_runtime", {
|
|
68
|
-
title: "Search @wavemaker/react-runtime sources",
|
|
69
|
-
description: "Ripgrep (or Node fallback) over the installed react-runtime package for symbols, props, or text. Use fileGlob like **/*.js or **/props.js to narrow scope.",
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
// Skill tools — no repo checkout required
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
mcp.registerTool("list_skills", {
|
|
19
|
+
title: "List available WaveMaker component skills",
|
|
20
|
+
description: "Returns the index of pre-built component and token skill documents. " +
|
|
21
|
+
"Call this at the start of a code generation session to see what skills are available, " +
|
|
22
|
+
"then use get_skill to load the full document for a specific component.",
|
|
70
23
|
inputSchema: {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
24
|
+
category: zod_1.z
|
|
25
|
+
.string()
|
|
26
|
+
.optional()
|
|
27
|
+
.describe('Filter by category: "container", "input", "form", "data", "basic", "layout", "navigation". Omit for all.'),
|
|
75
28
|
},
|
|
76
|
-
}, async ({
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
29
|
+
}, async ({ category }) => {
|
|
30
|
+
const index = (0, loader_js_1.loadIndex)();
|
|
31
|
+
const components = category
|
|
32
|
+
? index.components.filter((c) => c.category === category)
|
|
33
|
+
: index.components;
|
|
34
|
+
const out = {
|
|
35
|
+
skills_version: index.version,
|
|
36
|
+
generated: index.generated,
|
|
37
|
+
components: components.map((c) => ({
|
|
38
|
+
name: c.name,
|
|
39
|
+
category: c.category,
|
|
40
|
+
summary: c.summary,
|
|
41
|
+
tags: c.tags,
|
|
42
|
+
})),
|
|
43
|
+
tokens: index.tokens.map((t) => ({
|
|
44
|
+
name: t.name,
|
|
45
|
+
summary: t.summary,
|
|
46
|
+
tags: t.tags,
|
|
47
|
+
})),
|
|
48
|
+
};
|
|
49
|
+
return { content: [{ type: "text", text: JSON.stringify(out, null, 2) }] };
|
|
91
50
|
});
|
|
92
|
-
mcp.registerTool("
|
|
93
|
-
title: "
|
|
94
|
-
description: "
|
|
51
|
+
mcp.registerTool("get_skill", {
|
|
52
|
+
title: "Get WaveMaker component or token skill document",
|
|
53
|
+
description: "Returns the full Markdown skill document for a component (e.g. WmSelect, WmLinearLayout) or token group (e.g. spacing, colors). " +
|
|
54
|
+
"Each document contains: usage examples, all key props with types and defaults, CSS token references, and common patterns. " +
|
|
55
|
+
"Case-insensitive; strips 'Wm' prefix automatically.",
|
|
95
56
|
inputSchema: {
|
|
96
|
-
|
|
57
|
+
name: zod_1.z
|
|
97
58
|
.string()
|
|
98
|
-
.describe(
|
|
99
|
-
startLine: zod_1.z.number().optional().describe("1-based start line (optional)."),
|
|
100
|
-
endLine: zod_1.z.number().optional().describe("1-based end line inclusive (optional)."),
|
|
101
|
-
workingDirectory: workingDirSchema,
|
|
59
|
+
.describe('Component name (e.g. "WmSelect", "WmLinearLayout") or token group name (e.g. "spacing"). Case-insensitive.'),
|
|
102
60
|
},
|
|
103
|
-
}, async ({
|
|
104
|
-
const
|
|
105
|
-
if (
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
content: [{ type: "text", text: "react-runtime not found." }],
|
|
109
|
-
};
|
|
61
|
+
}, async ({ name }) => {
|
|
62
|
+
const component = (0, loader_js_1.findComponentSkill)(name);
|
|
63
|
+
if (component) {
|
|
64
|
+
const content = (0, loader_js_1.readSkillFile)(component.file);
|
|
65
|
+
return { content: [{ type: "text", text: content }] };
|
|
110
66
|
}
|
|
111
|
-
const
|
|
112
|
-
if (
|
|
113
|
-
|
|
67
|
+
const token = (0, loader_js_1.findTokenSkill)(name);
|
|
68
|
+
if (token) {
|
|
69
|
+
const content = (0, loader_js_1.readSkillFile)(token.file);
|
|
70
|
+
return { content: [{ type: "text", text: content }] };
|
|
114
71
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
return {
|
|
72
|
+
const index = (0, loader_js_1.loadIndex)();
|
|
73
|
+
const available = [
|
|
74
|
+
...index.components.map((c) => c.name),
|
|
75
|
+
...index.tokens.map((t) => t.name),
|
|
76
|
+
].join(", ");
|
|
77
|
+
return {
|
|
78
|
+
isError: true,
|
|
79
|
+
content: [
|
|
80
|
+
{
|
|
81
|
+
type: "text",
|
|
82
|
+
text: `No skill found for "${name}". Available: ${available}\nUse list_skills to browse all, or search_skills to find by intent.`,
|
|
83
|
+
},
|
|
84
|
+
],
|
|
85
|
+
};
|
|
121
86
|
});
|
|
122
|
-
mcp.registerTool("
|
|
123
|
-
title: "Search
|
|
124
|
-
description: "
|
|
87
|
+
mcp.registerTool("search_skills", {
|
|
88
|
+
title: "Search WaveMaker skills by intent or keyword",
|
|
89
|
+
description: "Searches skill documents by free-text query and returns the top matching components and token groups with summaries. " +
|
|
90
|
+
'Use when you are not sure which component to use (e.g. "I need a sortable table", "dropdown with search", "flex row layout"). ' +
|
|
91
|
+
"Returns component names you can then pass to get_skill.",
|
|
125
92
|
inputSchema: {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
93
|
+
query: zod_1.z
|
|
94
|
+
.string()
|
|
95
|
+
.describe('Free-text intent or keyword, e.g. "sortable data grid with pagination" or "dropdown select input".'),
|
|
96
|
+
topN: zod_1.z
|
|
97
|
+
.number()
|
|
98
|
+
.optional()
|
|
99
|
+
.describe("Max results to return (default 5)."),
|
|
130
100
|
},
|
|
131
|
-
}, async ({
|
|
132
|
-
const
|
|
133
|
-
if (
|
|
101
|
+
}, async ({ query, topN }) => {
|
|
102
|
+
const results = (0, loader_js_1.searchSkills)(query, topN ?? 5);
|
|
103
|
+
if (results.length === 0) {
|
|
134
104
|
return {
|
|
135
|
-
isError: true,
|
|
136
105
|
content: [
|
|
137
106
|
{
|
|
138
107
|
type: "text",
|
|
139
|
-
text:
|
|
108
|
+
text: `No skills matched "${query}". Use list_skills to see all available components.`,
|
|
140
109
|
},
|
|
141
110
|
],
|
|
142
111
|
};
|
|
143
112
|
}
|
|
144
|
-
const
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
mcp.registerTool("read_foundation_css_file", {
|
|
153
|
-
title: "Read a file under foundation-css",
|
|
154
|
-
description: "Read a file from the foundation-css package (tokens, LESS, CSS). Path is relative to package root.",
|
|
155
|
-
inputSchema: {
|
|
156
|
-
relativePath: zod_1.z.string(),
|
|
157
|
-
startLine: zod_1.z.number().optional(),
|
|
158
|
-
endLine: zod_1.z.number().optional(),
|
|
159
|
-
workingDirectory: workingDirSchema,
|
|
160
|
-
},
|
|
161
|
-
}, async ({ relativePath, startLine, endLine, workingDirectory }) => {
|
|
162
|
-
const roots = (0, paths_js_1.resolveRoots)(resolveProjectRoot(workingDirectory));
|
|
163
|
-
if (!roots.foundationCss) {
|
|
164
|
-
return {
|
|
165
|
-
isError: true,
|
|
166
|
-
content: [{ type: "text", text: "foundation-css not found." }],
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
const check = (0, paths_js_1.safeReadUnderRoot)(roots.foundationCss.path, relativePath);
|
|
170
|
-
if (!check.ok) {
|
|
171
|
-
return { isError: true, content: [{ type: "text", text: check.error }] };
|
|
172
|
-
}
|
|
173
|
-
if (!node_fs_1.default.existsSync(check.absolute) || !node_fs_1.default.statSync(check.absolute).isFile()) {
|
|
174
|
-
return { isError: true, content: [{ type: "text", text: `Not a file: ${relativePath}` }] };
|
|
175
|
-
}
|
|
176
|
-
const { text, truncated } = readFileSlice(check.absolute, startLine, endLine);
|
|
177
|
-
const header = `${check.absolute}${truncated ? "\n[truncated]" : ""}\n\n`;
|
|
178
|
-
return { content: [{ type: "text", text: header + text }] };
|
|
113
|
+
const out = results.map((r) => ({
|
|
114
|
+
type: r.type,
|
|
115
|
+
name: r.entry.name,
|
|
116
|
+
summary: r.entry.summary,
|
|
117
|
+
tags: r.entry.tags,
|
|
118
|
+
score: r.score,
|
|
119
|
+
}));
|
|
120
|
+
return { content: [{ type: "text", text: JSON.stringify(out, null, 2) }] };
|
|
179
121
|
});
|
|
180
|
-
mcp.registerTool("
|
|
181
|
-
title: "
|
|
182
|
-
description: "
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
const
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
const hints = await (0, components_js_1.findPropsPathsByHint)(root, componentName);
|
|
197
|
-
const wmName = (0, components_js_1.toWmComponentName)(componentName);
|
|
198
|
-
const refs = await (0, components_js_1.findComponentRefs)(root, wmName, 20);
|
|
199
|
-
const lines = [
|
|
200
|
-
`react-runtime: ${root}`,
|
|
201
|
-
`normalized name for source search: ${wmName}`,
|
|
202
|
-
"",
|
|
203
|
-
"Props files matching path hint (components/**/props.*):",
|
|
204
|
-
hints.length ? hints.map((p) => ` ${p}`).join("\n") : " (none — charts and some widgets use non-obvious folder names; use refs below or search_wavemaker_runtime)",
|
|
205
|
-
"",
|
|
206
|
-
`References to "${wmName}" under components/ (sample):`,
|
|
207
|
-
refs.length ? (0, search_js_1.formatMatches)("refs", (0, paths_js_1.resolveRuntimeComponentsRoot)(root), refs) : " (none)",
|
|
208
|
-
];
|
|
209
|
-
return { content: [{ type: "text", text: lines.join("\n") }] };
|
|
122
|
+
mcp.registerTool("skills_meta", {
|
|
123
|
+
title: "Get skills index metadata",
|
|
124
|
+
description: "Returns metadata about the bundled skill documents: version, generation timestamp, " +
|
|
125
|
+
"source git commit hashes (runtimeCommit, cssCommit), and component/token counts. " +
|
|
126
|
+
"Use to check whether skills are up to date with your WaveMaker repo versions.",
|
|
127
|
+
inputSchema: {},
|
|
128
|
+
}, async () => {
|
|
129
|
+
const index = (0, loader_js_1.loadIndex)();
|
|
130
|
+
const meta = {
|
|
131
|
+
version: index.version,
|
|
132
|
+
generated: index.generated,
|
|
133
|
+
sources: index.sources ?? {},
|
|
134
|
+
componentCount: index.components.length,
|
|
135
|
+
tokenCount: index.tokens.length,
|
|
136
|
+
};
|
|
137
|
+
return { content: [{ type: "text", text: JSON.stringify(meta, null, 2) }] };
|
|
210
138
|
});
|
|
139
|
+
// ---------------------------------------------------------------------------
|
|
140
|
+
// Layout / spacing tools
|
|
141
|
+
// ---------------------------------------------------------------------------
|
|
211
142
|
mcp.registerTool("suggest_component", {
|
|
212
143
|
title: "Suggest WaveMaker layout component",
|
|
213
144
|
description: "Rule-based mapping from layout intent to a WaveMaker component name and import path. " +
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export interface SkillEntry {
|
|
2
|
+
name: string;
|
|
3
|
+
file: string;
|
|
4
|
+
category?: string;
|
|
5
|
+
summary: string;
|
|
6
|
+
tags: string[];
|
|
7
|
+
}
|
|
8
|
+
export interface TokenEntry {
|
|
9
|
+
name: string;
|
|
10
|
+
file: string;
|
|
11
|
+
summary: string;
|
|
12
|
+
tags: string[];
|
|
13
|
+
}
|
|
14
|
+
export interface SkillIndex {
|
|
15
|
+
version: string;
|
|
16
|
+
generated: string;
|
|
17
|
+
sources?: {
|
|
18
|
+
runtimeCommit?: string;
|
|
19
|
+
cssCommit?: string;
|
|
20
|
+
};
|
|
21
|
+
components: SkillEntry[];
|
|
22
|
+
tokens: TokenEntry[];
|
|
23
|
+
}
|
|
24
|
+
export declare function loadIndex(): SkillIndex;
|
|
25
|
+
export declare function readSkillFile(relativePath: string): string;
|
|
26
|
+
/** Find a component skill by name (case-insensitive, strips "Wm" prefix for matching). */
|
|
27
|
+
export declare function findComponentSkill(query: string): SkillEntry | undefined;
|
|
28
|
+
/** Find a token skill by name. */
|
|
29
|
+
export declare function findTokenSkill(query: string): TokenEntry | undefined;
|
|
30
|
+
/** Search components and tokens by free-text query. Returns top matches. */
|
|
31
|
+
export declare function searchSkills(query: string, topN?: number): Array<{
|
|
32
|
+
type: "component" | "token";
|
|
33
|
+
entry: SkillEntry | TokenEntry;
|
|
34
|
+
score: number;
|
|
35
|
+
}>;
|
|
36
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAYD,wBAAgB,SAAS,IAAI,UAAU,CAMtC;AAED,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAW1D;AAED,0FAA0F;AAC1F,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CASxE;AAED,kCAAkC;AAClC,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAIpE;AAiBD,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,SAAI,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;IAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB3I"}
|