claudemesh-cli 1.3.0 → 1.5.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claudemesh-cli",
3
- "version": "1.3.0",
3
+ "version": "1.5.0",
4
4
  "description": "Peer mesh for Claude Code sessions — CLI + MCP server.",
5
5
  "keywords": [
6
6
  "claude-code",
@@ -24,16 +24,32 @@ If the parent Claude session was launched via `claudemesh launch`, an MCP push-p
24
24
  | `--mesh <slug>` | Target a specific mesh. Required when the user has multiple meshes joined. Default: first/only joined mesh, or interactive picker. |
25
25
  | `--json` | Emit JSON instead of human-readable text. Use this when you need to parse the output. |
26
26
  | `--json field1,field2` | Project specific fields (modeled on `gh --json`). Friendly aliases like `name` → `displayName` are resolved automatically. |
27
+ | `--approval-mode <mode>` | `plan` / `read-only` deny all writes; `write` (default) prompts on destructive verbs from the policy file; `yolo` bypasses every prompt. |
28
+ | `--policy <path>` | Override the policy file (default `~/.claudemesh/policy.yaml`, auto-created on first run). |
29
+ | `-y` / `--yes` | Auto-approve any policy prompt. Equivalent to `--approval-mode yolo` for the current invocation. |
30
+
31
+ ## Policy & confirmation
32
+
33
+ Every broker-touching verb runs through a policy gate before dispatch. The default policy allows reads and prompts on destructive writes (`peer kick/ban/disconnect`, `file delete`, `vector/vault delete`, `memory forget`, `skill remove`, `webhook delete`, `watch remove`, `sql/graph execute`, `mesh delete`). When you call `claudemesh` from a non-interactive context (cron, scripts, Claude's Bash tool), prompts auto-deny — pass `-y` or `--approval-mode yolo` for verbs you've vetted, or edit `~/.claudemesh/policy.yaml` to mark them `decision: allow`. Every gate decision is appended to `~/.claudemesh/audit.log` (newline-JSON).
27
34
 
28
35
  ## Resources and verbs
29
36
 
30
- ### `peer` read connected peers
37
+ **Convention:** every operation is `claudemesh <resource> <verb>`. Legacy short forms (`send`, `peers`, `kick`, `remember`, ...) are aliases that keep working forever; prefer the resource form for new code.
38
+
39
+ ### `peer` — read connected peers + admin (kick / ban / verify)
31
40
 
32
41
  ```bash
33
- claudemesh peers # human-readable
34
- claudemesh peers --json # full record
35
- claudemesh peers --json name,status # field projection
36
- claudemesh peers --mesh openclaw --json # specific mesh
42
+ claudemesh peer list # human-readable (alias: peers)
43
+ claudemesh peer list --json # full record
44
+ claudemesh peer list --json name,status # field projection
45
+ claudemesh peer list --mesh openclaw --json # specific mesh
46
+
47
+ claudemesh peer kick <peer> # end session, manual rejoin
48
+ claudemesh peer disconnect <peer> # soft, peer auto-reconnects
49
+ claudemesh peer ban <peer> # kick + revoke membership
50
+ claudemesh peer unban <peer>
51
+ claudemesh peer bans # list banned members
52
+ claudemesh peer verify [peer] # 6×5-digit safety numbers
37
53
  ```
38
54
 
39
55
  JSON shape (per peer):
@@ -55,22 +71,22 @@ JSON shape (per peer):
55
71
  ### `message` — send and inspect messages
56
72
 
57
73
  ```bash
58
- # send
59
- claudemesh send <peer-name|@group|*|pubkey> "message text"
60
- claudemesh send Mou "hi" # by display name
61
- claudemesh send "@reviewers" "ready for review" # to a group
62
- claudemesh send "*" "broadcast to all" # to everyone
63
- claudemesh send <peer> "msg" --priority now # bypass busy gates
64
- claudemesh send <peer> "msg" --priority next # default — waits for idle
65
- claudemesh send <peer> "msg" --priority low # pull-only
66
-
67
- # inbox (drain pending)
68
- claudemesh inbox # human-readable
69
- claudemesh inbox --json # JSON
70
-
71
- # delivery status of a message you sent
72
- claudemesh msg-status <message-id>
73
- claudemesh msg-status <message-id> --json
74
+ # send (alias: claudemesh send <to> <msg>)
75
+ claudemesh message send <peer-name|@group|*|pubkey> "message text"
76
+ claudemesh message send Mou "hi" # by display name
77
+ claudemesh message send "@reviewers" "ready for review"
78
+ claudemesh message send "*" "broadcast"
79
+ claudemesh message send <p> "..." --priority now # bypass busy gates
80
+ claudemesh message send <p> "..." --priority next # default
81
+ claudemesh message send <p> "..." --priority low # pull-only
82
+
83
+ # inbox (alias: claudemesh inbox)
84
+ claudemesh message inbox
85
+ claudemesh message inbox --json
86
+
87
+ # delivery status (alias: claudemesh msg-status <id>)
88
+ claudemesh message status <message-id>
89
+ claudemesh message status <message-id> --json
74
90
  ```
75
91
 
76
92
  `send` JSON output: `{"ok": true, "messageId": "...", "target": "..."}`. Errors: `{"ok": false, "error": "..."}`.
@@ -90,10 +106,10 @@ State is broadcast to all peers when changed. Use it for shared scratch space: s
90
106
  ### `memory` — recall-able knowledge per mesh
91
107
 
92
108
  ```bash
93
- claudemesh remember "fact text" --tags tag1,tag2
94
- claudemesh recall "search query"
95
- claudemesh recall "search query" --json
96
- claudemesh forget <memory-id>
109
+ claudemesh memory remember "fact text" --tags tag1,tag2 # alias: remember
110
+ claudemesh memory recall "search query" # alias: recall
111
+ claudemesh memory recall "search query" --json
112
+ claudemesh memory forget <memory-id> # alias: forget
97
113
  ```
98
114
 
99
115
  Memories are searchable across the mesh. Use for shared documentation, decisions, lessons learned.
@@ -112,24 +128,26 @@ Tasks are exact-once: claiming is atomic at broker. Use for work coordination ac
112
128
  ### `schedule` — time-based delivery
113
129
 
114
130
  ```bash
115
- # one-shot or recurring reminder to yourself or a peer
116
- claudemesh remind "your message" --in 30m # fires in 30 min
117
- claudemesh remind "your message" --at 15:00 # next 15:00
118
- claudemesh remind "ping me" --cron "0 9 * * *" # 9am daily
119
- claudemesh remind "to peer" --to <peer-name> # send to someone else
120
- claudemesh remind list --json
121
- claudemesh remind cancel <reminder-id>
131
+ # one-shot or recurring (alias: claudemesh remind ...)
132
+ claudemesh schedule msg "ping" --in 30m # fires in 30 min
133
+ claudemesh schedule msg "ping" --at 15:00 # next 15:00
134
+ claudemesh schedule msg "ping" --cron "0 9 * * *" # 9am daily
135
+ claudemesh schedule msg "to peer" --to <peer-name>
136
+ claudemesh schedule list --json
137
+ claudemesh schedule cancel <reminder-id>
138
+
139
+ # webhook + tool schedules arrive in a later release (broker work pending).
122
140
  ```
123
141
 
124
- ### `profile / status / visibility / groups` — peer presence
142
+ ### `profile / group` — peer presence
125
143
 
126
144
  ```bash
127
- claudemesh status set idle | working | dnd # explicit status
128
- claudemesh summary "what you're working on" # 1-2 sentence summary, broadcast
129
- claudemesh visible true | false # toggle visibility
130
- claudemesh group join @reviewers --role lead # join a group
131
- claudemesh group leave @reviewers # leave a group
132
- claudemesh profile # view/edit your profile
145
+ claudemesh profile # view/edit your profile
146
+ claudemesh profile summary "what you're working on" # broadcast (alias: summary)
147
+ claudemesh profile status set idle|working|dnd # alias: status set
148
+ claudemesh profile visible true|false # alias: visible
149
+ claudemesh group join @reviewers --role lead
150
+ claudemesh group leave @reviewers
133
151
  ```
134
152
 
135
153
  ### `vector` — embedding store + similarity search