@systemdox/mcp-server 0.1.48 → 0.1.49
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 +24 -11
- package/dist/cli.js +462 -260
- package/dist/http.js +203 -61
- package/dist/index.d.ts +2 -1
- package/dist/index.js +348 -168
- package/dist/install-skill.js +1 -2
- package/dist/lib/config.d.ts +4 -1
- package/dist/lib/config.js +1 -2
- package/dist/lib/team-setup-files.d.ts +14 -1
- package/dist/lib/team-setup-files.js +43 -0
- package/dist/setup-mcp.d.ts +66 -0
- package/dist/setup-mcp.js +636 -0
- package/dist/setup-team.d.ts +5 -1
- package/dist/setup-team.js +1 -0
- package/dist/sync-memory.js +22 -12
- package/dist/tools/get-change.d.ts +134 -0
- package/dist/tools/get-change.js +147 -0
- package/dist/tools/skills.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -113,17 +113,18 @@ npx @systemdox/mcp-server setup
|
|
|
113
113
|
|
|
114
114
|
| Variable | Required | Default | Purpose |
|
|
115
115
|
|----------|----------|---------|---------|
|
|
116
|
-
| `SYSTEMDOX_API_KEY` |
|
|
116
|
+
| `SYSTEMDOX_API_KEY` | no | the key in `~/.claude/systemdox/credentials.json` | Your SystemDox API key. `setup` stores it in `~/.claude/systemdox/credentials.json` and nowhere else, so the server reads it there when this is not set |
|
|
117
|
+
| `SYSTEMDOX_WORKSPACE` | no | — | The workspace whose key to read when `credentials.json` holds several |
|
|
117
118
|
| `SYSTEMDOX_API_URL` | no | `https://api.puglieseweb.com/systemdox` | REST API base URL |
|
|
118
119
|
| `SYSTEMDOX_CACHE_TTL` | no | `300` | Response cache TTL (seconds) |
|
|
119
120
|
|
|
120
121
|
## Tools
|
|
121
122
|
|
|
122
123
|
Read: `get_checks`, `get_specs`, `get_docs`, `get_tech_stack`,
|
|
123
|
-
`get_planning_context`, `get_plan_board`, `
|
|
124
|
-
`get_prompt_templates`. Write: `create_check`,
|
|
125
|
-
`report_decision`, `create_project_rule`,
|
|
126
|
-
require an API key with `editor`+ role.
|
|
124
|
+
`get_planning_context`, `get_plan_board`, `get_change`, `get_context`,
|
|
125
|
+
`get_project_rules`, `get_prompt_templates`. Write: `create_check`,
|
|
126
|
+
`update_spec`, `report_decision`, `create_project_rule`,
|
|
127
|
+
`create_prompt_template`. Write tools require an API key with `editor`+ role.
|
|
127
128
|
|
|
128
129
|
Skills (ADR-216): `publish_skill`, `list_skills`, `install_skill`. A Claude
|
|
129
130
|
Code skill folder (`SKILL.md` plus its references and scripts) is published
|
|
@@ -172,8 +173,10 @@ One command sets up your computer, and the same command updates it:
|
|
|
172
173
|
npx -y @systemdox/mcp-server setup [--project <name>] [--dir <checkout>] [--yes] [--overwrite]
|
|
173
174
|
```
|
|
174
175
|
|
|
175
|
-
- It first writes the SystemDox MCP server into your AI tool's config,
|
|
176
|
-
|
|
176
|
+
- It first writes the SystemDox MCP server into your AI tool's config, without
|
|
177
|
+
your key: the key is stored once, in `~/.claude/systemdox/credentials.json`
|
|
178
|
+
(readable by you alone), and a key an earlier `setup` wrote into that config
|
|
179
|
+
is removed from it. Then, when your workspace has anything published, it checks that
|
|
177
180
|
Claude Code is 2.1.316 or later (`claude update` otherwise) and shows you
|
|
178
181
|
everything it will add: the marketplace entry for `~/.claude/settings.json`,
|
|
179
182
|
the plugin with every hook command and every MCP server's command or URL
|
|
@@ -181,9 +184,7 @@ npx -y @systemdox/mcp-server setup [--project <name>] [--dir <checkout>] [--yes]
|
|
|
181
184
|
its file count and folder, and the `autoMemoryDirectory` it will set. On an
|
|
182
185
|
update it shows only what changed, with a line diff for hooks and
|
|
183
186
|
instructions. Nothing changes until you answer `y`.
|
|
184
|
-
- Then, in this order:
|
|
185
|
-
`~/.claude/systemdox/credentials.json` (readable by you alone, and nowhere
|
|
186
|
-
else); the team instructions into `~/.claude/systemdox/<workspace>/CLAUDE.md`
|
|
187
|
+
- Then, in this order: the team instructions into `~/.claude/systemdox/<workspace>/CLAUDE.md`
|
|
187
188
|
(if you edited that file, it stops unless `--overwrite`); one marked import
|
|
188
189
|
block into `~/.claude/CLAUDE.md`; one `extraKnownMarketplaces` entry,
|
|
189
190
|
`systemdox-<workspace>`, into `~/.claude/settings.json` (nothing else in
|
|
@@ -255,6 +256,18 @@ Both read your key from `SYSTEMDOX_API_KEY`, then from
|
|
|
255
256
|
alone). A key is never written into a settings file, a plugin entry or a
|
|
256
257
|
command line.
|
|
257
258
|
|
|
259
|
+
### `get_change` (ADR-218)
|
|
260
|
+
|
|
261
|
+
`get_change { repo, slug }` reads one change, a `specs/changes/<slug>/` folder
|
|
262
|
+
of a connected repository, as SystemDox last synced it from GitHub: each part
|
|
263
|
+
of its brief (decision, contract, behaviour, plan) and its release with its
|
|
264
|
+
state and pull request, the contract files, every scenario as
|
|
265
|
+
`id · state · title`, the plan and the release pull requests, then the change
|
|
266
|
+
as JSON. The last line is `The brief is passed` or
|
|
267
|
+
`The brief is not passed: <part> is <state>`: a build session calls it first
|
|
268
|
+
and stops on the second. A change the key may not read answers
|
|
269
|
+
`No such change <repo>/<slug>`, as one that does not exist.
|
|
270
|
+
|
|
258
271
|
### `get_context`
|
|
259
272
|
|
|
260
273
|
The aggregator. It ranks checks, specs and docs against the task, then
|
|
@@ -293,7 +306,7 @@ node scripts/mcp-release-gate.mjs # from the monorepo root
|
|
|
293
306
|
```
|
|
294
307
|
|
|
295
308
|
Entry points: `src/index.ts` (stdio), `src/http.ts` (hosted HTTP handler),
|
|
296
|
-
`src/cli.ts` (`setup` command). Tool registration is shared via
|
|
309
|
+
`src/cli.ts` (`setup` command: `src/setup-mcp.ts`, then `src/setup-team.ts`). Tool registration is shared via
|
|
297
310
|
`src/server.ts` (`createServer`). The hosted handler is deployed as a Lambda by
|
|
298
311
|
the product-systemdox backend stack (`systemdox-backend-prod`), reached through
|
|
299
312
|
the `*.mcp.systemdox.com` custom domain.
|