@systemdox/mcp-server 0.1.57 → 0.1.59

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/README.md CHANGED
@@ -204,8 +204,9 @@ reaches every member's computer as one plugin, `<workspace>-setup`.
204
204
  before anything is sent. Every part but `instructions` makes a new plugin
205
205
  version, which each member accepts at their next update. For `mcp`, every
206
206
  `env` and `headers` value is replaced by a `${NAME}` reference to each
207
- member's own environment variable. Publishing `hooks`, `mcp`, `agents` or
208
- `commands` needs the admin role (SYD-A003 otherwise).
207
+ member's own environment variable. Publishing any part needs `build:write`
208
+ on the default space (SYD-A001 otherwise); only an admin or owner mints such a
209
+ key, and each member accepts every new plugin version in their own terminal.
209
210
  - **`resolve_person`** (both servers) reads back a person a team memory names
210
211
  by identifier (`` `con_…` (reseller, sales) ``): their label, name, phone
211
212
  number and email address. The details are for that session only; the memory
@@ -216,10 +217,13 @@ reaches every member's computer as one plugin, `<workspace>-setup`.
216
217
  holds a phone number, an email address or a home-folder path is skipped and
217
218
  listed with the command to run yourself. Inputs: `project`, `dryRun`.
218
219
 
220
+ How the team memory works, for a member and for a team lead, is in the guide
221
+ [Team memory](https://www.systemdox.com/guides/team-memory).
222
+
219
223
  One command sets up your computer, and the same command updates it:
220
224
 
221
225
  ```bash
222
- npx -y @systemdox/mcp-server setup [--project <name>] [--dir <checkout>] [--yes] [--overwrite]
226
+ npx -y @systemdox/mcp-server setup [--project <name>] [--dir <checkout>] [--import <folder>]... [--yes] [--overwrite]
223
227
  ```
224
228
 
225
229
  - It first writes the SystemDox MCP server into your AI tool's config, without
@@ -230,7 +234,8 @@ npx -y @systemdox/mcp-server setup [--project <name>] [--dir <checkout>] [--yes]
230
234
  everything it will add: the marketplace entry for `~/.claude/settings.json`,
231
235
  the plugin with every hook command and every MCP server's command or URL
232
236
  verbatim, the import block for `~/.claude/CLAUDE.md`, each team memory with
233
- its file count and folder, and the `autoMemoryDirectory` it will set. On an
237
+ its file count and folder, every folder its first sync will import, and the
238
+ `autoMemoryDirectory` it will set. On an
234
239
  update it shows only what changed, with a line diff for hooks and
235
240
  instructions. Nothing changes until you answer `y`.
236
241
  - Then, in this order: the team instructions into `~/.claude/systemdox/<workspace>/CLAUDE.md`
@@ -239,7 +244,11 @@ npx -y @systemdox/mcp-server setup [--project <name>] [--dir <checkout>] [--yes]
239
244
  `systemdox-<workspace>`, into `~/.claude/settings.json` (nothing else in
240
245
  either file is touched); and, for the project (`--project`, or the only
241
246
  one), `autoMemoryDirectory` in `<checkout>/.claude/settings.local.json`
242
- (`--dir`, or the current folder), followed by its first sync.
247
+ (`--dir`, or the current folder), followed by its first sync. That first sync
248
+ on this computer imports the memory Claude Code already kept for the checkout
249
+ (`~/.claude/projects/<folder>/memory/`, for the checkout and, inside a Git
250
+ repository, its top folder) and each folder `--import` names, in that order;
251
+ those folders are not changed. A later run imports nothing.
243
252
  - Two steps are left for you, because Claude Code registers a marketplace only
244
253
  once a session has started: open Claude Code once in any folder and close
245
254
  it, then run `claude plugin install <workspace>-setup@systemdox-<workspace>`
@@ -255,12 +264,13 @@ Each project's team memory is synced file by file with one command, which you
255
264
  run in your own terminal:
256
265
 
257
266
  ```bash
258
- npx -y @systemdox/mcp-server sync-memory [--project <name>] [--dir <folder>] [--import <folder>] [--dry-run]
267
+ npx -y @systemdox/mcp-server sync-memory [--project <name>] [--dir <folder>] [--import <folder>]... [--dry-run]
259
268
  ```
260
269
 
261
270
  - The folder is `--dir`, or `~/.claude/systemdox/<workspace>/memory/<project>/`.
262
271
  Only `feedback`, `project` and `reference` memories and `MEMORY.md` are
263
- shared; a `user` memory, a file with `share: false` and a
272
+ shared, the `type` read at the top of the frontmatter or under `metadata:`
273
+ (the form Claude Code writes); a `user` memory, a file with `share: false` and a
264
274
  `<name>.local-<date>.md` conflict copy never leave your computer, and the
265
275
  sync never touches them.
266
276
  - A file changed only here goes up, one changed only by the team comes down,
@@ -271,8 +281,9 @@ npx -y @systemdox/mcp-server sync-memory [--project <name>] [--dir <folder>] [--
271
281
  a name), `o` ours, not a person, `x` leave these files out (`share: false`),
272
282
  `s` skip for now. After one `y/N` over the whole diff, each person becomes
273
283
  their identifier (`` `con_…` (reseller, sales) ``) and a home folder `~`.
274
- - `--import <folder>` merges a second copy of the same memory in (your first
275
- sync), keeping every difference as a pair; that folder is not changed.
284
+ - `--import <folder>` merges another copy of the same memory in (your first
285
+ sync), keeping every difference as a pair; it may be repeated, the folders
286
+ taken in order, and none of them is changed.
276
287
  `--dry-run` shows what would be pulled, pushed, deleted, conflicted and
277
288
  skipped, and how many values are still to answer; it asks, writes and sends
278
289
  nothing.
@@ -280,6 +291,27 @@ npx -y @systemdox/mcp-server sync-memory [--project <name>] [--dir <folder>] [--
280
291
  errors), `1` usage / no key / API error, `2` the team memory moved on twice
281
292
  while syncing (your folder holds the merge; run it again).
282
293
 
294
+ When your workspace has a team memory, the team plugin runs the sync for you
295
+ at the start (a new or resumed session) and the end of every session:
296
+
297
+ ```bash
298
+ npx -y @systemdox/mcp-server sync-memory --hook <workspace>
299
+ ```
300
+
301
+ - It syncs only the projects this computer synced before (the first sync is
302
+ yours, in your terminal), asks nothing and rewrites nothing.
303
+ - It prints one line per project, which Claude Code adds to the session, plus a
304
+ line naming any conflict copy to tidy and one naming the files waiting for you
305
+ (the first five, then how many more), with the command to run. A value is
306
+ never printed. The full report is appended to
307
+ `~/.claude/systemdox/<workspace>/sync-memory.log`.
308
+ - One run at a time per workspace (`sync.lock`), a 20-second budget counted from
309
+ the start of the process, and exit `0` always: offline or slow, it says the
310
+ memory was not synced and the next session tries again.
311
+ - A key for another workspace, or a team memory SystemDox no longer serves,
312
+ syncs nothing and leaves the folder as it is. Every file is written whole
313
+ (a temporary file, then a rename).
314
+
283
315
  Claude Code runs two commands itself; you never type them:
284
316
 
285
317
  ```bash