pitroom 0.13.0 → 0.14.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/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/CHANGELOG.md +15 -0
- package/README.md +26 -2
- package/dist/pitroom.mjs +3208 -2854
- package/gemini-extension.json +1 -1
- package/package.json +7 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pitroom",
|
|
3
3
|
"description": "A free pit crew for your expensive coding agent: the superpowers development workflow, run by cheap workers. Delegate research, fixes, tests, reviews and whole plans from Claude Code, Codex or any agent to OpenCode, Codex or Claude Code workers, with receipts that prove the savings.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.14.1",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "TahaAtas"
|
|
7
7
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pitroom",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.1",
|
|
4
4
|
"description": "A free pit crew for your expensive coding agent: delegate research, fixes, tests, reviews and parallel investigations to cheap worker agents running your own models, with verified answers, exact diffs and cost receipts.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "TahaAtas"
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.14.1
|
|
4
|
+
|
|
5
|
+
### Docs
|
|
6
|
+
- The dashboard images and the GIF show audits (an `audited · agrees / disagrees` badge, the audit run's own card, the disputed claims on an opened card) and a worker skipped because its quota ran out ("Skipped … cooling down until 14:05"); the Stats image has the new Audited column (confirmed / audited per worker). The README's Dashboard section explains them. The npm page shows the README of the published package, so this is where it reaches it.
|
|
7
|
+
|
|
8
|
+
## 0.14.0
|
|
9
|
+
|
|
10
|
+
### MCP server
|
|
11
|
+
- `pitroom mcp` serves Pitroom as a [Model Context Protocol](https://modelcontextprotocol.io) server on stdio, so any agent that speaks MCP (Cursor, Claude Desktop, Claude Code, Codex, Gemini CLI, …) can use it as tools instead of shell commands and skills: `pitroom_run` (read, isolate or write), `pitroom_wait`, `pitroom_status`, `pitroom_show`, `pitroom_review`, `pitroom_audit`, `pitroom_apply`, `pitroom_discard` and `pitroom_stop`, each with a JSON schema and hints (`apply` is marked destructive). Set it up with `claude mcp add pitroom -- pitroom mcp`, `codex mcp add pitroom -- pitroom mcp`, `gemini mcp add pitroom pitroom mcp`, or an `mcpServers` entry for Cursor and Claude Desktop (see the README).
|
|
12
|
+
- Each tool runs the matching `pitroom` command, so every rule of the CLI applies unchanged (permission profiles, git guard, isolation, read snapshots, cooldowns, audits) and the tools cannot drift from the CLI. A run is waited for up to `waitSeconds` (default 50, at most 540), then comes back as "still running" with its id for `pitroom_wait`. No new dependency: a small JSON-RPC implementation (protocol versions 2025-06-18, 2025-03-26 and 2024-11-05, batches, the standard error codes); only JSON reaches stdout.
|
|
13
|
+
- Tested against the protocol with a real server process, and with a real client: Gemini CLI connected, called `pitroom_run` for a question, got the worker's answer with its references verified and collected an audit. Limits: stdio only, no MCP resources, prompts or progress notifications yet (the agent polls with `pitroom_wait`).
|
|
14
|
+
|
|
15
|
+
### Fixes
|
|
16
|
+
- `pitroom stop` on a run whose process is still starting: the process has no signal handler yet and died on the signal, and the run showed "failed: worker process exited unexpectedly". `stop` now says first that a stop was asked for, and such a run is "stopped". This was the cause of a flaky test (`stop -g …`).
|
|
17
|
+
|
|
3
18
|
## 0.13.0
|
|
4
19
|
|
|
5
20
|
### Read snapshots
|
package/README.md
CHANGED
|
@@ -162,9 +162,13 @@ The screenshots below show sample data (an imaginary `shop-api` project), not a
|
|
|
162
162
|
|
|
163
163
|
<p align="center"><img src="docs/dash-card.png" width="100%" alt="An expanded run card: the task, a ten-step activity list, the result, five changed files with one opened to its highlighted diff, and the details"></p>
|
|
164
164
|
|
|
165
|
+
**Audits and skipped workers show on the card.** A research answer that another worker re-checked ([Audits](#audits)) carries an `audited · agrees / partly agrees / disagrees` badge and, when it disagrees, the claims it disputes; a worker left out because its quota ran out is listed under the details ("Skipped … cooling down until 14:05", see `pitroom cooldown`).
|
|
166
|
+
|
|
167
|
+
<p align="center"><img src="docs/dash-audit.png" width="100%" alt="An expanded research card whose answer was audited by another worker, which disagrees and lists two disputed claims with file:line, and a note that a worker was skipped because its daily quota was used up"></p>
|
|
168
|
+
|
|
165
169
|
**History** searches everything Pitroom ever ran (the full text of tasks, answers and steps), with filters by state, model and period; each run opens as the same card as on Live. **Stats** shows runs, success rate, time, tokens and savings, per worker and model and per day.
|
|
166
170
|
|
|
167
|
-
<p align="center"><img src="docs/dash-history.png" width="49%" alt="The History tab: a search box, filters and every past run as a card"> <img src="docs/dash-stats.png" width="49%" alt="The Stats tab: totals, runs per day and
|
|
171
|
+
<p align="center"><img src="docs/dash-history.png" width="49%" alt="The History tab: a search box, filters and every past run as a card"> <img src="docs/dash-stats.png" width="49%" alt="The Stats tab: totals, runs per day, and per worker and model its logo, success rate and how many of its audited answers another worker confirmed"></p>
|
|
168
172
|
|
|
169
173
|
The dashboard is a React app built once into `dist/ui` and served as two static files, so the CLI still has no runtime dependencies. It follows your system's light or dark theme (a button switches it).
|
|
170
174
|
|
|
@@ -267,7 +271,25 @@ gemini extensions install https://github.com/ATASTECH/pitroom
|
|
|
267
271
|
npm i -g pitroom
|
|
268
272
|
```
|
|
269
273
|
|
|
270
|
-
**Any
|
|
274
|
+
**Any agent that speaks MCP (Cursor, Claude Desktop, and the three above too)**
|
|
275
|
+
|
|
276
|
+
Pitroom is also an [MCP](https://modelcontextprotocol.io) server on stdio: nine tools (`pitroom_run`, `pitroom_wait`, `pitroom_status`, `pitroom_show`, `pitroom_review`, `pitroom_audit`, `pitroom_apply`, `pitroom_discard`, `pitroom_stop`) instead of shell commands and skills. After `npm i -g pitroom`:
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
claude mcp add pitroom -- pitroom mcp
|
|
280
|
+
codex mcp add pitroom -- pitroom mcp
|
|
281
|
+
gemini mcp add pitroom pitroom mcp
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
or, for Cursor (`~/.cursor/mcp.json`), Claude Desktop (`claude_desktop_config.json`) and others:
|
|
285
|
+
|
|
286
|
+
```json
|
|
287
|
+
{ "mcpServers": { "pitroom": { "command": "pitroom", "args": ["mcp"] } } }
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
Each tool runs the matching `pitroom` command, so every rule of the CLI applies unchanged (permission profiles, git guard, isolation, read snapshots). A run is waited for up to `waitSeconds` (default 50), then comes back as "still running" with its id for `pitroom_wait`; keep it below your client's tool timeout. The server works in the directory the client starts it in.
|
|
291
|
+
|
|
292
|
+
**Any other agent (a plain shell) or just the CLI**
|
|
271
293
|
|
|
272
294
|
```bash
|
|
273
295
|
npm i -g pitroom
|
|
@@ -278,6 +300,7 @@ pitroom install
|
|
|
278
300
|
|---|---|
|
|
279
301
|
| Claude Code plugin | The 14 skills, the session-start hook that introduces Pitroom, and a card after each `pitroom` command. |
|
|
280
302
|
| Gemini CLI extension | The 14 skills and a short context file that introduces Pitroom (Gemini asks you to confirm the extension). Gemini CLI also works as a *worker*, which is separate: see [Workers](#workers). |
|
|
303
|
+
| MCP server | The nine tools above, for any agent that can use MCP servers. No skills: the tools describe themselves, and the server tells the agent how to start. |
|
|
281
304
|
| Codex plugin | The 14 skills, a session-start hook that introduces Pitroom (so it is known even when Codex drops skill descriptions because many are installed), and a card after each `pitroom` command. Codex asks you to trust the plugin's hooks once. The hooks call `pitroom`, which comes from npm (`npm i -g pitroom`). |
|
|
282
305
|
| npm + `pitroom install` | The CLI, and the skills linked into `~/.agents/skills` and `~/.claude/skills`. |
|
|
283
306
|
|
|
@@ -459,6 +482,7 @@ pitroom crew [-i] [-g NAME] "task 1" "task 2" … (or --task-file with --- sep
|
|
|
459
482
|
pitroom run -i --plan PLAN --step N [--tier T] ["notes"]
|
|
460
483
|
pitroom review [run | --range A..B [--plan PLAN]] [--tier T | -W T] [--bg]
|
|
461
484
|
pitroom audit RUN [-W worker]
|
|
485
|
+
pitroom mcp # serve Pitroom as MCP tools on stdio
|
|
462
486
|
pitroom cooldown [--clear]
|
|
463
487
|
pitroom plan status PLAN [--json] · pitroom plan note PLAN "Task N: …"
|
|
464
488
|
pitroom status|wait|watch [run… | -g NAME] wait: --any --brief --timeout · watch: --json|--brief --interval
|