@ironbee-ai/cli 0.4.0 → 0.4.1
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 +10 -2
- package/README.md +59 -0
- package/dist/clients/claude/commands/ironbee-verify.md +127 -0
- package/dist/clients/claude/hooks/require-verification.d.ts.map +1 -1
- package/dist/clients/claude/hooks/require-verification.js +2 -0
- package/dist/clients/claude/hooks/require-verification.js.map +1 -1
- package/dist/clients/claude/index.d.ts.map +1 -1
- package/dist/clients/claude/index.js +16 -18
- package/dist/clients/claude/index.js.map +1 -1
- package/dist/clients/claude/rule.md +1 -0
- package/dist/clients/claude/skill.md +2 -0
- package/dist/clients/cursor/commands/ironbee-verify/SKILL.md +133 -0
- package/dist/clients/cursor/hooks/require-verification.d.ts.map +1 -1
- package/dist/clients/cursor/hooks/require-verification.js +2 -0
- package/dist/clients/cursor/hooks/require-verification.js.map +1 -1
- package/dist/clients/cursor/index.d.ts.map +1 -1
- package/dist/clients/cursor/index.js +12 -12
- package/dist/clients/cursor/index.js.map +1 -1
- package/dist/clients/cursor/rule.md +1 -0
- package/dist/clients/cursor/skill.md +2 -0
- package/dist/lib/config.d.ts +18 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +59 -0
- package/dist/lib/config.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.4.
|
|
3
|
+
## 0.4.1 (2026-03-25)
|
|
4
4
|
|
|
5
5
|
### Features
|
|
6
6
|
|
|
7
|
-
* **
|
|
7
|
+
* **verify-command:** add parametric modes and improve verification quality ([b274813](https://github.com/ironbee-ai/ironbee-cli/commit/b2748139d0dc17f9ffcf5e211a6c1b95b0ec9d33))
|
|
8
|
+
|
|
9
|
+
## [0.4.0](https://github.com/ironbee-ai/ironbee-cli/compare/v0.3.0...v0.4.0) (2026-03-22)
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* **verification:** add verification lifecycle with start/end boundaries, trace IDs, tool input metadata injection, and bdt_ tool name prefix ([a5df3e8](https://github.com/ironbee-ai/ironbee-cli/commit/a5df3e8))
|
|
14
|
+
* **lifecycle:** add fix start/stop tracking with phase state and session reconciliation ([b10f878](https://github.com/ironbee-ai/ironbee-cli/commit/b10f878))
|
|
15
|
+
* **analyze:** add session analytics with time, quality, code changes, fix effectiveness, scoring, cross-session analysis, and /ironbee-analyze command ([61fe0c8](https://github.com/ironbee-ai/ironbee-cli/commit/61fe0c8))
|
|
8
16
|
|
|
9
17
|
All notable changes to this project will be documented in this file.
|
|
10
18
|
|
package/README.md
CHANGED
|
@@ -77,6 +77,20 @@ ironbee verify [session-id] Dry-run verdict validation
|
|
|
77
77
|
ironbee analyze [session-id] Analyze session metrics (or all sessions)
|
|
78
78
|
```
|
|
79
79
|
|
|
80
|
+
### Agent Commands (slash commands)
|
|
81
|
+
|
|
82
|
+
IronBee installs slash commands that the agent can use inside Claude Code or Cursor:
|
|
83
|
+
|
|
84
|
+
| Command | Description |
|
|
85
|
+
|---------|-------------|
|
|
86
|
+
| `/ironbee-verify` | Verify changes — focused on affected areas (default) |
|
|
87
|
+
| `/ironbee-verify full` | Full verification — complete visual + functional + accessibility checklists |
|
|
88
|
+
| `/ironbee-verify visual` | Visual-only — contrast, layout, spacing, fonts, images, theming |
|
|
89
|
+
| `/ironbee-verify functional` | Functional-only — clicks, forms, navigation, data flow, error handling |
|
|
90
|
+
| `/ironbee-analyze` | Run session analytics and provide LLM-powered semantic insights |
|
|
91
|
+
|
|
92
|
+
`/ironbee-verify` guides the agent through a systematic verification process. The default mode focuses on what changed, while `full` runs every checklist item. Use `visual` or `functional` to narrow the scope when you know what type of testing is needed.
|
|
93
|
+
|
|
80
94
|
## Configuration
|
|
81
95
|
|
|
82
96
|
IronBee loads config from two locations (project overrides global):
|
|
@@ -106,6 +120,51 @@ By default, IronBee requires verification for common code file extensions: `.ts`
|
|
|
106
120
|
|
|
107
121
|
Non-code files like `README.md`, `package.json`, or `.gitignore` do not trigger verification.
|
|
108
122
|
|
|
123
|
+
### Browser DevTools MCP config
|
|
124
|
+
|
|
125
|
+
By default, IronBee configures `browser-devtools-mcp` via npx. To customize the MCP server (e.g., use a local server or HTTP transport), add a `browserDevTools` key to your config:
|
|
126
|
+
|
|
127
|
+
```json
|
|
128
|
+
{
|
|
129
|
+
"browserDevTools": {
|
|
130
|
+
"mcp": {
|
|
131
|
+
"url": "http://localhost:4000/mcp"
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Or with a custom stdio command:
|
|
138
|
+
|
|
139
|
+
```json
|
|
140
|
+
{
|
|
141
|
+
"browserDevTools": {
|
|
142
|
+
"mcp": {
|
|
143
|
+
"command": "node",
|
|
144
|
+
"args": ["./my-server.js"],
|
|
145
|
+
"env": { "MY_VAR": "value" }
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
You can also pass extra env vars to the default npx server without replacing it:
|
|
152
|
+
|
|
153
|
+
```json
|
|
154
|
+
{
|
|
155
|
+
"browserDevTools": {
|
|
156
|
+
"env": { "BROWSER_HEADLESS_ENABLE": "true", "OTEL_ENABLE": "true" }
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
| Key | Description |
|
|
162
|
+
|-----|-------------|
|
|
163
|
+
| `browserDevTools.mcp` | Full MCP server config — used as-is when provided. Supports `command`+`args` (stdio) or `url` (HTTP) |
|
|
164
|
+
| `browserDevTools.env` | Extra env vars merged into the default config. Only used when `mcp` is not provided |
|
|
165
|
+
|
|
166
|
+
> **Note:** IronBee always sets `TOOL_NAME_PREFIX=bdt_` and `TOOL_INPUT_METADATA_ENABLE=true` — these cannot be overridden.
|
|
167
|
+
|
|
109
168
|
## Verification Flow
|
|
110
169
|
|
|
111
170
|
When the agent tries to complete a task, IronBee runs these checks:
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# IronBee Verify
|
|
2
|
+
|
|
3
|
+
Verify the current code changes in the browser.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
- `/ironbee-verify` — **default** — focus on what changed, visual + functional checks on affected areas
|
|
7
|
+
- `/ironbee-verify full` — **full scope** — entire application, all checklists, edge cases, responsive, accessibility deep dive
|
|
8
|
+
- `/ironbee-verify visual` — **visual only** — contrast, layout, spacing, fonts, images, theming
|
|
9
|
+
- `/ironbee-verify functional` — **functional only** — clicks, forms, navigation, data flow, error handling
|
|
10
|
+
|
|
11
|
+
If no argument is given, use **default** mode.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Steps (all modes)
|
|
16
|
+
|
|
17
|
+
1. **Start verification**: Run `echo '{"session_id":"$IRONBEE_SESSION_ID"}' | ironbee hook verification-start` via Bash
|
|
18
|
+
2. **Build and start** the application if not already running
|
|
19
|
+
3. **For EVERY page you visit**, repeat this cycle:
|
|
20
|
+
a. **Navigate** using `mcp__browser-devtools__bdt_navigation_go-to`
|
|
21
|
+
b. **Take a FULL PAGE screenshot** using `mcp__browser-devtools__bdt_content_take-screenshot` with `fullPage: true`
|
|
22
|
+
c. **Take an ARIA snapshot** using `mcp__browser-devtools__bdt_a11y_take-aria-snapshot`
|
|
23
|
+
d. **STOP and visually analyze the screenshot** — switch your focus entirely to finding visual problems. Look at this screenshot as if your ONLY job is to find visual defects:
|
|
24
|
+
**WARNING: ARIA reports DOM content, not what the user actually sees.** Do NOT assume the page looks correct just because ARIA shows the right content. Only the screenshot tells you what the user actually sees.
|
|
25
|
+
- Text readability — is it readable against its background? Look for text that blends in or poor contrast
|
|
26
|
+
- Layout — overlapping elements, unexpected gaps, overflow, content cut off
|
|
27
|
+
- Spacing — consistent padding/margin? Too cramped or too far apart?
|
|
28
|
+
- Colors — intentional and consistent? Any jarring mismatches?
|
|
29
|
+
- Typography — right sizes? Clipped or truncated text?
|
|
30
|
+
- Images/icons — loaded? Right size and aspect ratio?
|
|
31
|
+
- States — empty, loading, disabled, error states rendered properly?
|
|
32
|
+
Report your visual findings before continuing.
|
|
33
|
+
e. **Read the ARIA snapshot** — verify headings, labels, landmarks, and structure
|
|
34
|
+
f. If anything looks wrong → note it as an issue
|
|
35
|
+
4. **Functionally test** — run the checklist for your mode (see below). After each significant interaction, take another screenshot and repeat the visual analysis.
|
|
36
|
+
5. **Check console** for errors using `mcp__browser-devtools__bdt_o11y_get-console-messages`
|
|
37
|
+
6. **Stop** the dev server when verification is complete
|
|
38
|
+
7. **Submit your verdict** via Bash:
|
|
39
|
+
- Pass: `echo '{"session_id":"...","status":"pass","pages_tested":[...],"checks":[...],"console_errors":0,"network_failures":0}' | ironbee hook submit-verdict`
|
|
40
|
+
- Fail: `echo '{"session_id":"...","status":"fail","pages_tested":[...],"checks":[...],"console_errors":N,"network_failures":N,"issues":["describe what failed"]}' | ironbee hook submit-verdict`
|
|
41
|
+
8. **If failed** → collect ALL issues first (finish testing all affected pages), submit one fail verdict with all issues, then fix everything, rebuild, and re-verify. Do not fix one issue at a time — batch fixes to avoid repeated build/restart cycles.
|
|
42
|
+
9. If pass after a previous fail, include `"fixes"` in the verdict describing what was fixed
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Default Mode
|
|
47
|
+
|
|
48
|
+
Focus on the code you changed — not the entire application.
|
|
49
|
+
|
|
50
|
+
### 1. Study the changes
|
|
51
|
+
1. Run `git diff --name-only` and `git diff --name-only HEAD~1`
|
|
52
|
+
2. **Ignore `.ironbee/`, `.claude/`, `.cursor/`** — tool config, not application code
|
|
53
|
+
3. **Read the full diff** (`git diff` and/or `git diff HEAD~1`) — understand every change: what was added, removed, modified. Note specific values (colors, sizes, conditions, logic, API endpoints, component props).
|
|
54
|
+
4. Before opening the browser, you should be able to answer: what exactly changed, what should look or behave differently, and what could go wrong?
|
|
55
|
+
|
|
56
|
+
### 2. Verify in the browser
|
|
57
|
+
- **Cross-reference the diff against what you see.** For each change in the diff, verify it is correctly reflected in the browser. If the diff changes a color → check that color. If it changes a calculation → verify the result. If it adds a component → confirm it renders.
|
|
58
|
+
- **Test the flow end-to-end** — navigate, click, fill forms, submit, verify the outcome
|
|
59
|
+
- **Check one edge case** — empty input, invalid data, or double-click
|
|
60
|
+
- **Console** — any new errors or warnings?
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Full Mode (`/ironbee-verify full`)
|
|
65
|
+
|
|
66
|
+
Comprehensive verification of the **entire application**. Do NOT run `git diff` or scope to recent changes. Test every page, every flow, every visual detail. Any issue is a failure, regardless of when it was introduced.
|
|
67
|
+
|
|
68
|
+
### Visual Checklist
|
|
69
|
+
In addition to the per-page visual analysis in step 3d:
|
|
70
|
+
- **Responsiveness** — does the layout adapt if viewport changes? No horizontal scrolling on standard widths
|
|
71
|
+
- **Borders & separators** — visible and consistent? Not too faint or missing
|
|
72
|
+
- **Scroll behavior** — does the page scroll smoothly? No content hidden behind sticky headers/footers?
|
|
73
|
+
|
|
74
|
+
### Functional Checklist
|
|
75
|
+
- **Navigation** — do links and buttons navigate to the correct pages?
|
|
76
|
+
- **Forms** — fill inputs with real data, select options, submit. Do validation messages appear correctly?
|
|
77
|
+
- **Buttons & interactions** — do click handlers fire? Do toggles, dropdowns, and modals work?
|
|
78
|
+
- **Data flow** — does submitted data appear where expected?
|
|
79
|
+
- **Error handling** — what happens with invalid input? Does the UI handle errors gracefully?
|
|
80
|
+
- **Authentication** — if applicable, do protected routes redirect correctly?
|
|
81
|
+
- **API calls** — do network requests succeed? Check for failed requests in console/network
|
|
82
|
+
- **State persistence** — does state survive page refresh where expected?
|
|
83
|
+
- **Edge cases** — empty inputs, very long text, special characters, rapid clicks
|
|
84
|
+
|
|
85
|
+
### Accessibility (deep dive)
|
|
86
|
+
- Are headings hierarchical? Do form inputs have labels? Are landmarks present?
|
|
87
|
+
- Check for missing alt text on images
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Visual Mode (`/ironbee-verify visual`)
|
|
92
|
+
|
|
93
|
+
Focus exclusively on visual quality. Run the per-page visual analysis from step 3d on every page, plus:
|
|
94
|
+
- **Responsiveness** — viewport changes, no horizontal scrolling
|
|
95
|
+
- **Borders & separators** — visible and consistent?
|
|
96
|
+
- **Scroll behavior** — smooth scrolling, no hidden content
|
|
97
|
+
|
|
98
|
+
Take screenshots of **multiple states** if applicable (hover, active, disabled, empty, populated).
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Functional Mode (`/ironbee-verify functional`)
|
|
103
|
+
|
|
104
|
+
Focus exclusively on behavior. Use the same functional checklist as Full Mode above.
|
|
105
|
+
|
|
106
|
+
Test the **complete user flow**, not just the single step you changed.
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## When to FAIL
|
|
111
|
+
|
|
112
|
+
If you observe ANY problem — wrong data, unexpected errors, visual defects, broken interactions, console errors, data inconsistency between pages — you MUST submit a **fail** verdict.
|
|
113
|
+
|
|
114
|
+
**Do NOT rationalize away problems.** If something looks wrong or behaves unexpectedly, it IS wrong. In **full** mode, there is no such thing as "pre-existing" — if it's broken, fail it.
|
|
115
|
+
|
|
116
|
+
**After a fail verdict, you MUST fix the issues and re-verify.** Do not just report and stop.
|
|
117
|
+
|
|
118
|
+
## Verdict Quality
|
|
119
|
+
|
|
120
|
+
Your `checks` array must list **specific observations**, not generic statements:
|
|
121
|
+
- GOOD: `["login form renders with email and password fields", "submitted valid credentials, redirected to /dashboard", "console clean — 0 errors"]`
|
|
122
|
+
- BAD: `["it works", "looks good", "feature implemented"]`
|
|
123
|
+
|
|
124
|
+
## Important
|
|
125
|
+
- ALWAYS submit a verdict after every verification attempt — both pass AND fail
|
|
126
|
+
- Do NOT edit code before submitting a fail verdict
|
|
127
|
+
- **Noticing a bug and submitting pass is the #1 violation** — if you see it, fail it
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"require-verification.d.ts","sourceRoot":"","sources":["../../../../src/clients/claude/hooks/require-verification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAoBH,wBAAgB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"require-verification.d.ts","sourceRoot":"","sources":["../../../../src/clients/claude/hooks/require-verification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAoBH,wBAAgB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CA+C5C"}
|
|
@@ -42,11 +42,13 @@ Then use browser tools to verify your changes.
|
|
|
42
42
|
}
|
|
43
43
|
const traceId = (0, session_state_1.getActiveTraceId)(sessionDir);
|
|
44
44
|
// inject _metadata into tool input so MCP server knows session/trace context
|
|
45
|
+
const traceState = `ironbee=sid:${sessionId};vid:${verificationId}`;
|
|
45
46
|
const updatedInput = { ...(input.tool_input ?? {}) };
|
|
46
47
|
updatedInput._metadata = {
|
|
47
48
|
sessionId,
|
|
48
49
|
verificationId,
|
|
49
50
|
traceId,
|
|
51
|
+
traceState,
|
|
50
52
|
};
|
|
51
53
|
const output = {
|
|
52
54
|
hookSpecificOutput: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"require-verification.js","sourceRoot":"","sources":["../../../../src/clients/claude/hooks/require-verification.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AAoBH,
|
|
1
|
+
{"version":3,"file":"require-verification.js","sourceRoot":"","sources":["../../../../src/clients/claude/hooks/require-verification.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AAoBH,kBA+CC;AAjED,qEAA8F;AAC9F,gDAAyD;AACzD,8CAA+C;AAgB/C,SAAgB,GAAG,CAAC,UAAkB;IAClC,IAAI,KAA4B,CAAC;IACjC,IAAI,CAAC;QACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAS,GAAE,CAA0B,CAAC;IAC7D,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,SAAS,GAAW,KAAK,CAAC,UAAU,IAAI,SAAS,CAAC;IACxD,MAAM,UAAU,GAAW,GAAG,UAAU,sBAAsB,SAAS,EAAE,CAAC;IAC1E,IAAA,mBAAU,EAAC,GAAG,UAAU,cAAc,CAAC,CAAC;IAExC,MAAM,cAAc,GAAuB,IAAA,uCAAuB,EAAC,UAAU,CAAC,CAAC;IAC/E,IAAI,CAAC,cAAc,EAAE,CAAC;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;;;yBAGJ,SAAS;;;CAGjC,CAAC,CAAC;QACK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,OAAO,GAAuB,IAAA,gCAAgB,EAAC,UAAU,CAAC,CAAC;IAEjE,6EAA6E;IAC7E,MAAM,UAAU,GAAW,eAAe,SAAS,QAAQ,cAAc,EAAE,CAAC;IAC5E,MAAM,YAAY,GAA4B,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;IAC9E,YAAY,CAAC,SAAS,GAAG;QACrB,SAAS;QACT,cAAc;QACd,OAAO;QACP,UAAU;KACb,CAAC;IAEF,MAAM,MAAM,GAA2B;QACnC,kBAAkB,EAAE;YAChB,aAAa,EAAE,YAAY;YAC3B,kBAAkB,EAAE,OAAO;YAC3B,YAAY;SACf;KACJ,CAAC;IAEF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/clients/claude/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/clients/claude/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA6ClC,qBAAa,YAAa,YAAW,OAAO;IACxC,SAAgB,IAAI,EAAE,MAAM,CAAY;IAEjC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAInC,iBAAiB,IAAI,MAAM;IAI3B,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IA+CjC,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAK1C,OAAO,CAAC,gBAAgB;IAyBjB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIzC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIxC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIzC,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI3C,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvD,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,gBAAgB;IAsGxB,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,gBAAgB;CAgC3B;AAuBD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAG1D"}
|
|
@@ -12,8 +12,8 @@ const track_action_1 = require("./hooks/track-action");
|
|
|
12
12
|
const session_start_1 = require("./hooks/session-start");
|
|
13
13
|
const require_verdict_1 = require("./hooks/require-verdict");
|
|
14
14
|
const require_verification_1 = require("./hooks/require-verification");
|
|
15
|
+
const config_1 = require("../../lib/config");
|
|
15
16
|
const MCP_SERVER_NAME = "browser-devtools";
|
|
16
|
-
const MCP_SERVER_PACKAGE = "browser-devtools-mcp";
|
|
17
17
|
const IRONBEE_HOOK_MARKER = "ironbee";
|
|
18
18
|
class ClaudeClient {
|
|
19
19
|
constructor() {
|
|
@@ -47,15 +47,18 @@ class ClaudeClient {
|
|
|
47
47
|
const rulePath = (0, path_1.join)(rulesDir, "ironbee-verification.md");
|
|
48
48
|
const ruleContent = (0, fs_1.readFileSync)((0, path_1.join)(__dirname, "rule.md"), "utf-8");
|
|
49
49
|
(0, fs_1.writeFileSync)(rulePath, ruleContent);
|
|
50
|
-
const
|
|
51
|
-
const
|
|
52
|
-
(0, fs_1.writeFileSync)(
|
|
50
|
+
const analyzeCommandPath = (0, path_1.join)(commandsDir, "ironbee-analyze.md");
|
|
51
|
+
const analyzeCommandContent = (0, fs_1.readFileSync)((0, path_1.join)(__dirname, "commands", "ironbee-analyze.md"), "utf-8");
|
|
52
|
+
(0, fs_1.writeFileSync)(analyzeCommandPath, analyzeCommandContent);
|
|
53
|
+
const verifyCommandPath = (0, path_1.join)(commandsDir, "ironbee-verify.md");
|
|
54
|
+
const verifyCommandContent = (0, fs_1.readFileSync)((0, path_1.join)(__dirname, "commands", "ironbee-verify.md"), "utf-8");
|
|
55
|
+
(0, fs_1.writeFileSync)(verifyCommandPath, verifyCommandContent);
|
|
53
56
|
const mcpPath = (0, path_1.join)(projectDir, ".mcp.json");
|
|
54
|
-
this.writeMcpConfig(mcpPath);
|
|
57
|
+
this.writeMcpConfig(mcpPath, projectDir);
|
|
55
58
|
console.log(` ${output_1.pc.dim("→")} ${(0, output_1.orange)("[claude]")} settings ${output_1.pc.dim("→")} ${output_1.pc.dim(settingsPath)}`);
|
|
56
59
|
console.log(` ${output_1.pc.dim("→")} ${(0, output_1.orange)("[claude]")} skills ${output_1.pc.dim("→")} ${output_1.pc.dim(skillsDir)}`);
|
|
57
60
|
console.log(` ${output_1.pc.dim("→")} ${(0, output_1.orange)("[claude]")} rule ${output_1.pc.dim("→")} ${output_1.pc.dim(rulePath)}`);
|
|
58
|
-
console.log(` ${output_1.pc.dim("→")} ${(0, output_1.orange)("[claude]")}
|
|
61
|
+
console.log(` ${output_1.pc.dim("→")} ${(0, output_1.orange)("[claude]")} commands ${output_1.pc.dim("→")} ${output_1.pc.dim(commandsDir)}`);
|
|
59
62
|
console.log(` ${output_1.pc.dim("→")} ${(0, output_1.orange)("[claude]")} mcp ${output_1.pc.dim("→")} ${output_1.pc.dim(mcpPath)}`);
|
|
60
63
|
}
|
|
61
64
|
uninstall(projectDir) {
|
|
@@ -68,11 +71,13 @@ class ClaudeClient {
|
|
|
68
71
|
const verifySkillPath = (0, path_1.join)(claudeDir, "skills", "ironbee-verification.md");
|
|
69
72
|
const analyzeSkillPath = (0, path_1.join)(claudeDir, "skills", "ironbee-analyze.md");
|
|
70
73
|
const rulePath = (0, path_1.join)(claudeDir, "rules", "ironbee-verification.md");
|
|
71
|
-
const
|
|
74
|
+
const analyzeCommandPath = (0, path_1.join)(claudeDir, "commands", "ironbee-analyze.md");
|
|
75
|
+
const verifyCommandPath = (0, path_1.join)(claudeDir, "commands", "ironbee-verify.md");
|
|
72
76
|
this.removeFile(verifySkillPath);
|
|
73
77
|
this.removeFile(analyzeSkillPath);
|
|
74
78
|
this.removeFile(rulePath);
|
|
75
|
-
this.removeFile(
|
|
79
|
+
this.removeFile(analyzeCommandPath);
|
|
80
|
+
this.removeFile(verifyCommandPath);
|
|
76
81
|
// remove ironbee hooks and permission from settings.json
|
|
77
82
|
const settingsPath = (0, path_1.join)(claudeDir, "settings.json");
|
|
78
83
|
this.removeIronBeeHooks(settingsPath);
|
|
@@ -248,7 +253,7 @@ class ClaudeClient {
|
|
|
248
253
|
(0, fs_1.unlinkSync)(filePath);
|
|
249
254
|
}
|
|
250
255
|
}
|
|
251
|
-
writeMcpConfig(mcpPath) {
|
|
256
|
+
writeMcpConfig(mcpPath, projectDir) {
|
|
252
257
|
let config = { mcpServers: {} };
|
|
253
258
|
if ((0, fs_1.existsSync)(mcpPath)) {
|
|
254
259
|
try {
|
|
@@ -262,15 +267,8 @@ class ClaudeClient {
|
|
|
262
267
|
config = { mcpServers: {} };
|
|
263
268
|
}
|
|
264
269
|
}
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
args: ["-y", MCP_SERVER_PACKAGE],
|
|
268
|
-
env: {
|
|
269
|
-
BROWSER_DEVTOOLS_INSTALL_CHROMIUM: "true",
|
|
270
|
-
TOOL_NAME_PREFIX: "bdt_",
|
|
271
|
-
TOOL_INPUT_METADATA_ENABLE: "true",
|
|
272
|
-
},
|
|
273
|
-
};
|
|
270
|
+
const mcpEntry = (0, config_1.getMcpServerEntry)(projectDir);
|
|
271
|
+
config.mcpServers[MCP_SERVER_NAME] = mcpEntry;
|
|
274
272
|
(0, fs_1.writeFileSync)(mcpPath, JSON.stringify(config, null, 2));
|
|
275
273
|
}
|
|
276
274
|
writePermissions(settingsPath) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/clients/claude/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/clients/claude/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ You are responsible for the full application lifecycle during verification:
|
|
|
7
7
|
- **Start** the dev server before navigating to any page (e.g. `npm run dev`, `docker compose up -d`)
|
|
8
8
|
- **Stop** the dev server after verification is complete (e.g. `Ctrl+C`, `docker compose down`)
|
|
9
9
|
If the application is already running, skip the start step. If the build fails, fix it before proceeding.
|
|
10
|
+
**Do NOT guess ports.** After starting, check the actual port (e.g. `docker compose ps`, process output, config files) before navigating.
|
|
10
11
|
|
|
11
12
|
Required verification steps:
|
|
12
13
|
1. Build and start the application if not already running
|
|
@@ -25,6 +25,8 @@ You are responsible for managing the application during verification:
|
|
|
25
25
|
|
|
26
26
|
If the application is already running, skip the start step. If the build fails, fix the build error before proceeding with verification.
|
|
27
27
|
|
|
28
|
+
**Do NOT guess ports.** After starting the application, check the actual port (e.g. `docker compose ps`, process output, or config files) before navigating. Never assume a default port.
|
|
29
|
+
|
|
28
30
|
## Flow
|
|
29
31
|
1. Implement your changes (write/edit code)
|
|
30
32
|
2. **Build and start** the application if not already running
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ironbee-verify
|
|
3
|
+
description: "Trigger browser verification of code changes. Args: (default), full, visual, functional"
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# IronBee Verify
|
|
8
|
+
|
|
9
|
+
Verify the current code changes in the browser.
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
- `/ironbee-verify` — **default** — focus on what changed, visual + functional checks on affected areas
|
|
13
|
+
- `/ironbee-verify full` — **full scope** — entire application, all checklists, edge cases, responsive, accessibility deep dive
|
|
14
|
+
- `/ironbee-verify visual` — **visual only** — contrast, layout, spacing, fonts, images, theming
|
|
15
|
+
- `/ironbee-verify functional` — **functional only** — clicks, forms, navigation, data flow, error handling
|
|
16
|
+
|
|
17
|
+
If no argument is given, use **default** mode.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Steps (all modes)
|
|
22
|
+
|
|
23
|
+
1. **Start verification**: Run `echo '{"session_id":"<your-session-id>"}' | ironbee hook verification-start` via terminal
|
|
24
|
+
2. **Build and start** the application if not already running
|
|
25
|
+
3. **For EVERY page you visit**, repeat this cycle:
|
|
26
|
+
a. **Navigate** using browser-devtools MCP tools
|
|
27
|
+
b. **Take a FULL PAGE screenshot** with `fullPage: true`
|
|
28
|
+
c. **Take an ARIA snapshot** to capture the page structure
|
|
29
|
+
d. **STOP and visually analyze the screenshot** — switch your focus entirely to finding visual problems. Look at this screenshot as if your ONLY job is to find visual defects:
|
|
30
|
+
**WARNING: ARIA reports DOM content, not what the user actually sees.** Do NOT assume the page looks correct just because ARIA shows the right content. Only the screenshot tells you what the user actually sees.
|
|
31
|
+
- Text readability — is it readable against its background? Look for text that blends in or poor contrast
|
|
32
|
+
- Layout — overlapping elements, unexpected gaps, overflow, content cut off
|
|
33
|
+
- Spacing — consistent padding/margin? Too cramped or too far apart?
|
|
34
|
+
- Colors — intentional and consistent? Any jarring mismatches?
|
|
35
|
+
- Typography — right sizes? Clipped or truncated text?
|
|
36
|
+
- Images/icons — loaded? Right size and aspect ratio?
|
|
37
|
+
- States — empty, loading, disabled, error states rendered properly?
|
|
38
|
+
Report your visual findings before continuing.
|
|
39
|
+
e. **Read the ARIA snapshot** — verify headings, labels, landmarks, and structure
|
|
40
|
+
f. If anything looks wrong → note it as an issue
|
|
41
|
+
4. **Functionally test** — run the checklist for your mode (see below). After each significant interaction, take another screenshot and repeat the visual analysis.
|
|
42
|
+
5. **Check console** for errors
|
|
43
|
+
6. **Stop** the dev server when verification is complete
|
|
44
|
+
7. **Submit your verdict** via terminal:
|
|
45
|
+
- Pass: `echo '{"session_id":"...","status":"pass","pages_tested":[...],"checks":[...],"console_errors":0,"network_failures":0}' | ironbee hook submit-verdict`
|
|
46
|
+
- Fail: `echo '{"session_id":"...","status":"fail","pages_tested":[...],"checks":[...],"console_errors":N,"network_failures":N,"issues":["describe what failed"]}' | ironbee hook submit-verdict`
|
|
47
|
+
8. **If failed** → collect ALL issues first (finish testing all affected pages), submit one fail verdict with all issues, then fix everything, rebuild, and re-verify. Do not fix one issue at a time — batch fixes to avoid repeated build/restart cycles.
|
|
48
|
+
9. If pass after a previous fail, include `"fixes"` in the verdict describing what was fixed
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Default Mode
|
|
53
|
+
|
|
54
|
+
Focus on the code you changed — not the entire application.
|
|
55
|
+
|
|
56
|
+
### 1. Study the changes
|
|
57
|
+
1. Run `git diff --name-only` and `git diff --name-only HEAD~1`
|
|
58
|
+
2. **Ignore `.ironbee/`, `.claude/`, `.cursor/`** — tool config, not application code
|
|
59
|
+
3. **Read the full diff** (`git diff` and/or `git diff HEAD~1`) — understand every change: what was added, removed, modified. Note specific values (colors, sizes, conditions, logic, API endpoints, component props).
|
|
60
|
+
4. Before opening the browser, you should be able to answer: what exactly changed, what should look or behave differently, and what could go wrong?
|
|
61
|
+
|
|
62
|
+
### 2. Verify in the browser
|
|
63
|
+
- **Cross-reference the diff against what you see.** For each change in the diff, verify it is correctly reflected in the browser. If the diff changes a color → check that color. If it changes a calculation → verify the result. If it adds a component → confirm it renders.
|
|
64
|
+
- **Test the flow end-to-end** — navigate, click, fill forms, submit, verify the outcome
|
|
65
|
+
- **Check one edge case** — empty input, invalid data, or double-click
|
|
66
|
+
- **Console** — any new errors or warnings?
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Full Mode (`/ironbee-verify full`)
|
|
71
|
+
|
|
72
|
+
Comprehensive verification of the **entire application**. Do NOT run `git diff` or scope to recent changes. Test every page, every flow, every visual detail. Any issue is a failure, regardless of when it was introduced.
|
|
73
|
+
|
|
74
|
+
### Visual Checklist
|
|
75
|
+
In addition to the per-page visual analysis in step 3d:
|
|
76
|
+
- **Responsiveness** — does the layout adapt if viewport changes? No horizontal scrolling on standard widths
|
|
77
|
+
- **Borders & separators** — visible and consistent? Not too faint or missing
|
|
78
|
+
- **Scroll behavior** — does the page scroll smoothly? No content hidden behind sticky headers/footers?
|
|
79
|
+
|
|
80
|
+
### Functional Checklist
|
|
81
|
+
- **Navigation** — do links and buttons navigate to the correct pages?
|
|
82
|
+
- **Forms** — fill inputs with real data, select options, submit. Do validation messages appear correctly?
|
|
83
|
+
- **Buttons & interactions** — do click handlers fire? Do toggles, dropdowns, and modals work?
|
|
84
|
+
- **Data flow** — does submitted data appear where expected?
|
|
85
|
+
- **Error handling** — what happens with invalid input? Does the UI handle errors gracefully?
|
|
86
|
+
- **Authentication** — if applicable, do protected routes redirect correctly?
|
|
87
|
+
- **API calls** — do network requests succeed? Check for failed requests in console/network
|
|
88
|
+
- **State persistence** — does state survive page refresh where expected?
|
|
89
|
+
- **Edge cases** — empty inputs, very long text, special characters, rapid clicks
|
|
90
|
+
|
|
91
|
+
### Accessibility (deep dive)
|
|
92
|
+
- Are headings hierarchical? Do form inputs have labels? Are landmarks present?
|
|
93
|
+
- Check for missing alt text on images
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Visual Mode (`/ironbee-verify visual`)
|
|
98
|
+
|
|
99
|
+
Focus exclusively on visual quality. Run the per-page visual analysis from step 3d on every page, plus:
|
|
100
|
+
- **Responsiveness** — viewport changes, no horizontal scrolling
|
|
101
|
+
- **Borders & separators** — visible and consistent?
|
|
102
|
+
- **Scroll behavior** — smooth scrolling, no hidden content
|
|
103
|
+
|
|
104
|
+
Take screenshots of **multiple states** if applicable (hover, active, disabled, empty, populated).
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Functional Mode (`/ironbee-verify functional`)
|
|
109
|
+
|
|
110
|
+
Focus exclusively on behavior. Use the same functional checklist as Full Mode above.
|
|
111
|
+
|
|
112
|
+
Test the **complete user flow**, not just the single step you changed.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## When to FAIL
|
|
117
|
+
|
|
118
|
+
If you observe ANY problem — wrong data, unexpected errors, visual defects, broken interactions, console errors, data inconsistency between pages — you MUST submit a **fail** verdict.
|
|
119
|
+
|
|
120
|
+
**Do NOT rationalize away problems.** If something looks wrong or behaves unexpectedly, it IS wrong. In **full** mode, there is no such thing as "pre-existing" — if it's broken, fail it.
|
|
121
|
+
|
|
122
|
+
**After a fail verdict, you MUST fix the issues and re-verify.** Do not just report and stop.
|
|
123
|
+
|
|
124
|
+
## Verdict Quality
|
|
125
|
+
|
|
126
|
+
Your `checks` array must list **specific observations**, not generic statements:
|
|
127
|
+
- GOOD: `["login form renders with email and password fields", "submitted valid credentials, redirected to /dashboard", "console clean — 0 errors"]`
|
|
128
|
+
- BAD: `["it works", "looks good", "feature implemented"]`
|
|
129
|
+
|
|
130
|
+
## Important
|
|
131
|
+
- ALWAYS submit a verdict after every verification attempt — both pass AND fail
|
|
132
|
+
- Do NOT edit code before submitting a fail verdict
|
|
133
|
+
- **Noticing a bug and submitting pass is the #1 violation** — if you see it, fail it
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"require-verification.d.ts","sourceRoot":"","sources":["../../../../src/clients/cursor/hooks/require-verification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAoBH,wBAAgB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"require-verification.d.ts","sourceRoot":"","sources":["../../../../src/clients/cursor/hooks/require-verification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAoBH,wBAAgB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAgD5C"}
|
|
@@ -47,11 +47,13 @@ Then use browser tools to verify your changes.`,
|
|
|
47
47
|
}
|
|
48
48
|
const traceId = (0, session_state_1.getActiveTraceId)(sessionDir);
|
|
49
49
|
// inject _metadata into tool input so MCP server knows session/trace context
|
|
50
|
+
const traceState = `ironbee=sid:${sessionId};vid:${verificationId}`;
|
|
50
51
|
const updatedInput = { ...(input.tool_input ?? {}) };
|
|
51
52
|
updatedInput._metadata = {
|
|
52
53
|
sessionId,
|
|
53
54
|
verificationId,
|
|
54
55
|
traceId,
|
|
56
|
+
traceState,
|
|
55
57
|
};
|
|
56
58
|
const output = {
|
|
57
59
|
permission: "allow",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"require-verification.js","sourceRoot":"","sources":["../../../../src/clients/cursor/hooks/require-verification.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AAoBH,
|
|
1
|
+
{"version":3,"file":"require-verification.js","sourceRoot":"","sources":["../../../../src/clients/cursor/hooks/require-verification.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AAoBH,kBAgDC;AAlED,qEAA8F;AAC9F,gDAAyD;AACzD,8CAA+C;AAgB/C,SAAgB,GAAG,CAAC,UAAkB;IAClC,IAAI,KAA4B,CAAC;IACjC,IAAI,CAAC;QACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAS,GAAE,CAA0B,CAAC;IAC7D,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,MAAM,GAA2B,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;QAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,SAAS,GAAW,KAAK,CAAC,eAAe,IAAI,SAAS,CAAC;IAC7D,MAAM,UAAU,GAAW,GAAG,UAAU,sBAAsB,SAAS,EAAE,CAAC;IAC1E,IAAA,mBAAU,EAAC,GAAG,UAAU,cAAc,CAAC,CAAC;IAExC,MAAM,cAAc,GAAuB,IAAA,uCAAuB,EAAC,UAAU,CAAC,CAAC;IAC/E,IAAI,CAAC,cAAc,EAAE,CAAC;QAClB,MAAM,MAAM,GAA2B;YACnC,UAAU,EAAE,MAAM;YAClB,aAAa,EAAE;;;yBAGF,SAAS;;+CAEa;SACtC,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,OAAO,GAAuB,IAAA,gCAAgB,EAAC,UAAU,CAAC,CAAC;IAEjE,6EAA6E;IAC7E,MAAM,UAAU,GAAW,eAAe,SAAS,QAAQ,cAAc,EAAE,CAAC;IAC5E,MAAM,YAAY,GAA4B,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;IAC9E,YAAY,CAAC,SAAS,GAAG;QACrB,SAAS;QACT,cAAc;QACd,OAAO;QACP,UAAU;KACb,CAAC;IAEF,MAAM,MAAM,GAA2B;QACnC,UAAU,EAAE,OAAO;QACnB,aAAa,EAAE,YAAY;KAC9B,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/clients/cursor/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/clients/cursor/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA2ClC,qBAAa,YAAa,YAAW,OAAO;IACxC,SAAgB,IAAI,EAAE,MAAM,CAAY;IAEjC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAInC,iBAAiB,IAAI,MAAM;IAI3B,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAiDjC,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAO1C,OAAO,CAAC,gBAAgB;IAsBjB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIzC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIxC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIzC,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI3C,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvD,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,gBAAgB;IA4ExB,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,cAAc;CAoBzB"}
|
|
@@ -11,8 +11,8 @@ const track_action_1 = require("./hooks/track-action");
|
|
|
11
11
|
const session_start_1 = require("./hooks/session-start");
|
|
12
12
|
const require_verdict_1 = require("./hooks/require-verdict");
|
|
13
13
|
const require_verification_1 = require("./hooks/require-verification");
|
|
14
|
+
const config_1 = require("../../lib/config");
|
|
14
15
|
const MCP_SERVER_NAME = "browser-devtools";
|
|
15
|
-
const MCP_SERVER_PACKAGE = "browser-devtools-mcp";
|
|
16
16
|
const IRONBEE_HOOK_MARKER = "ironbee";
|
|
17
17
|
// Color for [cursor] label — gray
|
|
18
18
|
function cursorColor(text) {
|
|
@@ -49,8 +49,13 @@ class CursorClient {
|
|
|
49
49
|
const analyzeSkillPath = (0, path_1.join)(analyzeSkillDir, "SKILL.md");
|
|
50
50
|
const analyzeContent = (0, fs_1.readFileSync)((0, path_1.join)(__dirname, "commands", "ironbee-analyze", "SKILL.md"), "utf-8");
|
|
51
51
|
(0, fs_1.writeFileSync)(analyzeSkillPath, analyzeContent);
|
|
52
|
+
const verifySkillDir = (0, path_1.join)(skillsDir, "ironbee-verify");
|
|
53
|
+
(0, fs_1.mkdirSync)(verifySkillDir, { recursive: true });
|
|
54
|
+
const verifySkillPath = (0, path_1.join)(verifySkillDir, "SKILL.md");
|
|
55
|
+
const verifyContent = (0, fs_1.readFileSync)((0, path_1.join)(__dirname, "commands", "ironbee-verify", "SKILL.md"), "utf-8");
|
|
56
|
+
(0, fs_1.writeFileSync)(verifySkillPath, verifyContent);
|
|
52
57
|
const mcpPath = (0, path_1.join)(cursorDir, "mcp.json");
|
|
53
|
-
this.writeMcpConfig(mcpPath);
|
|
58
|
+
this.writeMcpConfig(mcpPath, projectDir);
|
|
54
59
|
console.log(` ${output_1.pc.dim("→")} ${cursorColor("[cursor]")} hooks ${output_1.pc.dim("→")} ${output_1.pc.dim(hooksPath)}`);
|
|
55
60
|
console.log(` ${output_1.pc.dim("→")} ${cursorColor("[cursor]")} skill ${output_1.pc.dim("→")} ${output_1.pc.dim(skillPath)}`);
|
|
56
61
|
console.log(` ${output_1.pc.dim("→")} ${cursorColor("[cursor]")} rule ${output_1.pc.dim("→")} ${output_1.pc.dim(rulePath)}`);
|
|
@@ -74,9 +79,11 @@ class CursorClient {
|
|
|
74
79
|
const skillPath = (0, path_1.join)(cursorDir, "skills", "ironbee-verification.md");
|
|
75
80
|
const rulePath = (0, path_1.join)(cursorDir, "rules", "ironbee-verification.mdc");
|
|
76
81
|
const analyzeSkillPath = (0, path_1.join)(cursorDir, "skills", "ironbee-analyze", "SKILL.md");
|
|
82
|
+
const verifySkillPath = (0, path_1.join)(cursorDir, "skills", "ironbee-verify", "SKILL.md");
|
|
77
83
|
this.removeFile(skillPath);
|
|
78
84
|
this.removeFile(rulePath);
|
|
79
85
|
this.removeFile(analyzeSkillPath);
|
|
86
|
+
this.removeFile(verifySkillPath);
|
|
80
87
|
// remove ironbee hooks from hooks.json
|
|
81
88
|
const hooksPath = (0, path_1.join)(cursorDir, "hooks.json");
|
|
82
89
|
this.removeIronBeeHooks(hooksPath);
|
|
@@ -208,7 +215,7 @@ class CursorClient {
|
|
|
208
215
|
(0, fs_1.unlinkSync)(filePath);
|
|
209
216
|
}
|
|
210
217
|
}
|
|
211
|
-
writeMcpConfig(mcpPath) {
|
|
218
|
+
writeMcpConfig(mcpPath, projectDir) {
|
|
212
219
|
let config = { mcpServers: {} };
|
|
213
220
|
if ((0, fs_1.existsSync)(mcpPath)) {
|
|
214
221
|
try {
|
|
@@ -222,15 +229,8 @@ class CursorClient {
|
|
|
222
229
|
config = { mcpServers: {} };
|
|
223
230
|
}
|
|
224
231
|
}
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
args: ["-y", MCP_SERVER_PACKAGE],
|
|
228
|
-
env: {
|
|
229
|
-
BROWSER_DEVTOOLS_INSTALL_CHROMIUM: "true",
|
|
230
|
-
TOOL_NAME_PREFIX: "bdt_",
|
|
231
|
-
TOOL_INPUT_METADATA_ENABLE: "true",
|
|
232
|
-
},
|
|
233
|
-
};
|
|
232
|
+
const mcpEntry = (0, config_1.getMcpServerEntry)(projectDir);
|
|
233
|
+
config.mcpServers[MCP_SERVER_NAME] = mcpEntry;
|
|
234
234
|
(0, fs_1.writeFileSync)(mcpPath, JSON.stringify(config, null, 2));
|
|
235
235
|
}
|
|
236
236
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/clients/cursor/index.ts"],"names":[],"mappings":";;;AAAA,2BAAoF;AACpF,+BAA4B;AAE5B,6CAA0C;AAC1C,6CAA8C;AAC9C,qDAA+D;AAC/D,yDAAmE;AACnE,uDAAiE;AACjE,yDAAmE;AACnE,6DAAuE;AACvE,uEAAiF;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/clients/cursor/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ You are responsible for the full application lifecycle during verification:
|
|
|
12
12
|
- **Start** the dev server before navigating to any page (e.g. `npm run dev`, `docker compose up -d`)
|
|
13
13
|
- **Stop** the dev server after verification is complete (e.g. `Ctrl+C`, `docker compose down`)
|
|
14
14
|
If the application is already running, skip the start step. If the build fails, fix it before proceeding.
|
|
15
|
+
**Do NOT guess ports.** After starting, check the actual port (e.g. `docker compose ps`, process output, config files) before navigating.
|
|
15
16
|
|
|
16
17
|
Required verification steps:
|
|
17
18
|
1. Build and start the application if not already running
|
|
@@ -25,6 +25,8 @@ You are responsible for managing the application during verification:
|
|
|
25
25
|
|
|
26
26
|
If the application is already running, skip the start step. If the build fails, fix the build error before proceeding with verification.
|
|
27
27
|
|
|
28
|
+
**Do NOT guess ports.** After starting the application, check the actual port (e.g. `docker compose ps`, process output, or config files) before navigating. Never assume a default port.
|
|
29
|
+
|
|
28
30
|
## Flow
|
|
29
31
|
1. Implement your changes (write/edit code)
|
|
30
32
|
2. **Build and start** the application if not already running
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -40,5 +40,23 @@ export declare function loadConfig(projectDir?: string): IronBeeConfig;
|
|
|
40
40
|
* 3. No match → skip (return false)
|
|
41
41
|
*/
|
|
42
42
|
export declare function requiresVerification(filePath: string, config: IronBeeConfig): boolean;
|
|
43
|
+
export interface BrowserDevToolsMCPConfig {
|
|
44
|
+
[key: string]: unknown;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Returns the MCP server config for browser-devtools.
|
|
48
|
+
*
|
|
49
|
+
* Config is read from `browserDevTools` key in IronBee config:
|
|
50
|
+
* - `browserDevTools.mcp` — full MCP config (used as-is if provided)
|
|
51
|
+
* - `browserDevTools.env` — env vars for the MCP server (used only when mcp is not provided)
|
|
52
|
+
*
|
|
53
|
+
* Priority:
|
|
54
|
+
* 1. If `browserDevTools.mcp` exists → use as-is (env from mcp config, not from browserDevTools.env)
|
|
55
|
+
* 2. Otherwise → build default config (npx -y browser-devtools-mcp) with browserDevTools.env merged
|
|
56
|
+
*
|
|
57
|
+
* IronBee's own env vars (TOOL_NAME_PREFIX, TOOL_INPUT_METADATA_ENABLE) are always applied last,
|
|
58
|
+
* overriding any user-provided values.
|
|
59
|
+
*/
|
|
60
|
+
export declare function getMcpServerEntry(projectDir?: string): BrowserDevToolsMCPConfig;
|
|
43
61
|
export declare function getMaxRetries(config: IronBeeConfig): number;
|
|
44
62
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,MAAM,WAAW,aAAa;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjC,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,sCAAsC;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AA6CD,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,aAAa,CAiB7D;AAyCD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAarF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAI3D"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,MAAM,WAAW,aAAa;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjC,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,sCAAsC;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AA6CD,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,aAAa,CAiB7D;AAyCD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAarF;AAED,MAAM,WAAW,wBAAwB;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAcD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,wBAAwB,CAuC/E;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAI3D"}
|
package/dist/lib/config.js
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.loadConfig = loadConfig;
|
|
13
13
|
exports.requiresVerification = requiresVerification;
|
|
14
|
+
exports.getMcpServerEntry = getMcpServerEntry;
|
|
14
15
|
exports.getMaxRetries = getMaxRetries;
|
|
15
16
|
const fs_1 = require("fs");
|
|
16
17
|
const path_1 = require("path");
|
|
@@ -127,6 +128,64 @@ function requiresVerification(filePath, config) {
|
|
|
127
128
|
const patterns = [...base, ...additional];
|
|
128
129
|
return matchesAny(filePath, patterns);
|
|
129
130
|
}
|
|
131
|
+
const IRONBEE_ENV = {
|
|
132
|
+
TOOL_NAME_PREFIX: "bdt_",
|
|
133
|
+
TOOL_INPUT_METADATA_ENABLE: "true",
|
|
134
|
+
};
|
|
135
|
+
const DEFAULT_MCP_ENV = {
|
|
136
|
+
BROWSER_DEVTOOLS_INSTALL_CHROMIUM: "true",
|
|
137
|
+
};
|
|
138
|
+
const DEFAULT_MCP_COMMAND = "npx";
|
|
139
|
+
const DEFAULT_MCP_ARGS = ["-y", "browser-devtools-mcp"];
|
|
140
|
+
/**
|
|
141
|
+
* Returns the MCP server config for browser-devtools.
|
|
142
|
+
*
|
|
143
|
+
* Config is read from `browserDevTools` key in IronBee config:
|
|
144
|
+
* - `browserDevTools.mcp` — full MCP config (used as-is if provided)
|
|
145
|
+
* - `browserDevTools.env` — env vars for the MCP server (used only when mcp is not provided)
|
|
146
|
+
*
|
|
147
|
+
* Priority:
|
|
148
|
+
* 1. If `browserDevTools.mcp` exists → use as-is (env from mcp config, not from browserDevTools.env)
|
|
149
|
+
* 2. Otherwise → build default config (npx -y browser-devtools-mcp) with browserDevTools.env merged
|
|
150
|
+
*
|
|
151
|
+
* IronBee's own env vars (TOOL_NAME_PREFIX, TOOL_INPUT_METADATA_ENABLE) are always applied last,
|
|
152
|
+
* overriding any user-provided values.
|
|
153
|
+
*/
|
|
154
|
+
function getMcpServerEntry(projectDir) {
|
|
155
|
+
const config = loadConfig(projectDir);
|
|
156
|
+
const browserDevTools = config.browserDevTools;
|
|
157
|
+
if (browserDevTools && typeof browserDevTools === "object" && !Array.isArray(browserDevTools)) {
|
|
158
|
+
const bdtConfig = browserDevTools;
|
|
159
|
+
// if mcp is explicitly provided, use as-is + ironbee env overrides
|
|
160
|
+
if (bdtConfig.mcp && typeof bdtConfig.mcp === "object" && !Array.isArray(bdtConfig.mcp)) {
|
|
161
|
+
const mcp = { ...bdtConfig.mcp };
|
|
162
|
+
const mcpEnv = { ...(mcp.env ?? {}), ...IRONBEE_ENV };
|
|
163
|
+
mcp.env = mcpEnv;
|
|
164
|
+
return mcp;
|
|
165
|
+
}
|
|
166
|
+
// no mcp provided — build default with browserDevTools.env merged
|
|
167
|
+
const userEnv = {};
|
|
168
|
+
if (bdtConfig.env && typeof bdtConfig.env === "object" && !Array.isArray(bdtConfig.env)) {
|
|
169
|
+
const envObj = bdtConfig.env;
|
|
170
|
+
for (const key of Object.keys(envObj)) {
|
|
171
|
+
if (typeof envObj[key] === "string") {
|
|
172
|
+
userEnv[key] = envObj[key];
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return {
|
|
177
|
+
command: DEFAULT_MCP_COMMAND,
|
|
178
|
+
args: [...DEFAULT_MCP_ARGS],
|
|
179
|
+
env: { ...DEFAULT_MCP_ENV, ...userEnv, ...IRONBEE_ENV },
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
// no browserDevTools config — full defaults
|
|
183
|
+
return {
|
|
184
|
+
command: DEFAULT_MCP_COMMAND,
|
|
185
|
+
args: [...DEFAULT_MCP_ARGS],
|
|
186
|
+
env: { ...DEFAULT_MCP_ENV, ...IRONBEE_ENV },
|
|
187
|
+
};
|
|
188
|
+
}
|
|
130
189
|
function getMaxRetries(config) {
|
|
131
190
|
return (typeof config.maxRetries === "number" && config.maxRetries > 0)
|
|
132
191
|
? config.maxRetries
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AA8EH,gCAiBC;AAiDD,oDAaC;AAED,sCAIC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ironbee-ai/cli",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "The CLI for IronBee — Verification and Intelligence Layer for Agentic Development",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"lint": "eslint .",
|
|
21
21
|
"lint:fix": "eslint . --fix",
|
|
22
22
|
"clean": "rm -rf dist",
|
|
23
|
-
"release:patch": "release-it --ci -VV",
|
|
23
|
+
"release:patch": "release-it patch --ci -VV",
|
|
24
24
|
"release:minor": "release-it minor --ci -VV",
|
|
25
25
|
"release:major": "release-it major --ci -VV",
|
|
26
26
|
"postinstall": "node dist/scripts/postinstall.js || true",
|