@korso/shepherd 0.6.1 → 0.6.3

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.
Files changed (3) hide show
  1. package/README.md +42 -16
  2. package/dist/index.js +3 -0
  3. package/package.json +2 -1
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Shepherd's stdio MCP server. Gives any MCP-capable agent (Claude Code, Codex, etc.) four advisory coordination tools backed by the shared hub: `work`, `done`, `announce`, and `sync`. The agent **joins the workspace automatically** on startup (no `join` tool), and the server ships standing instructions so the agent self-coordinates without the user prompting it.
4
4
 
5
- > **New here?** The [developer quickstart](https://github.com/Korsoai/shepherd/blob/main/docs/shepherd-mcp-quickstart.md) is the fastest path. TL;DR: `npx -y @korso/shepherd` with the env vars below.
5
+ > **New here?** The [developer quickstart](https://github.com/Korso-AI/shepherd/blob/main/docs/shepherd-mcp-quickstart.md) is the fastest path. TL;DR: `npx -y --package=@korso/shepherd shepherd-mcp` with the env vars below.
6
6
 
7
7
  ---
8
8
 
@@ -20,7 +20,7 @@ The server is published to npm and runs via `npx` — no clone or build required
20
20
  (Node 18+):
21
21
 
22
22
  ```sh
23
- npx -y @korso/shepherd
23
+ npx -y --package=@korso/shepherd shepherd-mcp
24
24
  ```
25
25
 
26
26
  You won't normally run that by hand; you put it in your MCP client config (below)
@@ -45,14 +45,14 @@ Missing either causes an immediate startup failure with a clear error on stderr
45
45
  listing which vars are absent. (No other var triggers this.)
46
46
 
47
47
  **Everything else is optional** — each identity field is resolved at startup as
48
- **env var → git detection → fallback**, so a plain `npx -y @korso/shepherd` with
48
+ **env var → git detection → fallback**, so a plain `npx -y --package=@korso/shepherd shepherd-mcp` with
49
49
  just the two required vars produces a valid, fully-identified session. Set an
50
50
  override only to replace what's detected:
51
51
 
52
52
  | Variable | If omitted | Example |
53
53
  |---|---|---|
54
54
  | `WORKSPACE` | defaults to `default` (**must match hub's `ALLOWED_WORKSPACE` if overridden**) | `shepherd` |
55
- | `REPO` | `git remote origin` → `owner/repo`, else repo folder name, else `unknown-repo` | `Korsoai/shepherd` |
55
+ | `REPO` | `git remote origin` → `owner/repo`, else repo folder name, else `unknown-repo` | `Korso-AI/shepherd` |
56
56
  | `BRANCH` | `git rev-parse --abbrev-ref HEAD`, else `HEAD` | `main` |
57
57
  | `BASE_BRANCH` | `origin/HEAD`, else `origin/main` / `origin/master` (used for the change-awareness heads-up) | `origin/main` |
58
58
  | `HUMAN` | git `user.name`, else local-part of `user.email`, else this device's **cached** last-detected name, else a generated name | `daichi` |
@@ -110,7 +110,7 @@ uses (override both with `SHEPHERD_INBOX_DIR` if you relocated it):
110
110
  "mcpServers": {
111
111
  "shepherd": {
112
112
  "command": "npx",
113
- "args": ["-y", "@korso/shepherd"],
113
+ "args": ["-y", "--package=@korso/shepherd", "shepherd-mcp"],
114
114
  "env": {
115
115
  "HUB_URL": "https://shepherd.example.com",
116
116
  "TEAM_TOKEN": "tok_abc123"
@@ -122,7 +122,7 @@ uses (override both with `SHEPHERD_INBOX_DIR` if you relocated it):
122
122
  {
123
123
  "matcher": "*",
124
124
  "hooks": [
125
- { "type": "command", "command": "npx -y -p @korso/shepherd shepherd-inbox-hook" }
125
+ { "type": "command", "command": "npx -y --package=@korso/shepherd shepherd-inbox-hook" }
126
126
  ]
127
127
  }
128
128
  ]
@@ -143,9 +143,9 @@ or MCP calls. Hooks must be enabled with `features.hooks = true`. In
143
143
  hooks = true
144
144
 
145
145
  [[hooks.UserPromptSubmit]]
146
- command = ["npx", "-y", "-p", "@korso/shepherd", "shepherd-inbox-hook"]
146
+ command = ["npx", "-y", "--package=@korso/shepherd", "shepherd-inbox-hook"]
147
147
  # On Windows use command_windows instead:
148
- # command_windows = ["cmd", "/c", "npx -y -p @korso/shepherd shepherd-inbox-hook"]
148
+ # command_windows = ["cmd", "/c", "npx -y --package=@korso/shepherd shepherd-inbox-hook"]
149
149
  ```
150
150
 
151
151
  ### Pi — extension
@@ -191,7 +191,7 @@ line-continuation does not work). Minimal: just the two required vars (identity
191
191
  is auto-detected from git):
192
192
 
193
193
  ```powershell
194
- claude mcp add shepherd -s user -e HUB_URL=https://shepherd.example.com -e TEAM_TOKEN=tok_abc123 -- npx -y @korso/shepherd
194
+ claude mcp add shepherd -s user -e HUB_URL=https://shepherd.example.com -e TEAM_TOKEN=tok_abc123 -- npx -y --package=@korso/shepherd shepherd-mcp
195
195
  ```
196
196
 
197
197
  Add any optional overrides from §2 with extra `-e` flags (e.g. `-e MODEL=claude-sonnet-4-6 -e HUMAN=daichi`).
@@ -204,7 +204,7 @@ Alternative — a `.mcp.json` at the **root of the repo you're working in**
204
204
  "mcpServers": {
205
205
  "shepherd": {
206
206
  "command": "npx",
207
- "args": ["-y", "@korso/shepherd"],
207
+ "args": ["-y", "--package=@korso/shepherd", "shepherd-mcp"],
208
208
  "env": {
209
209
  "HUB_URL": "https://shepherd.example.com",
210
210
  "TEAM_TOKEN": "tok_abc123",
@@ -228,7 +228,7 @@ The table is `mcp_servers` with an **underscore** (`mcp-servers`/`mcpServers` ar
228
228
  silently ignored). Either run `codex mcp add`:
229
229
 
230
230
  ```sh
231
- codex mcp add shepherd --env HUB_URL=https://shepherd.example.com --env TEAM_TOKEN=tok_abc123 --env PROGRAM=codex -- npx -y @korso/shepherd
231
+ codex mcp add shepherd --env HUB_URL=https://shepherd.example.com --env TEAM_TOKEN=tok_abc123 --env PROGRAM=codex -- npx -y --package=@korso/shepherd shepherd-mcp
232
232
  ```
233
233
 
234
234
  …or add the table directly:
@@ -236,7 +236,7 @@ codex mcp add shepherd --env HUB_URL=https://shepherd.example.com --env TEAM_TOK
236
236
  ```toml
237
237
  [mcp_servers.shepherd]
238
238
  command = "npx"
239
- args = ["-y", "@korso/shepherd"]
239
+ args = ["-y", "--package=@korso/shepherd", "shepherd-mcp"]
240
240
  env = { HUB_URL = "https://shepherd.example.com", TEAM_TOKEN = "tok_abc123", PROGRAM = "codex", MODEL = "o4-mini" }
241
241
  ```
242
242
 
@@ -249,7 +249,7 @@ Pi uses a JSON `mcpServers` block (project config overrides global):
249
249
  "mcpServers": {
250
250
  "shepherd": {
251
251
  "command": "npx",
252
- "args": ["-y", "@korso/shepherd"],
252
+ "args": ["-y", "--package=@korso/shepherd", "shepherd-mcp"],
253
253
  "env": {
254
254
  "HUB_URL": "https://shepherd.example.com",
255
255
  "TEAM_TOKEN": "tok_abc123",
@@ -260,6 +260,32 @@ Pi uses a JSON `mcpServers` block (project config overrides global):
260
260
  }
261
261
  ```
262
262
 
263
+ ### Cursor (`~/.cursor/mcp.json` or `.cursor/mcp.json`)
264
+
265
+ Cursor reads the same JSON `mcpServers` shape — global at `~/.cursor/mcp.json`,
266
+ or per-project at `.cursor/mcp.json`:
267
+
268
+ ```json
269
+ {
270
+ "mcpServers": {
271
+ "shepherd": {
272
+ "command": "npx",
273
+ "args": ["-y", "--package=@korso/shepherd", "shepherd-mcp"],
274
+ "env": {
275
+ "HUB_URL": "https://shepherd.example.com",
276
+ "TEAM_TOKEN": "tok_abc123",
277
+ "PROGRAM": "cursor"
278
+ }
279
+ }
280
+ }
281
+ }
282
+ ```
283
+
284
+ Confirm under **Settings → MCP** that `shepherd` is listed with its tools.
285
+ Announcement push: Cursor has no hook equivalent (see the hooks above for
286
+ Claude Code/Codex/Pi), so announcements arrive via the universal drainer — on
287
+ the agent's next Shepherd tool call — rather than pushed between calls.
288
+
263
289
  ---
264
290
 
265
291
  ## 4. Verify the server starts (quick smoke test)
@@ -270,10 +296,10 @@ PowerShell (set env vars, then run):
270
296
  ```powershell
271
297
  $env:HUB_URL = "https://shepherd.example.com"
272
298
  $env:TEAM_TOKEN = "tok_abc123"
273
- npx -y @korso/shepherd
299
+ npx -y --package=@korso/shepherd shepherd-mcp
274
300
  ```
275
301
 
276
- bash/zsh: `HUB_URL=https://shepherd.example.com TEAM_TOKEN=tok_abc123 npx -y @korso/shepherd`
302
+ bash/zsh: `HUB_URL=https://shepherd.example.com TEAM_TOKEN=tok_abc123 npx -y --package=@korso/shepherd shepherd-mcp`
277
303
 
278
304
  No stderr output and the process blocking on stdin = healthy. Press Ctrl+C to exit.
279
305
 
@@ -298,7 +324,7 @@ Only needed if you're changing the MCP server itself. Clone the monorepo and
298
324
  point your client at a local build instead of npx:
299
325
 
300
326
  ```sh
301
- git clone https://github.com/Korsoai/shepherd.git
327
+ git clone https://github.com/Korso-AI/shepherd.git
302
328
  cd shepherd
303
329
  npm install
304
330
  npm run build # tsc -b — compiles the workspace for dev + tests
package/dist/index.js CHANGED
@@ -537,6 +537,9 @@ var CreateWorkspaceRequest = z2.object({
537
537
  var ListWorkspacesResponse = z2.object({
538
538
  workspaces: z2.array(WorkspaceSummary)
539
539
  });
540
+ var DeleteWorkspaceResponse = z2.object({
541
+ deleted: z2.literal(true)
542
+ });
540
543
  var MintTokenRequest = z2.object({
541
544
  name: z2.string().min(1).optional()
542
545
  });
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@korso/shepherd",
3
- "version": "0.6.1",
3
+ "version": "0.6.3",
4
4
  "description": "Shepherd MCP server — gives any MCP-capable agent (Claude Code, Codex, etc.) four advisory cross-session coordination tools (work/done/announce/sync) backed by the shared Shepherd hub. Joins the workspace automatically and ships standing instructions so the agent self-coordinates.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "bin": {
8
+ "shepherd": "dist/index.js",
8
9
  "shepherd-mcp": "dist/index.js",
9
10
  "shepherd-inbox-hook": "dist/inboxHook.js"
10
11
  },