@systemdox/mcp-server 0.1.57 → 0.1.58
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 +37 -9
- package/dist/cli.js +454 -69
- package/dist/http.js +155 -38
- package/dist/index.js +155 -38
- package/dist/lib/memory-sync.d.ts +10 -3
- package/dist/lib/memory-sync.js +30 -4
- package/dist/lib/team-setup-files.d.ts +8 -1
- package/dist/lib/team-setup-files.js +8 -0
- package/dist/lib/team-setup-types.d.ts +2 -0
- package/dist/server.js +154 -37
- package/dist/setup-mcp.js +10 -9
- package/dist/setup-team.d.ts +38 -5
- package/dist/setup-team.js +228 -44
- package/dist/sync-memory.d.ts +61 -9
- package/dist/sync-memory.js +343 -34
- package/dist/tools/team-setup.js +147 -30
- package/package.json +1 -1
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
|
|
208
|
-
|
|
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,
|
|
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
|
|
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
|
|
275
|
-
sync), keeping every difference as a pair;
|
|
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,23 @@ 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 for files waiting for you, with
|
|
305
|
+
the command to run. A value is never printed. The full report is appended to
|
|
306
|
+
`~/.claude/systemdox/<workspace>/sync-memory.log`.
|
|
307
|
+
- One run at a time per workspace (`sync.lock`), a 20-second budget, and exit
|
|
308
|
+
`0` always: offline or slow, it says the memory was not synced and the next
|
|
309
|
+
session tries again.
|
|
310
|
+
|
|
283
311
|
Claude Code runs two commands itself; you never type them:
|
|
284
312
|
|
|
285
313
|
```bash
|