@kurrent/kapacitor 0.5.7 → 0.5.9

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.
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "kapacitor",
3
- "version": "0.5.7",
3
+ "version": "0.5.9",
4
4
  "description": "Records and visualizes Claude Code sessions via kapacitor CLI hooks"
5
5
  }
@@ -0,0 +1,12 @@
1
+ {
2
+ "mcp_servers": {
3
+ "kapacitor-review": {
4
+ "command": "kapacitor",
5
+ "args": ["mcp", "review"]
6
+ },
7
+ "kapacitor-sessions": {
8
+ "command": "kapacitor",
9
+ "args": ["mcp", "sessions"]
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "kapacitor",
3
+ "version": "1.6.0",
4
+ "description": "Records and visualizes Codex CLI sessions via kapacitor CLI hooks",
5
+ "skills": "./codex-skills/",
6
+ "mcpServers": "./.codex-mcp.json"
7
+ }
@@ -4,6 +4,11 @@
4
4
  "command": "kapacitor",
5
5
  "args": ["mcp", "review"],
6
6
  "description": "PR review context tools — query implementation session transcripts to understand why code was changed"
7
+ },
8
+ "kapacitor-sessions": {
9
+ "command": "kapacitor",
10
+ "args": ["mcp", "sessions"],
11
+ "cwd": "${CLAUDE_PROJECT_DIR}"
7
12
  }
8
13
  }
9
14
  }
@@ -1,10 +1,26 @@
1
- # Kapacitor Plugin for Claude Code
1
+ # Kapacitor Plugin
2
2
 
3
- This plugin integrates [Kurrent Capacitor](../README.md) with Claude Code by automatically registering lifecycle hooks, providing skills for session review, and exposing MCP tools for PR review context.
3
+ This plugin integrates [Kurrent Capacitor](../README.md) with Claude Code and Codex CLI by automatically registering lifecycle hooks, providing skills for session review, and auto-installing MCP servers that expose past-session context to the agent.
4
4
 
5
5
  ## What it does
6
6
 
7
- **MCP Tools** — PR review context tools, available automatically when you're on a branch with an open PR. Claude can query implementation session transcripts to understand why code was changed:
7
+ **MCP servers** — Two stdio servers, both auto-registered on plugin install (no manual `claude mcp add` or `~/.config/codex/mcp_servers.toml` edit):
8
+
9
+ ### `kapacitor-sessions`
10
+
11
+ Search and recall past Kurrent Capacitor sessions from inside the agent.
12
+
13
+ | Tool | Description |
14
+ |------|-------------|
15
+ | `search_sessions` | Free-text + author search over past sessions (and subagent transcripts), defaulted to the cwd's repo |
16
+ | `get_session_summary` | Concise `summary_text` + `plan` for a session |
17
+ | `get_session_transcript` | Speaker-tagged transcript window, with `around_event` drill-in for search hits |
18
+
19
+ Repo-aware: it resolves the cwd to a repo hash at startup, so `search_sessions` defaults to *this* repo.
20
+
21
+ ### `kapacitor-review`
22
+
23
+ PR review context tools, available automatically when the agent is on a branch with an open PR. The MCP server auto-detects the current repo and PR from git; if you're not on a PR branch, the tools return a helpful message suggesting `kapacitor review <pr>`.
8
24
 
9
25
  | Tool | Description |
10
26
  |------|-------------|
@@ -15,7 +31,7 @@ This plugin integrates [Kurrent Capacitor](../README.md) with Claude Code by aut
15
31
  | `list_sessions` | Sessions that contributed to the PR |
16
32
  | `get_transcript` | Full transcript of a specific session |
17
33
 
18
- The MCP server auto-detects the current repo and PR from git. If you're not on a PR branch, the tools return a helpful message suggesting `kapacitor review <pr>`.
34
+ `kapacitor mcp judge` is intentionally not auto-registered. Add it with `claude mcp add kapacitor-judge -- kapacitor mcp judge` if you want it.
19
35
 
20
36
  **Hooks** — Automatically captures session activity and forwards it to the Kurrent Capacitor server:
21
37
 
@@ -30,17 +46,19 @@ The MCP server auto-detects the current repo and PR from git. If you're not on a
30
46
 
31
47
  Each hook pipes its JSON payload through the `kapacitor` CLI, which enriches it with git/PR info and forwards it to the server. A background watcher process streams transcript lines in real time.
32
48
 
33
- **Skills** — Slash commands for reviewing recorded sessions:
49
+ **Skills** — Slash commands for reviewing recorded sessions. Available on both harnesses (Claude reads `skills/`, Codex reads `codex-skills/`):
50
+
51
+ - `kapacitor-recap` — Retrieve a structured summary of a session (user prompts, assistant responses, plans, file changes)
52
+ - `kapacitor-errors` — Extract tool call errors from a session for post-session review and pattern detection
53
+ - `kapacitor-validate-plan` — Verify that all planned items were completed
54
+ - `kapacitor-disable` — Stop recording and delete all server data for the current session
55
+ - `kapacitor-hide` — Hide the current session (owner-only visibility)
34
56
 
35
- - `/kapacitor:session-recap` — Retrieve a structured summary of a session (user prompts, assistant responses, plans, file changes)
36
- - `/kapacitor:session-errors` — Extract tool call errors from a session for post-session review and pattern detection
37
- - `/kapacitor:validate-plan` — Verify that all planned items were completed
38
- - `/kapacitor:session-disable` — Stop recording and delete all server data for the current session
39
- - `/kapacitor:session-hide` — Hide the current session (owner-only visibility)
57
+ In Claude they're invoked as `/kapacitor:session-recap`, `/kapacitor:session-errors`, etc.
40
58
 
41
59
  ## Prerequisites
42
60
 
43
- - The `kapacitor` CLI must be on your PATH (see [publishing instructions](../README.md#2-publish-the-cli-tool))
61
+ - The `kapacitor` CLI must be on your PATH (`npm install -g @kurrent/kapacitor`)
44
62
  - The Kurrent Capacitor server must be running (default: `http://localhost:5108`)
45
63
 
46
64
  ## Installation
@@ -48,14 +66,15 @@ Each hook pipes its JSON payload through the `kapacitor` CLI, which enriches it
48
66
  ### Option A: CLI command (recommended)
49
67
 
50
68
  ```bash
51
- kapacitor plugin install
69
+ kapacitor plugin install # Claude Code, user-wide
70
+ kapacitor plugin install --codex # Codex CLI, user-wide
71
+ kapacitor plugin install --project # current project only
52
72
  ```
53
73
 
54
- This registers the plugin user-wide. Use `--project` to install for the current project only.
55
-
56
74
  ### Option B: Interactive plugin manager
57
75
 
58
- From inside a Claude Code session, run `/plugin` and browse the **Installed** tab.
76
+ - Claude Code: run `/plugin` inside a session and browse the **Installed** tab.
77
+ - Codex CLI: `codex plugin marketplace add kurrent-io/kapacitor-cli` then enable from the marketplace.
59
78
 
60
79
  ### Option C: Settings file (manual)
61
80
 
@@ -79,7 +98,8 @@ Add to `.claude/settings.local.json` or `~/.claude/settings.json`:
79
98
 
80
99
  ### Verify
81
100
 
82
- Run `/hooks` in Claude Code to confirm the kapacitor hooks are registered.
101
+ - Claude Code: `/hooks` (hooks) and `claude mcp list` (MCP servers).
102
+ - Codex CLI: `/hooks` (then trust each kapacitor entry) and `codex mcp list`.
83
103
 
84
104
  ## Configuration
85
105
 
@@ -94,20 +114,36 @@ export KAPACITOR_URL=http://my-server:5108
94
114
  ```
95
115
  kapacitor/
96
116
  .claude-plugin/
97
- plugin.json — Plugin manifest (name, version, description)
117
+ plugin.json — Claude manifest (name, version, description)
98
118
  marketplace.json — Marketplace manifest for plugin discovery
99
- .mcp.json — MCP server config (PR review context tools)
119
+ .codex-plugin/
120
+ plugin.json — Codex manifest (refs ./.codex-mcp.json and ./codex-skills/)
121
+ .mcp.json — Claude MCP servers (camelCase mcpServers shape)
122
+ .codex-mcp.json — Codex MCP servers (snake_case mcp_servers shape)
100
123
  hooks/
101
- hooks.json — Hook definitions for all lifecycle events
124
+ hooks.json — Hook definitions for all Claude lifecycle events
102
125
  skills/
103
126
  session-recap/
104
- SKILL.md — /kapacitor:session-recap skill
127
+ SKILL.md — /kapacitor:session-recap skill (Claude)
105
128
  session-errors/
106
- SKILL.md — /kapacitor:session-errors skill
129
+ SKILL.md
107
130
  validate-plan/
108
- SKILL.md — /kapacitor:validate-plan skill
131
+ SKILL.md
109
132
  session-disable/
110
- SKILL.md — /kapacitor:session-disable skill
133
+ SKILL.md
111
134
  session-hide/
112
- SKILL.md — /kapacitor:session-hide skill
135
+ SKILL.md
136
+ codex-skills/
137
+ kapacitor-recap/
138
+ SKILL.md — same skill, Codex variant
139
+ kapacitor-errors/
140
+ SKILL.md
141
+ kapacitor-validate-plan/
142
+ SKILL.md
143
+ kapacitor-disable/
144
+ SKILL.md
145
+ kapacitor-hide/
146
+ SKILL.md
113
147
  ```
148
+
149
+ The two MCP files exist because Claude requires top-level `mcpServers` (camelCase) while Codex accepts only `mcp_servers` (snake_case) or a bare server map — the schemas don't overlap. Keep them in sync when adding or removing servers.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kurrent/kapacitor",
3
- "version": "0.5.7",
3
+ "version": "0.5.9",
4
4
  "description": "CLI companion for Kurrent Capacitor — records and visualizes Claude Code sessions",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {
@@ -11,12 +11,12 @@
11
11
  "kapacitor": "bin/kapacitor.js"
12
12
  },
13
13
  "optionalDependencies": {
14
- "@kurrent/kapacitor-darwin-arm64": "0.5.7",
15
- "@kurrent/kapacitor-linux-x64": "0.5.7",
16
- "@kurrent/kapacitor-linux-arm64": "0.5.7",
17
- "@kurrent/kapacitor-linux-musl-x64": "0.5.7",
18
- "@kurrent/kapacitor-linux-musl-arm64": "0.5.7",
19
- "@kurrent/kapacitor-win-x64": "0.5.7"
14
+ "@kurrent/kapacitor-darwin-arm64": "0.5.9",
15
+ "@kurrent/kapacitor-linux-x64": "0.5.9",
16
+ "@kurrent/kapacitor-linux-arm64": "0.5.9",
17
+ "@kurrent/kapacitor-linux-musl-x64": "0.5.9",
18
+ "@kurrent/kapacitor-linux-musl-arm64": "0.5.9",
19
+ "@kurrent/kapacitor-win-x64": "0.5.9"
20
20
  },
21
21
  "files": [
22
22
  "bin/",