@duro-app/cli 2.0.1 → 3.1.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 +49 -4
- package/dist/bin.js +15 -1
- package/dist/bin.js.map +1 -1
- package/dist/commands/hook.d.ts.map +1 -1
- package/dist/commands/hook.js +21 -0
- package/dist/commands/hook.js.map +1 -1
- package/dist/commands/mcp.d.ts +28 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +22 -1
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/mockup.d.ts +38 -0
- package/dist/commands/mockup.d.ts.map +1 -0
- package/dist/commands/mockup.js +436 -0
- package/dist/commands/mockup.js.map +1 -0
- package/dist/commands/skill.d.ts +9 -0
- package/dist/commands/skill.d.ts.map +1 -0
- package/dist/commands/skill.js +100 -0
- package/dist/commands/skill.js.map +1 -0
- package/dist/disambiguation.d.ts.map +1 -1
- package/dist/disambiguation.js +4 -2
- package/dist/disambiguation.js.map +1 -1
- package/dist/hook-script.d.ts +7 -6
- package/dist/hook-script.d.ts.map +1 -1
- package/dist/hook-script.js +6 -5
- package/dist/hook-script.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/manifest.d.ts +2 -0
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +58 -1
- package/dist/manifest.js.map +1 -1
- package/dist/registry-types.d.ts +6 -0
- package/dist/registry-types.d.ts.map +1 -1
- package/dist/skill-template.d.ts +22 -0
- package/dist/skill-template.d.ts.map +1 -0
- package/dist/skill-template.js +119 -0
- package/dist/skill-template.js.map +1 -0
- package/package.json +5 -5
- package/registry.json +155 -8
package/README.md
CHANGED
|
@@ -15,6 +15,9 @@ npx @duro-app/cli rules # critical rules + what the lint plugin enf
|
|
|
15
15
|
npx @duro-app/cli "tags that wrap" # free text falls back to a need-search
|
|
16
16
|
npx @duro-app/cli list
|
|
17
17
|
npx @duro-app/cli hook install # wire the Claude Code SessionStart hook
|
|
18
|
+
npx @duro-app/cli skill install # wire the /duro-mockup workflow skill
|
|
19
|
+
npx @duro-app/cli mockup seed --out docs/mockups/approvals # token-seeded artboard
|
|
20
|
+
npx @duro-app/cli mockup check docs/mockups/approvals/*.dc.html
|
|
18
21
|
```
|
|
19
22
|
|
|
20
23
|
Install for the short bin: `pnpm add -D @duro-app/cli` → `duro Button`.
|
|
@@ -29,7 +32,8 @@ claude mcp add duro-ds -- npx -y -p @duro-app/cli -p @modelcontextprotocol/sdk d
|
|
|
29
32
|
```
|
|
30
33
|
|
|
31
34
|
Tools: `duro_ds_lookup` (same fallback-to-search behavior as the CLI),
|
|
32
|
-
`duro_ds_list`, `duro_ds_manifest
|
|
35
|
+
`duro_ds_list`, `duro_ds_manifest`, `duro_ds_mockup_check` (an artboard's HTML
|
|
36
|
+
in, findings out — see below). Resources: `duro://component/<Name>`,
|
|
33
37
|
`duro://recipe/<name>`. Prompt: `duro/build-ui` primes a session with the
|
|
34
38
|
critical rules and the component index. The SDK is an optional peer — plain
|
|
35
39
|
CLI use never loads it.
|
|
@@ -125,6 +129,47 @@ hand-roll widgets the DS ships.
|
|
|
125
129
|
```
|
|
126
130
|
|
|
127
131
|
Wire `--check` into the repo's lint or CI job to catch a stale hook after a
|
|
128
|
-
CLI upgrade. The generated script pins `@duro-app/cli@^
|
|
129
|
-
|
|
130
|
-
|
|
132
|
+
CLI upgrade. The generated script pins `@duro-app/cli@^3.0.0` — a floating
|
|
133
|
+
pin, so patch releases never read as drift, but a **floor**: a repo whose
|
|
134
|
+
script still pins `^1.2.0` never resolves a 2.x or 3.x payload and never sees
|
|
135
|
+
what the session-start injection gained since. After a major, re-run
|
|
136
|
+
`hook install` in every consumer and delete `.claude/.duro-session.cache*`
|
|
137
|
+
(the payload is cached seven days).
|
|
138
|
+
|
|
139
|
+
## Mockups that speak the design system
|
|
140
|
+
|
|
141
|
+
A mockup drawn outside the token system has to be translated when it is
|
|
142
|
+
implemented, and the translation drifts — one four-direction canvas used
|
|
143
|
+
485 distinct colours, 15 of them in the palette, and the implementation
|
|
144
|
+
carried `marginTop: 23` and a raw `768px` query past every lint rule. Two
|
|
145
|
+
commands and one skill make the artboard the contract instead.
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
npx -y @duro-app/cli mockup seed --out docs/mockups/<screen> --name Main
|
|
149
|
+
npx -y @duro-app/cli mockup check docs/mockups/<screen>/*.dc.html # exit 1 on findings
|
|
150
|
+
npx -y @duro-app/cli skill install # /duro-mockup
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
`seed` writes a `.dc.html` in the shape Claude Code's `design` skill expects,
|
|
154
|
+
whose `<style>` opens with the tokens as **resolved** custom properties for
|
|
155
|
+
every theme (`--duro-color-bg`, `--duro-spacing-md`, … — the same names as
|
|
156
|
+
`@duro-app/tokens/vars.css`, generated from the same sources). `--theme
|
|
157
|
+
light|high-contrast` stamps `<html data-theme>` so the block switches.
|
|
158
|
+
|
|
159
|
+
`check` reads an artboard back and refuses, with `file:line rule: message`:
|
|
160
|
+
|
|
161
|
+
| Rule | Finding |
|
|
162
|
+
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
163
|
+
| `raw-color` | A hex / `rgb()` / `hsl()` literal anywhere outside the token block, in a rule or an inline `style`. |
|
|
164
|
+
| `raw-length` | A literal on a spacing, radius, font, shadow or motion property (`padding: 23px`, `font-weight: 600`, `transition: opacity 150ms`). Widths, heights and positions are geometry, not tokens — never reported. |
|
|
165
|
+
| `raw-breakpoint` | A `@media` / `@container` width off the breakpoint scale (480 / 640 / 768 / 1024 / 1280). Queries cannot read a variable, so a literal on the scale is the right spelling. |
|
|
166
|
+
| `unknown-component` | `data-duro="<Name>"` or `<Name>.<Part>` the registry does not know, with suggestions. |
|
|
167
|
+
| `no-component-map` | No `data-duro` anywhere. An artboard names the component behind every control or it cannot be implemented from. |
|
|
168
|
+
| `unannotated-control` | An element that draws like a control but names none. Canvas artboards draw controls as `div`/`span`, so the tag is not the signal: a class is a control when the union of every rule that mentions it has a pointer cursor, a `:hover`/`:active`/`:focus` state, or a padded rounded fill. A named parent covers only a bare native control inside it. |
|
|
169
|
+
|
|
170
|
+
`skill install` writes `.claude/skills/duro-mockup/SKILL.md` (byte-compared
|
|
171
|
+
by `--check`, like the hook). The skill runs the whole path — seed directions,
|
|
172
|
+
check, publish the canvas, implement the picked direction from its
|
|
173
|
+
`data-duro` map, screenshot the built route and put artboard and screenshot
|
|
174
|
+
side by side in the PR — and it explicitly overrides the `design` skill's
|
|
175
|
+
"lift resolved values" step. Repo notes go in `.claude/duro-mockup.local.md`.
|
package/dist/bin.js
CHANGED
|
@@ -4,6 +4,8 @@ import { loadRegistry } from './registry.js';
|
|
|
4
4
|
import { runLookup } from './commands/lookup.js';
|
|
5
5
|
import { runList } from './commands/list.js';
|
|
6
6
|
import { runHook } from './commands/hook.js';
|
|
7
|
+
import { runMockup } from './commands/mockup.js';
|
|
8
|
+
import { runSkill } from './commands/skill.js';
|
|
7
9
|
import { runManifest, cliVersion } from './commands/manifest.js';
|
|
8
10
|
function emit(result, json) {
|
|
9
11
|
if (json) {
|
|
@@ -15,7 +17,7 @@ function emit(result, json) {
|
|
|
15
17
|
process.exit(result.exitCode ?? 0);
|
|
16
18
|
}
|
|
17
19
|
function usageError(message) {
|
|
18
|
-
process.stderr.write(`${message}\nUsage: duro <name|list|manifest|hook|mcp> [flags] — duro manifest for details\n`);
|
|
20
|
+
process.stderr.write(`${message}\nUsage: duro <name|list|manifest|hook|skill|mockup|mcp> [flags] — duro manifest for details\n`);
|
|
19
21
|
process.exit(2);
|
|
20
22
|
}
|
|
21
23
|
async function main() {
|
|
@@ -30,6 +32,9 @@ async function main() {
|
|
|
30
32
|
'source-only': { type: 'boolean', default: false },
|
|
31
33
|
'no-color': { type: 'boolean', default: false },
|
|
32
34
|
check: { type: 'boolean', default: false },
|
|
35
|
+
out: { type: 'string' },
|
|
36
|
+
name: { type: 'string' },
|
|
37
|
+
theme: { type: 'string' },
|
|
33
38
|
help: { type: 'boolean', short: 'h', default: false },
|
|
34
39
|
version: { type: 'boolean', short: 'v', default: false },
|
|
35
40
|
},
|
|
@@ -77,6 +82,15 @@ async function main() {
|
|
|
77
82
|
usageError('duro hook takes exactly one event');
|
|
78
83
|
emit(runHook(registry, rest[0], { check: values.check }), values.json);
|
|
79
84
|
}
|
|
85
|
+
if (first === 'skill') {
|
|
86
|
+
if (rest.length > 1)
|
|
87
|
+
usageError('duro skill takes exactly one action');
|
|
88
|
+
emit(runSkill(rest[0], { check: values.check }), values.json);
|
|
89
|
+
}
|
|
90
|
+
if (first === 'mockup') {
|
|
91
|
+
const [sub, ...files] = rest;
|
|
92
|
+
emit(runMockup(registry, sub, files, { out: values.out, name: values.name, theme: values.theme }), values.json);
|
|
93
|
+
}
|
|
80
94
|
if (first === 'mcp') {
|
|
81
95
|
const { runMcp } = await import('./commands/mcp.js');
|
|
82
96
|
await runMcp(registry);
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAA;AACnC,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAC,SAAS,EAAqB,MAAM,sBAAsB,CAAA;AAClE,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,wBAAwB,CAAA;AAE9D,SAAS,IAAI,CAAC,MAAqB,EAAE,IAAa;IAChD,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IACnE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IAC1C,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAA;AACpC,CAAC;AAED,SAAS,UAAU,CAAC,OAAe;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,aAAa,CAAA;AAiC9C,MAAM,WAAW,WAAW;IAC1B,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAID,wBAAgB,OAAO,CACrB,QAAQ,EAAE,QAAQ,EAClB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,GAAE,WAAgB,GACxB,aAAa,CAyBf"}
|
package/dist/commands/hook.js
CHANGED
|
@@ -19,6 +19,9 @@ const PREAMBLE = [
|
|
|
19
19
|
'says what already wraps what, so you never rebuild it. Details:',
|
|
20
20
|
'duro <Component> (props+usage) · duro <recipe> --source-only ·',
|
|
21
21
|
'duro spacing|icons|rules.',
|
|
22
|
+
'A new screen, page or UI proposal starts with the /duro-mockup skill',
|
|
23
|
+
'(duro skill install if this repo lacks it): token-seeded artboards,',
|
|
24
|
+
'checked, then implemented from their component map.',
|
|
22
25
|
].join('\n');
|
|
23
26
|
const EVENTS = ['session-start', 'install'];
|
|
24
27
|
export function runHook(registry, event, options = {}) {
|
|
@@ -38,6 +41,7 @@ export function runHook(registry, event, options = {}) {
|
|
|
38
41
|
const composition = relatedPairs(registry, 'composition');
|
|
39
42
|
const sections = [
|
|
40
43
|
PREAMBLE,
|
|
44
|
+
renderScreens(registry),
|
|
41
45
|
list.text,
|
|
42
46
|
renderPairs(contrast, 'PICKING BETWEEN NEIGHBORS', 'vs'),
|
|
43
47
|
renderPairs(composition, 'COMPOSE — DO NOT HAND-ROLL THE WRAPPER', '+'),
|
|
@@ -47,6 +51,23 @@ export function runHook(registry, event, options = {}) {
|
|
|
47
51
|
data: { preamble: PREAMBLE, entries: list.data, contrast, composition },
|
|
48
52
|
};
|
|
49
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Recipes are in the index too, but buried under 65 components. A screen
|
|
56
|
+
* starts from one of these before any grid is hand-rolled, so they lead.
|
|
57
|
+
*/
|
|
58
|
+
function renderScreens(registry) {
|
|
59
|
+
const entries = Object.entries(registry.recipes).sort(([a], [b]) => a.localeCompare(b));
|
|
60
|
+
if (entries.length === 0)
|
|
61
|
+
return '';
|
|
62
|
+
const width = Math.max(...entries.map(([name]) => name.length)) + 2;
|
|
63
|
+
const rows = entries.map(([name, entry]) => ` ${name.padEnd(width)}${entry.meta.description}`);
|
|
64
|
+
return [
|
|
65
|
+
`SCREENS — START FROM A RECIPE (${entries.length})`,
|
|
66
|
+
'A new screen copies the closest recipe (duro <recipe> --source-only) and',
|
|
67
|
+
'edits it; a hand-rolled page layout needs a reason in the PR.',
|
|
68
|
+
...rows,
|
|
69
|
+
].join('\n');
|
|
70
|
+
}
|
|
50
71
|
function read(path) {
|
|
51
72
|
try {
|
|
52
73
|
return readFileSync(path, 'utf8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAC,SAAS,EAAE,YAAY,EAAE,aAAa,EAAC,MAAM,SAAS,CAAA;AAC9D,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,WAAW,CAAA;AAGvC,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAA;AACxC,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAE1B,4EAA4E;AAC5E,8EAA8E;AAC9E,yEAAyE;AACzE,wEAAwE;AACxE,uBAAuB;AACvB,MAAM,QAAQ,GAAG;IACf,iEAAiE;IACjE,wEAAwE;IACxE,uEAAuE;IACvE,wEAAwE;IACxE,yEAAyE;IACzE,iEAAiE;IACjE,gEAAgE;IAChE,2BAA2B;
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/mcp.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Registry } from '../registry-types.js';
|
|
2
|
-
/** The
|
|
2
|
+
/** The MCP tools, JSON Schemas hand-written (no zod dependency). */
|
|
3
3
|
export declare function toolDefinitions(registry: Registry): ({
|
|
4
4
|
name: string;
|
|
5
5
|
description: string;
|
|
@@ -19,6 +19,8 @@ export declare function toolDefinitions(registry: Registry): ({
|
|
|
19
19
|
description: string;
|
|
20
20
|
};
|
|
21
21
|
kind?: undefined;
|
|
22
|
+
html?: undefined;
|
|
23
|
+
file?: undefined;
|
|
22
24
|
};
|
|
23
25
|
required: string[];
|
|
24
26
|
};
|
|
@@ -35,6 +37,8 @@ export declare function toolDefinitions(registry: Registry): ({
|
|
|
35
37
|
name?: undefined;
|
|
36
38
|
part?: undefined;
|
|
37
39
|
sourceOnly?: undefined;
|
|
40
|
+
html?: undefined;
|
|
41
|
+
file?: undefined;
|
|
38
42
|
};
|
|
39
43
|
required?: undefined;
|
|
40
44
|
};
|
|
@@ -48,9 +52,32 @@ export declare function toolDefinitions(registry: Registry): ({
|
|
|
48
52
|
part?: undefined;
|
|
49
53
|
sourceOnly?: undefined;
|
|
50
54
|
kind?: undefined;
|
|
55
|
+
html?: undefined;
|
|
56
|
+
file?: undefined;
|
|
51
57
|
};
|
|
52
58
|
required?: undefined;
|
|
53
59
|
};
|
|
60
|
+
} | {
|
|
61
|
+
name: string;
|
|
62
|
+
description: string;
|
|
63
|
+
inputSchema: {
|
|
64
|
+
type: string;
|
|
65
|
+
properties: {
|
|
66
|
+
html: {
|
|
67
|
+
type: string;
|
|
68
|
+
description: string;
|
|
69
|
+
};
|
|
70
|
+
file: {
|
|
71
|
+
type: string;
|
|
72
|
+
description: string;
|
|
73
|
+
};
|
|
74
|
+
name?: undefined;
|
|
75
|
+
part?: undefined;
|
|
76
|
+
sourceOnly?: undefined;
|
|
77
|
+
kind?: undefined;
|
|
78
|
+
};
|
|
79
|
+
required: string[];
|
|
80
|
+
};
|
|
54
81
|
})[];
|
|
55
82
|
/**
|
|
56
83
|
* The wire shape of a tools/call answer. `structuredContent` must be a JSON
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAA;AAalD,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAoDjD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;uBAInB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;EAG/F;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;EA2BvF;AAED,wBAAsB,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA2F9D"}
|
package/dist/commands/mcp.js
CHANGED
|
@@ -3,11 +3,12 @@ import { runLookup } from './lookup.js';
|
|
|
3
3
|
import { runList } from './list.js';
|
|
4
4
|
import { cliVersion } from './manifest.js';
|
|
5
5
|
import { renderComponent, renderRecipe } from '../format.js';
|
|
6
|
+
import { checkArtboard } from './mockup.js';
|
|
6
7
|
const INSTALL_HINT = `duro mcp needs @modelcontextprotocol/sdk (an optional peer).
|
|
7
8
|
npm i -D @modelcontextprotocol/sdk
|
|
8
9
|
or run it without installing:
|
|
9
10
|
npx -y -p @duro-app/cli -p @modelcontextprotocol/sdk duro mcp`;
|
|
10
|
-
/** The
|
|
11
|
+
/** The MCP tools, JSON Schemas hand-written (no zod dependency). */
|
|
11
12
|
export function toolDefinitions(registry) {
|
|
12
13
|
return [
|
|
13
14
|
{
|
|
@@ -44,6 +45,18 @@ export function toolDefinitions(registry) {
|
|
|
44
45
|
description: 'The duro command spec plus all valid lookup names.',
|
|
45
46
|
inputSchema: { type: 'object', properties: {} },
|
|
46
47
|
},
|
|
48
|
+
{
|
|
49
|
+
name: 'duro_ds_mockup_check',
|
|
50
|
+
description: 'Check a mockup artboard (.dc.html source) against the design system: every colour, spacing, radius, font, shadow and duration must be a var(--duro-*) token, media queries must sit on the breakpoint scale, and every control must carry data-duro="<Component>" naming an @duro-app/ui component. Returns findings; an empty list means the artboard is a valid handoff contract.',
|
|
51
|
+
inputSchema: {
|
|
52
|
+
type: 'object',
|
|
53
|
+
properties: {
|
|
54
|
+
html: { type: 'string', description: 'The full artboard HTML' },
|
|
55
|
+
file: { type: 'string', description: 'A name for the findings, e.g. Main.dc.html' },
|
|
56
|
+
},
|
|
57
|
+
required: ['html'],
|
|
58
|
+
},
|
|
59
|
+
},
|
|
47
60
|
];
|
|
48
61
|
}
|
|
49
62
|
/**
|
|
@@ -75,6 +88,14 @@ export function callTool(registry, name, args) {
|
|
|
75
88
|
}
|
|
76
89
|
case 'duro_ds_manifest':
|
|
77
90
|
return { text: '', data: buildManifest(registry, cliVersion()), isError: false };
|
|
91
|
+
case 'duro_ds_mockup_check': {
|
|
92
|
+
const file = typeof args.file === 'string' ? args.file : 'artboard.dc.html';
|
|
93
|
+
const findings = checkArtboard(registry, file, String(args.html ?? ''));
|
|
94
|
+
const text = findings.length === 0
|
|
95
|
+
? `${file}: speaks tokens and names its components`
|
|
96
|
+
: findings.map((f) => `${f.file}:${f.line} ${f.rule}: ${f.message}`).join('\n');
|
|
97
|
+
return { text, data: { ok: findings.length === 0, findings }, isError: false };
|
|
98
|
+
}
|
|
78
99
|
default:
|
|
79
100
|
throw new Error(`unknown tool ${name}`);
|
|
80
101
|
}
|
package/dist/commands/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAA;AACrC,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,eAAe,EAAE,YAAY,EAAC,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { Registry } from '../registry-types.js';
|
|
2
|
+
import type { CommandResult } from './lookup.js';
|
|
3
|
+
export declare const TOKENS_START = "/* duro:tokens start */";
|
|
4
|
+
export declare const TOKENS_END = "/* duro:tokens end */";
|
|
5
|
+
/** The artboard size the design canvas expects on the root element. */
|
|
6
|
+
export declare const ARTBOARD_WIDTH = 1120;
|
|
7
|
+
export declare const ARTBOARD_HEIGHT = 840;
|
|
8
|
+
export declare const MOCKUP_THEMES: readonly ["dark", "light", "high-contrast"];
|
|
9
|
+
export type MockupTheme = (typeof MOCKUP_THEMES)[number];
|
|
10
|
+
export interface SeedOptions {
|
|
11
|
+
/** Directory to write into. Defaults to docs/mockups/<name>. */
|
|
12
|
+
out?: string;
|
|
13
|
+
/** Artboard file stem. The design canvas needs one called Main. */
|
|
14
|
+
name?: string;
|
|
15
|
+
theme?: string;
|
|
16
|
+
cwd?: string;
|
|
17
|
+
}
|
|
18
|
+
export interface CheckOptions {
|
|
19
|
+
cwd?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface Finding {
|
|
22
|
+
file: string;
|
|
23
|
+
line: number;
|
|
24
|
+
rule: 'raw-color' | 'raw-length' | 'raw-breakpoint' | 'unknown-component' | 'no-component-map' | 'unannotated-control';
|
|
25
|
+
message: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The artboard skeleton, in the shape the `design` skill's canvas expects:
|
|
29
|
+
* support.js verbatim, one <x-dc>, one <helmet><style>. Everything a
|
|
30
|
+
* finished artboard adds goes inside the same style block and the root div.
|
|
31
|
+
*/
|
|
32
|
+
export declare function seedArtboard(registry: Registry, name: string, theme: MockupTheme): string;
|
|
33
|
+
export declare function runMockupSeed(registry: Registry, options?: SeedOptions): CommandResult;
|
|
34
|
+
/** Every finding for one artboard's HTML. Exported for the MCP tool and tests. */
|
|
35
|
+
export declare function checkArtboard(registry: Registry, file: string, source: string): Finding[];
|
|
36
|
+
export declare function runMockupCheck(registry: Registry, files: string[], options?: CheckOptions): CommandResult;
|
|
37
|
+
export declare function runMockup(registry: Registry, sub: string | undefined, rest: string[], options: SeedOptions & CheckOptions): CommandResult;
|
|
38
|
+
//# sourceMappingURL=mockup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mockup.d.ts","sourceRoot":"","sources":["../../src/commands/mockup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,aAAa,CAAA;AAsB9C,eAAO,MAAM,YAAY,4BAA4B,CAAA;AACrD,eAAO,MAAM,UAAU,0BAA0B,CAAA;AAEjD,uEAAuE;AACvE,eAAO,MAAM,cAAc,OAAO,CAAA;AAClC,eAAO,MAAM,eAAe,MAAM,CAAA;AAElC,eAAO,MAAM,aAAa,6CAA8C,CAAA;AACxE,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAExD,MAAM,WAAW,WAAW;IAC1B,gEAAgE;IAChE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EACA,WAAW,GACX,YAAY,GACZ,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,qBAAqB,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;CAChB;AAKD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,CA2DzF;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAE,WAAgB,GAAG,aAAa,CAgC1F;AAuSD,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,EAAE,CAUzF;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,GAAE,YAAiB,GACzB,aAAa,CA6Bf;AAID,wBAAgB,SAAS,CACvB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,WAAW,GAAG,YAAY,GAClC,aAAa,CASf"}
|