@ethlete/agent-rules 0.1.0-next.29 → 0.1.0-next.30
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/CHANGELOG.md +14 -0
- package/README.md +5 -0
- package/content/mods/plugins/e2e-progress/.claude-plugin/plugin.json +1 -1
- package/content/skills/agent-sessions/agent-sessions.mjs +42 -10
- package/content/skills/design-exploration/SKILL.md +22 -0
- package/package.json +1 -1
- package/src/lib/plan.js +9 -0
- package/src/lib/plan.js.map +1 -1
- package/src/lib/targets/mcp.d.ts +16 -0
- package/src/lib/targets/mcp.js +68 -0
- package/src/lib/targets/mcp.js.map +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @ethlete/agent-rules
|
|
2
2
|
|
|
3
|
+
## 0.1.0-next.30
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- `sync` registers `et design mcp` as the `ethlete-design` MCP server in `.mcp.json` (Claude Code) and `.codex/config.toml` (Codex) when `@ethlete/cli` is installed.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Design exploration skill: before `sketch ready`, critique each variant's hierarchy, spacing, nesting and host context, and drop visually weak ones.
|
|
12
|
+
- Design exploration skill: a reference informs a design and is never copied, and variant-only code stays out of a sketch's `shared/` folder.
|
|
13
|
+
- Design exploration: mark a sketch `ready` only when no change to it waits on an open decision or a helper still to land.
|
|
14
|
+
- `restart` logs why it waits (`restart.log` next to the mailbox) and gives up 60 s after the clear: it tells the pane via tmux and saves the prompt to `restart.prompt.<session>.txt` instead of waiting silently.
|
|
15
|
+
- Add `et design motion shots <part> <motion>`: it draws a motion at its keyframes in full and reduced motion into one sheet and writes its tracks as JSON.
|
|
16
|
+
|
|
3
17
|
## 0.1.0-next.29
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -49,6 +49,11 @@ Marker-block files (`AGENTS.md`, `.github/copilot-instructions.md`) are only rew
|
|
|
49
49
|
between `<!-- ethlete:agent-rules:start -->` and `:end` - everything you wrote around
|
|
50
50
|
them survives.
|
|
51
51
|
|
|
52
|
+
When the repo has `@ethlete/cli` installed, `sync` also registers its design MCP server
|
|
53
|
+
(`et design mcp` through the `packageRunner`, for example `yarn et design mcp`) as `ethlete-design`: in `.mcp.json` for Claude Code and in
|
|
54
|
+
`.codex/config.toml` for Codex. Only that entry is written; other servers and tables
|
|
55
|
+
stay as they are.
|
|
56
|
+
|
|
52
57
|
## Migrating a repo to the AGENTS.md layout
|
|
53
58
|
|
|
54
59
|
`AGENTS.md` is the cross-tool standard, and Claude Code officially supports reading it
|
|
@@ -37,6 +37,7 @@ const RESTART_AFTER_SECONDS = 5;
|
|
|
37
37
|
const RESTART_CLEAR_MS = 2500;
|
|
38
38
|
const RESTART_POLL_MS = 2000;
|
|
39
39
|
const RESTART_WAIT_MS = 30 * 60 * 1000;
|
|
40
|
+
const RESTART_CLEAR_WAIT_MS = Number(process.env.AGENT_RESTART_CLEAR_WAIT_MS ?? 60 * 1000);
|
|
40
41
|
const repoSlug = basename(root).replace(/[.:]/g, '-');
|
|
41
42
|
const sessionFor = (agent) => `${agent}@${repoSlug}`;
|
|
42
43
|
const DISPATCH_SESSION = process.env.AGENT_MAILBOX_DISPATCH_SESSION ?? `mailbox-dispatch@${repoSlug}`;
|
|
@@ -104,27 +105,43 @@ const runsInSession = (agentArgs) =>
|
|
|
104
105
|
* wake-up line from answering a permission dialog.
|
|
105
106
|
*/
|
|
106
107
|
const SGR = `${String.fromCharCode(27)}\\[([0-9;]*)m`;
|
|
107
|
-
const
|
|
108
|
+
const busyLine = (session) =>
|
|
109
|
+
(tmux('capture-pane', '-p', '-t', `=${session}:`).stdout ?? '')
|
|
110
|
+
.split('\n')
|
|
111
|
+
.find((line) => /esc to inte/i.test(line)) ?? null;
|
|
112
|
+
const restartLog = (message) => {
|
|
113
|
+
mkdirSync(dirname(mailbox), { recursive: true });
|
|
114
|
+
appendFileSync(join(dirname(mailbox), 'restart.log'), `${new Date().toISOString()} ${message}\n`);
|
|
115
|
+
};
|
|
108
116
|
|
|
109
|
-
/**
|
|
110
|
-
|
|
111
|
-
|
|
117
|
+
/**
|
|
118
|
+
* Waits until the agent ended its turn and nobody types in its prompt, twice in a row; `false` after the time limit.
|
|
119
|
+
* Each change of the reason it waits is logged to `restart.log` next to the mailbox.
|
|
120
|
+
*/
|
|
121
|
+
const waitForQuiet = (session, limitMs = RESTART_WAIT_MS) => {
|
|
122
|
+
const end = Date.now() + limitMs;
|
|
112
123
|
let quiet = 0;
|
|
124
|
+
let reason = '';
|
|
113
125
|
while (Date.now() < end) {
|
|
114
|
-
|
|
126
|
+
const busy = busyLine(session);
|
|
127
|
+
const draft = busy === null ? draftLine(session) : null;
|
|
128
|
+
const next = busy !== null ? `busy: ${busy.trim()}` : draft !== null ? `draft: ${draft}` : '';
|
|
129
|
+
if (next !== reason) restartLog(`${session} ${next ? `waits, ${next}` : 'is quiet'}`);
|
|
130
|
+
reason = next;
|
|
131
|
+
quiet = next ? 0 : quiet + 1;
|
|
115
132
|
if (quiet === 2) return true;
|
|
116
133
|
sleep(RESTART_POLL_MS);
|
|
117
134
|
}
|
|
118
135
|
return false;
|
|
119
136
|
};
|
|
120
137
|
|
|
121
|
-
const
|
|
138
|
+
const draftLine = (session) => {
|
|
122
139
|
const pane = tmux('capture-pane', '-p', '-e', '-t', `=${session}:`).stdout ?? '';
|
|
123
140
|
const prompt = pane
|
|
124
141
|
.split('\n')
|
|
125
142
|
.reverse()
|
|
126
143
|
.find((line) => /^\s*[❯›]/.test(line.replace(new RegExp(SGR, 'g'), '')));
|
|
127
|
-
if (!prompt) return
|
|
144
|
+
if (!prompt) return null;
|
|
128
145
|
let dim = false;
|
|
129
146
|
const visible = prompt
|
|
130
147
|
.split(new RegExp(`(${SGR.replace('(', '(?:')})`))
|
|
@@ -138,8 +155,10 @@ const hasDraft = (session) => {
|
|
|
138
155
|
return '';
|
|
139
156
|
})
|
|
140
157
|
.join('');
|
|
141
|
-
|
|
158
|
+
const text = visible.replace(/^\s*[❯›]/, '').trim();
|
|
159
|
+
return text.length > 0 ? text : null;
|
|
142
160
|
};
|
|
161
|
+
const hasDraft = (session) => draftLine(session) !== null;
|
|
143
162
|
const isAttached = (name) => tmux('list-clients', '-t', `=${name}`).stdout.trim() !== '';
|
|
144
163
|
const freeSessionFor = (agent) => {
|
|
145
164
|
for (let number = 1; ; number++) {
|
|
@@ -154,7 +173,7 @@ const startSession = (name, shellCommand, quiet = false) => {
|
|
|
154
173
|
if (!quiet) process.stdout.write(`Started ${name}. Attach with: tmux attach -t ${name}\n`);
|
|
155
174
|
};
|
|
156
175
|
|
|
157
|
-
const IGNORED = ['mailbox.jsonl', 'mailbox.cursor.*'];
|
|
176
|
+
const IGNORED = ['mailbox.jsonl', 'mailbox.cursor.*', 'restart.log', 'restart.prompt.*'];
|
|
158
177
|
|
|
159
178
|
const prepare = () => {
|
|
160
179
|
mkdirSync(dirname(mailbox), { recursive: true });
|
|
@@ -334,10 +353,23 @@ if (command === 'send' && sender) {
|
|
|
334
353
|
sleep(ENTER_DELAY_MS);
|
|
335
354
|
type('Enter');
|
|
336
355
|
sleep(RESTART_CLEAR_MS);
|
|
337
|
-
if (waitForQuiet(session)) {
|
|
356
|
+
if (waitForQuiet(session, RESTART_CLEAR_WAIT_MS)) {
|
|
338
357
|
type('-l', words.join(' '));
|
|
339
358
|
sleep(ENTER_DELAY_MS);
|
|
340
359
|
type('Enter');
|
|
360
|
+
} else {
|
|
361
|
+
const saved = join(dirname(mailbox), `restart.prompt.${session}.txt`);
|
|
362
|
+
writeFileSync(saved, `${words.join(' ')}\n`);
|
|
363
|
+
restartLog(
|
|
364
|
+
`${session} not quiet ${RESTART_CLEAR_WAIT_MS / 1000}s after the clear, prompt not typed, saved to ${saved}`,
|
|
365
|
+
);
|
|
366
|
+
tmux(
|
|
367
|
+
'display-message',
|
|
368
|
+
'-t',
|
|
369
|
+
`=${session}:`,
|
|
370
|
+
`restart: pane not quiet after the clear, prompt not typed. Saved to ${saved}`,
|
|
371
|
+
);
|
|
372
|
+
process.exitCode = 1;
|
|
341
373
|
}
|
|
342
374
|
}
|
|
343
375
|
} else {
|
|
@@ -29,6 +29,11 @@ or loses only against the other variants of its question.
|
|
|
29
29
|
user asks to pause or end the exploration, or when their feedback leaves no grounded next
|
|
30
30
|
question.
|
|
31
31
|
5. **Keep the answer short.** 120 words at most.
|
|
32
|
+
6. **A reference informs, it is not a template.** Before you show a round led by a reference
|
|
33
|
+
(a Figma file, another product), state the problem the reference solves, the principle you take
|
|
34
|
+
from it, and how each variant differs in concept. Then review the variants beside the reference
|
|
35
|
+
for literal copies. Derive the composition from the product's own visual language; a new palette
|
|
36
|
+
or spacing on the reference's layout is not a different concept.
|
|
32
37
|
|
|
33
38
|
Confirm the step size once, at the start. Do not ask again at every stop. A task is not
|
|
34
39
|
finished while the user is still talking about it.
|
|
@@ -47,6 +52,7 @@ check that a variant renders. In a repository with `et design`, take it with
|
|
|
47
52
|
every variant of the open sketch, with a label per cell; below each variant row, a diff row marks
|
|
48
53
|
the pixels that differ from the merged state in red, or says "no pixel change" (with ", but the markup differs" when only the markup changed, e.g. both sides miss the same content). It prints the PNG path last. `--scale 2` enlarges a small part; `--crop x,y,w,h` cuts each cell to that CSS-pixel box, to judge hairlines. `--interaction hover` forces an interaction on every cell. `--state a,b` draws only those states, to compare them side by side. With `--variants`, `--round r2` or `--variant i,j` draws only those variants next to the merged row, so the current round stays readable; it filters the picture, never the checks. With `--variants`, `--diff-props` compares each variant with the merged part drawn with the variant's state props, so changed props do not paint the diff red. It draws
|
|
49
54
|
undimmed, whatever Studio shows. Do not write a scratch script for batch shots.
|
|
55
|
+
`et design motion shots <layer>/<name> <motion>` draws a motion at its keyframes, in full and reduced motion, into one sheet, and writes its tracks (element, properties, start, duration, easing) as JSON next to it.
|
|
50
56
|
|
|
51
57
|
If a second defect appears, add it to the open list and give it one line. Do not draw it.
|
|
52
58
|
|
|
@@ -160,6 +166,10 @@ copies the product's `pages/system` into each variant, renamed to the target and
|
|
|
160
166
|
`madeBy`; `--like pages/system:b` copies variant b of the open sketch on it, with that sketch's
|
|
161
167
|
`shared/` folder.
|
|
162
168
|
|
|
169
|
+
Rendering for one variant lives in that variant's files. `shared/` holds only code every variant
|
|
170
|
+
uses: do not give a shared helper a parameter, branch, import or style rule that only one variant, or
|
|
171
|
+
a variant you dropped, needs. A merge takes `shared/` whole, so what stays there ships with the pick.
|
|
172
|
+
|
|
163
173
|
Code the variants of one sketch have in common (sample data, a switch, a helper) goes in the
|
|
164
174
|
sketch's `shared/` folder, next to the variant folders, never into copies per variant. A part in a
|
|
165
175
|
variant imports it as `@shared/<path>`, and a shared file may import `@system/...` and
|
|
@@ -235,6 +245,12 @@ in any of them, it merges the sketch itself and logs it as an `auto` entry in th
|
|
|
235
245
|
A problem the product already had before the merge does not block it (the check prints it as a note); only a problem the merge adds does.
|
|
236
246
|
Run `sketch ready` again on a `ready` sketch to repeat the check and the auto merge.
|
|
237
247
|
|
|
248
|
+
Mark a sketch `ready` only when no change to it waits on anything: no open decision, no helper still to
|
|
249
|
+
land, no "once X is decided I adapt the sketch". A pending change keeps the sketch in work and out of the
|
|
250
|
+
merge queue: ask first, make the change, then mark it `ready`. Record the wait with
|
|
251
|
+
`et design sketch hold <layer>/<name> --until "<what it waits on>" --by <model id>` (a `ready` sketch goes back
|
|
252
|
+
in progress) and `sketch release` it once the change is in.
|
|
253
|
+
|
|
238
254
|
### Your model id: `--by`
|
|
239
255
|
|
|
240
256
|
Every command that writes takes `--by <model id>` and fails without it: `sketch new`, `variant`, `report`,
|
|
@@ -592,6 +608,12 @@ et design check --call <slug> --variant b # one of them
|
|
|
592
608
|
node check-story.mjs --tsconfig <path> --story <story-id>
|
|
593
609
|
```
|
|
594
610
|
|
|
611
|
+
A passing check says the variant builds, not that it looks good. Before `sketch ready`, look at
|
|
612
|
+
each variant at a readable scale and in its whole host page, and critique its hierarchy, spacing,
|
|
613
|
+
nesting and host context together. Drop a variant that is technically valid but visually weak
|
|
614
|
+
before the user sees it. In your summary, say "renders correctly", never "good" or "approved":
|
|
615
|
+
the user decides that.
|
|
616
|
+
|
|
595
617
|
## Delegating a sketch
|
|
596
618
|
|
|
597
619
|
Every brief names `model: opus`, and every prompt names the exact model id the sub-agent runs on,
|
package/package.json
CHANGED
package/src/lib/plan.js
CHANGED
|
@@ -18,6 +18,7 @@ const git_hooks_1 = require("./targets/git-hooks");
|
|
|
18
18
|
const hooks_shared_1 = require("./targets/hooks-shared");
|
|
19
19
|
const copilot_1 = require("./targets/copilot");
|
|
20
20
|
const cursor_1 = require("./targets/cursor");
|
|
21
|
+
const mcp_1 = require("./targets/mcp");
|
|
21
22
|
const SKILL_LINK_PATTERN = /\{%\s*skill:([a-zA-Z0-9_.-]+)\s*%\}/g;
|
|
22
23
|
const RESOURCE_LINK_PATTERN = /\{%\s*resource:([a-zA-Z0-9_.-]+)\s*%\}/g;
|
|
23
24
|
const assertResolvedContentReferences = (options) => {
|
|
@@ -225,6 +226,14 @@ const buildPlan = (options) => {
|
|
|
225
226
|
if (config.targets.includes('copilot')) {
|
|
226
227
|
files.push(...(0, copilot_1.emitCopilot)({ context, existing: readExisting(config.root, copilot_1.COPILOT_FILE) }));
|
|
227
228
|
}
|
|
229
|
+
if ((0, filter_1.isPackageInstalled)(config.root, '@ethlete/cli')) {
|
|
230
|
+
if (config.targets.includes('claude')) {
|
|
231
|
+
files.push((0, mcp_1.emitClaudeMcp)({ existing: readExisting(config.root, mcp_1.CLAUDE_MCP_FILE), runner: (0, render_1.packageRunnerVar)(config.vars) }));
|
|
232
|
+
}
|
|
233
|
+
if (config.targets.includes('codex')) {
|
|
234
|
+
files.push((0, mcp_1.emitCodexMcp)({ existing: readExisting(config.root, mcp_1.CODEX_CONFIG_FILE), runner: (0, render_1.packageRunnerVar)(config.vars) }));
|
|
235
|
+
}
|
|
236
|
+
}
|
|
228
237
|
files.push(...(0, claude_hooks_1.emitClaudeHooks)({
|
|
229
238
|
context,
|
|
230
239
|
claudeTarget: config.targets.includes('claude'),
|
package/src/lib/plan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/plan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EmittedFile } from './shared';
|
|
2
|
+
export declare const CLAUDE_MCP_FILE = ".mcp.json";
|
|
3
|
+
export declare const CODEX_CONFIG_FILE = ".codex/config.toml";
|
|
4
|
+
export declare const DESIGN_MCP_SERVER = "ethlete-design";
|
|
5
|
+
export declare const emitClaudeMcp: (options: {
|
|
6
|
+
existing: string;
|
|
7
|
+
runner: string | undefined;
|
|
8
|
+
}) => EmittedFile;
|
|
9
|
+
/**
|
|
10
|
+
* Replaces only the `[mcp_servers.ethlete-design]` table (up to the next table header) and appends it
|
|
11
|
+
* when absent, so every other table in the project's Codex config stays as written.
|
|
12
|
+
*/
|
|
13
|
+
export declare const emitCodexMcp: (options: {
|
|
14
|
+
existing: string;
|
|
15
|
+
runner: string | undefined;
|
|
16
|
+
}) => EmittedFile;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.emitCodexMcp = exports.emitClaudeMcp = exports.DESIGN_MCP_SERVER = exports.CODEX_CONFIG_FILE = exports.CLAUDE_MCP_FILE = void 0;
|
|
4
|
+
exports.CLAUDE_MCP_FILE = '.mcp.json';
|
|
5
|
+
exports.CODEX_CONFIG_FILE = '.codex/config.toml';
|
|
6
|
+
exports.DESIGN_MCP_SERVER = 'ethlete-design';
|
|
7
|
+
const serverCommand = (runner = 'npx') => {
|
|
8
|
+
const [command = 'npx', ...prefix] = runner.split(' ').filter(Boolean);
|
|
9
|
+
return { command, args: [...prefix, 'et', 'design', 'mcp'] };
|
|
10
|
+
};
|
|
11
|
+
const parseObject = (existing, file) => {
|
|
12
|
+
if (existing.trim() === '')
|
|
13
|
+
return {};
|
|
14
|
+
let parsed;
|
|
15
|
+
try {
|
|
16
|
+
parsed = JSON.parse(existing);
|
|
17
|
+
}
|
|
18
|
+
catch (_a) {
|
|
19
|
+
throw new Error(`${file} is not valid JSON — fix or remove it so the ${exports.DESIGN_MCP_SERVER} MCP server can be merged.`);
|
|
20
|
+
}
|
|
21
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
22
|
+
throw new Error(`${file} is not a JSON object — fix or remove it so the ${exports.DESIGN_MCP_SERVER} MCP server can be merged.`);
|
|
23
|
+
}
|
|
24
|
+
return parsed;
|
|
25
|
+
};
|
|
26
|
+
const emitClaudeMcp = (options) => {
|
|
27
|
+
var _a;
|
|
28
|
+
const settings = parseObject(options.existing, exports.CLAUDE_MCP_FILE);
|
|
29
|
+
const servers = ((_a = settings['mcpServers']) !== null && _a !== void 0 ? _a : {});
|
|
30
|
+
const merged = Object.assign(Object.assign({}, settings), { mcpServers: Object.assign(Object.assign({}, servers), { [exports.DESIGN_MCP_SERVER]: serverCommand(options.runner) }) });
|
|
31
|
+
return { path: exports.CLAUDE_MCP_FILE, contents: `${JSON.stringify(merged, null, 2)}\n` };
|
|
32
|
+
};
|
|
33
|
+
exports.emitClaudeMcp = emitClaudeMcp;
|
|
34
|
+
const tomlSection = (runner) => {
|
|
35
|
+
const { command, args } = serverCommand(runner);
|
|
36
|
+
return [
|
|
37
|
+
`[mcp_servers.${exports.DESIGN_MCP_SERVER}]`,
|
|
38
|
+
`command = "${command}"`,
|
|
39
|
+
`args = [${args.map((arg) => `"${arg}"`).join(', ')}]`,
|
|
40
|
+
].join('\n');
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Replaces only the `[mcp_servers.ethlete-design]` table (up to the next table header) and appends it
|
|
44
|
+
* when absent, so every other table in the project's Codex config stays as written.
|
|
45
|
+
*/
|
|
46
|
+
const emitCodexMcp = (options) => {
|
|
47
|
+
const { existing, runner } = options;
|
|
48
|
+
const header = `[mcp_servers.${exports.DESIGN_MCP_SERVER}]`;
|
|
49
|
+
const lines = existing.split('\n');
|
|
50
|
+
const start = lines.findIndex((line) => line.trim() === header);
|
|
51
|
+
const section = tomlSection(runner);
|
|
52
|
+
if (start === -1) {
|
|
53
|
+
const base = existing.trimEnd();
|
|
54
|
+
return { path: exports.CODEX_CONFIG_FILE, contents: `${base === '' ? '' : `${base}\n\n`}${section}\n` };
|
|
55
|
+
}
|
|
56
|
+
let end = lines.findIndex((line, index) => index > start && /^\s*\[/.test(line));
|
|
57
|
+
if (end === -1)
|
|
58
|
+
end = lines.length;
|
|
59
|
+
const before = lines
|
|
60
|
+
.slice(0, start)
|
|
61
|
+
.map((line) => `${line}\n`)
|
|
62
|
+
.join('');
|
|
63
|
+
const after = lines.slice(end).join('\n').trimStart();
|
|
64
|
+
const contents = `${before}${section}\n${after === '' ? '' : `\n${after}`}`;
|
|
65
|
+
return { path: exports.CODEX_CONFIG_FILE, contents: contents.endsWith('\n') ? contents : `${contents}\n` };
|
|
66
|
+
};
|
|
67
|
+
exports.emitCodexMcp = emitCodexMcp;
|
|
68
|
+
//# sourceMappingURL=mcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/mcp.ts"],"names":[],"mappings":"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"}
|