mcproc 0.14.3 → 0.15.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/docs/monit.md CHANGED
@@ -38,3 +38,30 @@ is shown next to it in the details. CPU is per core over the refresh interval. L
38
38
  continuations. The selected app's detail line counts its in-process reloads since its pm2 start
39
39
  ([reloads](reloads.md)). The screen shows an app's URL but never requests it, so your dev servers' request logs
40
40
  stay yours ([urls](urls.md)). How lines reach the screen: [live logs](logs.md#live-logs).
41
+
42
+ ## Every stack of the host
43
+
44
+ `mcproc monit` run where no manifest is found (from your home directory, say), or `mcproc monit --all` from
45
+ anywhere, opens the list of every stack on this machine. A stack is a checkout with its manifest. mcproc remembers
46
+ every checkout any of its commands has read, in its state directory (`~/.local/state/mcproc/projects`), and it also
47
+ looks at the namespaces of the local pm2 daemon, finding the checkout of an unknown one from its processes' working
48
+ directory. So a stack left running after the editor was closed is listed too. A pm2 namespace that no manifest
49
+ claims is shown at the bottom as `pm2 · <namespace>` and is read-only.
50
+
51
+ Each row shows the hosts the stack runs on, its apps online out of all, errors, the memory and CPU of its process
52
+ trees, and its listening ports. A worktree is listed under its main checkout as `w<slot> <branch>`. The lower pane
53
+ shows the selected stack's apps. The local pm2 daemons (the default one and each own `pm2_home`) are read on every
54
+ refresh; hosts reached over ssh or docker at most every 10 seconds, and a host that does not answer is marked on its
55
+ stacks and tried again after 30 seconds. Warnings about the host (an unreadable state directory, a local pm2 that
56
+ does not answer) stay in the header.
57
+
58
+ | key | does |
59
+ |---|---|
60
+ | `j` `k` `↑` `↓` | select a stack |
61
+ | `Enter` | open the stack's monit; `esc` there comes back to the list, `q` quits |
62
+ | `x` `x` | stop every app of the stack (the second `x` within 3 seconds); apps on readonly hosts are left alone |
63
+ | `a` | also list the remembered stacks with nothing running |
64
+ | `q` | quit |
65
+
66
+ `mcproc stacks` (MCP `stacks`) prints the same list; `--json` gives every field. `monit --all --once` prints one frame
67
+ of the list as text.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcproc",
3
- "version": "0.14.3",
3
+ "version": "0.15.0",
4
4
  "description": "pm2 process control for agents over MCP: local and remote hosts, per-app ports, one manifest per project",
5
5
  "keywords": [
6
6
  "mcp",