procdeck 2.0.1 → 2.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/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # procdeck
2
2
 
3
+ ## 2.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - A monorepo deck can hold every project's processes and run only the slice
8
+ you are working on. `"group": "career"` on a proc, `"autostart": false`,
9
+ and then `procdeck start career` brings up every proc in the group,
10
+ `procdeck stop career` puts them back to idle while the deck stays up.
11
+ `start`, `stop` and `restart` take a proc id, a group name or a quoted glob
12
+ over ids (`'*-native'`), several at a time. Ids do not change; `procdeck
13
+ status` and the UI's sidebar show each group as a section.
14
+ - **The MCP server is gone**: `procdeck mcp` and its tools (`deck_status`,
15
+ `get_logs`, `get_http`, `get_errors`, `set_mark`, `wait_for`, `timeline`,
16
+ and the `--mutations` trio). Every one of them was a CLI verb over the same
17
+ deck API, and agents call a CLI fine; the duplicate surface cost a
18
+ dependency, a test suite and a page of docs, and its tool descriptions sat
19
+ in the agent's context whether or not it needed the deck. If you registered
20
+ it, `claude mcp remove procdeck`; `procdeck agents` gives the agent the CLI
21
+ instead (a `## procdeck` section in CLAUDE.md / AGENTS.md and a skill).
22
+
3
23
  ## 2.0.1
4
24
 
5
25
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "procdeck",
3
- "version": "2.0.1",
3
+ "version": "2.1.0",
4
4
  "description": "Dev-process multiplexer with a web UI: terminal panes in a browser tab, declarative dependencies, assigned ports, a *.localhost proxy and captured HTTP traffic. One native binary.",
5
5
  "keywords": [
6
6
  "cli",
@@ -36,9 +36,9 @@
36
36
  "node": ">=18"
37
37
  },
38
38
  "optionalDependencies": {
39
- "@procdeck/linux-x64": "2.0.1",
40
- "@procdeck/darwin-x64": "2.0.1",
41
- "@procdeck/darwin-arm64": "2.0.1",
42
- "@procdeck/linux-arm64": "2.0.1"
39
+ "@procdeck/linux-x64": "2.1.0",
40
+ "@procdeck/linux-arm64": "2.1.0",
41
+ "@procdeck/darwin-x64": "2.1.0",
42
+ "@procdeck/darwin-arm64": "2.1.0"
43
43
  }
44
44
  }
package/readme.md CHANGED
@@ -18,7 +18,7 @@ allocator, the log viewer and the network tab of your dev environment:
18
18
  - **Sees the traffic.** The HTTP and WebSocket requests _between_ your
19
19
  services — the half a browser's DevTools never shows.
20
20
  - **Answers from the CLI.** `procdeck logs --since-mark fix`, `http --digest`,
21
- `status --json` — for you, or for a coding agent over MCP.
21
+ `status --json` — for you, or for a coding agent.
22
22
 
23
23
  ## Quick start
24
24
 
@@ -114,10 +114,9 @@ procdeck logs --since-mark before-fix # only what the change caused
114
114
  procdeck http --since-mark before-fix # only the requests it caused
115
115
  ```
116
116
 
117
- Everything takes `--json` and is bounded by default. The same verbs are served
118
- over MCP — `claude mcp add procdeck -- procdeck mcp`, once, globally: the
119
- instance registry finds the right deck per project. `procdeck agents` writes
120
- the discovery section into CLAUDE.md / AGENTS.md.
117
+ Everything takes `--json` and is bounded by default. `procdeck agents` writes
118
+ the discovery section into CLAUDE.md / AGENTS.md and a Claude Code skill, so
119
+ the agent knows the deck exists and how to ask it.
121
120
 
122
121
  See [docs/agents.md](https://github.com/kondaurovDev/procdeck/blob/main/docs/agents.md).
123
122
 
@@ -128,6 +127,8 @@ procdeck init # write procdeck.config.json from what the project a
128
127
  procdeck up [config] # start (detached) and open the UI — idempotent
129
128
  procdeck down # stop: every process tree is terminated
130
129
  procdeck restart [proc] # one proc, or the whole deck; --all for every deck on this machine
130
+ procdeck start <proc|group> # start idle procs — a group from the config, or a glob like '*-native'
131
+ procdeck stop <proc|group> # stop them again; the deck stays up
131
132
  procdeck status # address, uptime, every proc's state (--json for agents)
132
133
  procdeck ls # every running deck on this machine
133
134
  procdeck open # open the UI — no port to remember
@@ -175,7 +176,7 @@ variables of a dotenv file. Full field reference:
175
176
  ## Upgrading from 1.x
176
177
 
177
178
  2.0 is the same tool rewritten in Go — the CLI verbs, their flags and `--json`
178
- shapes, the MCP tools and the addresses stay. What changes:
179
+ shapes and the addresses stay. What changes:
179
180
 
180
181
  - **Configs are JSON.** A `procdeck.config.ts` becomes `procdeck.config.jsonc`:
181
182
  quote the keys, drop the `import` and `defineConfig(…)`, keep the comments.
@@ -198,17 +199,20 @@ pnpm dev # builds the UI, embeds it, runs the example stack on the Go p
198
199
  Then open <http://localhost:4840> for the panes, and
199
200
  <http://web.localhost:4840> / <http://api.localhost:4840> — the example's
200
201
  servers found each other, and their own ports, entirely through `${port}`
201
- templates. See [`example/`](https://github.com/kondaurovDev/procdeck/tree/main/example).
202
+ templates. The `lab` group sits idle until `procdeck start lab` (from
203
+ `example/`), the way one project's slice of a monorepo deck would. See
204
+ [`example/`](https://github.com/kondaurovDev/procdeck/tree/main/example).
202
205
 
203
206
  ## Docs
204
207
 
205
208
  | Doc | What |
206
209
  | ------------------------------------------------------------------------------------------ | ------------------------------------------------------ |
207
210
  | [config.md](https://github.com/kondaurovDev/procdeck/blob/main/docs/config.md) | Every config field, port templating, readiness, gates. |
208
- | [agents.md](https://github.com/kondaurovDev/procdeck/blob/main/docs/agents.md) | The verify loop, the CLI verbs, the MCP tools. |
211
+ | [agents.md](https://github.com/kondaurovDev/procdeck/blob/main/docs/agents.md) | The verify loop and the CLI verbs for coding agents. |
209
212
  | [traffic.md](https://github.com/kondaurovDev/procdeck/blob/main/docs/traffic.md) | What the HTTP observer captures, and what it cannot. |
210
213
  | [architecture.md](https://github.com/kondaurovDev/procdeck/blob/main/docs/architecture.md) | How the code is put together. |
211
- | [design/](https://github.com/kondaurovDev/procdeck/tree/main/docs/design/) | Engineering notes behind the bigger features. |
214
+ | [design/](https://github.com/kondaurovDev/procdeck/tree/main/docs/design/) | The decisions behind the bigger features, and why. |
215
+ | [plan.md](https://github.com/kondaurovDev/procdeck/blob/main/docs/plan.md) | What is agreed on and not built yet. |
212
216
 
213
217
  ## Status
214
218
 
package/schema.json CHANGED
@@ -105,7 +105,12 @@
105
105
  },
106
106
  "autostart": {
107
107
  "type": "boolean",
108
- "description": "Spawn on startup. Defaults to true; false leaves the pane idle until Start."
108
+ "description": "Spawn on startup. Defaults to true; false leaves the pane idle until Start (`procdeck start <id>` or the UI)."
109
+ },
110
+ "group": {
111
+ "type": "string",
112
+ "description": "A slice of the deck this proc belongs to: `procdeck start <group>` / `stop <group>` act on every proc in it, and the UI shows the group as a section. Ids stay as they are. A group may carry the name of its main proc (`{ \"id\": \"career\", \"group\": \"career\" }`) as long as that proc is in it.",
113
+ "examples": ["career"]
109
114
  },
110
115
  "url": {
111
116
  "type": "string",