acp-devtools 0.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Roman Ponomarev
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,118 @@
1
+ # ACP Devtools CLI
2
+
3
+ A transparent stdio proxy between your editor and an ACP coding agent that
4
+ captures every JSON-RPC frame, stores sessions in SQLite, and streams them
5
+ to a local web inspector. See every request, response, and notification on
6
+ a clickable timeline; replay or diff old sessions; validate captures
7
+ against the official ACP schema; query the store from Claude Code over
8
+ MCP.
9
+
10
+ ## What's inside
11
+
12
+ The `acp-devtools` binary is one CLI with subcommands plus a bundled UI:
13
+
14
+ - **`proxy`** — wraps any ACP agent and passes stdio through verbatim.
15
+ Logs every frame to `~/.acp-devtools/captures.db` and broadcasts to a
16
+ local WebSocket on an ephemeral port; several editors run side by side
17
+ without port conflicts.
18
+ - **`ui`** — web inspector at `http://127.0.0.1:3737/`. Vertical timeline,
19
+ J/K navigation, Cmd+K palette, performance dashboard with p50/p99/max
20
+ per method and auto-detected hotspots, request↔response pairing,
21
+ spec-aware JSON tree, multi-day session waterfall.
22
+ - **`mcp`** — Model Context Protocol server (stdio) that exposes the
23
+ capture store as eleven read-only tools: `list_sessions`,
24
+ `find_sessions_by_client`, `get_session_metadata`, `get_latency_stats`,
25
+ `get_session_summary`, `get_session_messages`, `get_message`,
26
+ `get_paired`, `search_messages`, `find_spec_violations`,
27
+ `diff_sessions`.
28
+ - **`replay`** — re-emits any saved session over the same WebSocket so
29
+ the inspector treats it as if it were live.
30
+ - **`diff` / `inspect` / `stats` / `search` / `session-info` / `validate` /
31
+ `export` / `import` / `mock-agent` / `mock-editor`** — headless
32
+ workflows for terminals and CI.
33
+
34
+ Works with Zed, WebStorm, IntelliJ, PyCharm, Neovim, and Visual Studio via
35
+ ReSharper — any editor that supports custom ACP servers — and with Claude
36
+ Code, Codex, Goose, OpenCode, and 30+ other agents.
37
+
38
+ ## Install
39
+
40
+ ```bash
41
+ npm install -g acp-devtools
42
+ which acp-devtools # absolute path for editor configs that need it
43
+ ```
44
+
45
+ Or run the UI without installing:
46
+
47
+ ```bash
48
+ npx acp-devtools ui
49
+ ```
50
+
51
+ ## Use it
52
+
53
+ Open the inspector:
54
+
55
+ ```bash
56
+ acp-devtools ui
57
+ # → http://127.0.0.1:3737/ (browser auto-opens)
58
+ ```
59
+
60
+ Add ACP Devtools to your editor as an agent server. The minimum Zed config
61
+ (`~/.config/zed/settings.json`):
62
+
63
+ ```json
64
+ {
65
+ "agent_servers": {
66
+ "Claude Code (via ACP Devtools)": {
67
+ "type": "custom",
68
+ "command": "acp-devtools"
69
+ }
70
+ }
71
+ }
72
+ ```
73
+
74
+ Pick your editor in the inspector's empty state and copy the pre-filled
75
+ snippet (the absolute binary path is auto-resolved). Recipes for
76
+ WebStorm / IntelliJ / PyCharm, Neovim, and Claude Code multi-profile
77
+ setups are in the GitHub repo.
78
+
79
+ ## MCP server
80
+
81
+ `acp-devtools mcp` runs over stdio. Add it from the CLI:
82
+
83
+ ```bash
84
+ claude mcp add acp-devtools -- acp-devtools mcp
85
+ ```
86
+
87
+ Or check a project-scoped `.mcp.json` into the repo root:
88
+
89
+ ```json
90
+ {
91
+ "mcpServers": {
92
+ "acp-devtools": {
93
+ "command": "acp-devtools",
94
+ "args": ["mcp"]
95
+ }
96
+ }
97
+ }
98
+ ```
99
+
100
+ After restarting Claude Code the eleven tools above become available (check
101
+ `/mcp`). Every
102
+ tool advertises `readOnlyHint: true`, `idempotentHint: true`,
103
+ `openWorldHint: false` per the MCP annotations spec, and the server emits
104
+ an `instructions` block on `initialize` so the connecting LLM knows where
105
+ to start without scanning `tools/list`. Stdio only; no network surface;
106
+ the server cannot write to `captures.db`.
107
+
108
+ ## Full documentation
109
+
110
+ Architecture, supported agents, JetBrains setup, Claude Code multi-profile
111
+ recipes, troubleshooting, and the full CLI reference — all in the GitHub
112
+ repo:
113
+
114
+ **<https://github.com/maksugr/acp-devtools>**
115
+
116
+ ## License
117
+
118
+ MIT