- Replace ~/.local/projects-meta-mcp → ~/projects/.common/lib/projects-meta-mcp - Update setup-projects-meta and using-projects-meta skills - Rebuild dist/ with new paths Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
94 lines
4.1 KiB
Markdown
94 lines
4.1 KiB
Markdown
# setup-projects-meta
|
|
|
|
One-time skill that brings up the local `projects-meta-mcp` stdio server on a
|
|
new (or freshly broken) machine. Clones the server repo, builds it, writes
|
|
`~/.config/projects-mcp/auth.toml` with the user's Gitea token, clones the
|
|
shared wiki to `~/projects/.wiki`, and registers `mcpServers.projects-meta`
|
|
in `~/.claude.json`.
|
|
|
|
The runtime policy for *using* the resulting tools lives in
|
|
[`using-projects-meta`](../using-projects-meta/) — `setup-projects-meta` is the
|
|
only place that touches user-level config or installs the server.
|
|
|
|
`projects-meta-mcp` reference (full):
|
|
`mcp__projects-meta__knowledge_get slug=packages/projects-meta-mcp`
|
|
|
|
## When it triggers
|
|
|
|
- User says: "install projects-meta", "set up projects-meta", "configure projects-meta",
|
|
"настрой projects-meta", "установи projects-meta", "projects-meta не работает",
|
|
"projects-meta isn't working".
|
|
- [`using-projects-meta`](../using-projects-meta/) detects missing
|
|
`mcp__projects-meta__*` tools and delegates here via its Prerequisites
|
|
section.
|
|
- A new machine in the multi-machine fleet — install once per machine.
|
|
|
|
## What it installs
|
|
|
|
| Path | Role |
|
|
|---|---|
|
|
| `~/projects/.common/lib/projects-meta-mcp/` | server repo (cloned from Gitea) |
|
|
| `~/projects/.common/lib/projects-meta-mcp/dist/server.js` | built stdio entry point |
|
|
| `~/.config/projects-mcp/auth.toml` | Gitea credentials (token-bearing) |
|
|
| `~/.cache/projects-mcp/tasks.json` | aggregated tasks cache |
|
|
| `~/projects/.wiki/` | shared wiki clone (Gitea repo `projects-wiki`, content in root) |
|
|
| `~/.claude.json` (`mcpServers.projects-meta`) | MCP registration |
|
|
|
|
## Hard rules
|
|
|
|
- **Never auto-mutate.** Phase 1 (discovery) and Phase 2 (plan) always pause
|
|
for explicit confirmation. A trigger phrase grants permission to inspect,
|
|
not to clone or write secrets.
|
|
- **Never echo the Gitea token in chat.** Edit / Write tool calls inevitably
|
|
contain it (that's how it lands in `auth.toml`); chat output must not.
|
|
- **Never clone over an unrelated `~/projects/.wiki/`.**
|
|
If it exists with a non-matching `origin`, stop and ask — the user
|
|
may have an unrelated wiki there.
|
|
- **Always `chmod 600` `auth.toml` on Linux / macOS.** Token leak otherwise.
|
|
|
|
## Procedure (high-level)
|
|
|
|
1. **Phase 0** — environment sanity (Node ≥ 18, git, npm, network to Gitea).
|
|
2. **Phase 1** — discovery (token / repo / wiki clone / MCP registration / cache).
|
|
3. **Phase 2** — plan + confirm. Wait for explicit "ok"/"go"/"поехали".
|
|
4. **Phase 3** — backup (`~/.claude.json`, existing `auth.toml`).
|
|
5. **Phase 4** — clone / pull repo + `npm install && npm run build`; clone
|
|
shared wiki if absent.
|
|
6. **Phase 5** — write `~/.config/projects-mcp/auth.toml` with `gitea_token`.
|
|
7. **Phase 6** — register `mcpServers.projects-meta` in `~/.claude.json` with
|
|
absolute path to `dist/server.js`.
|
|
8. **Phase 7** — smoke test (`mcp__projects-meta__meta_status`) + `node dist/sync.js`
|
|
to populate the cache.
|
|
9. **Phase 8** — restart guidance + final report.
|
|
|
|
Full procedure with shell snippets and templates lives in [`SKILL.md`](SKILL.md).
|
|
|
|
## Rollback
|
|
|
|
1. Stop. Don't fix forward.
|
|
2. `cp <file>.bak-<ts> <file>` for `~/.claude.json` and `~/.config/projects-mcp/auth.toml`.
|
|
3. Optional: `rm -rf ~/projects/.common/lib/projects-meta-mcp` and `rm -rf ~/.cache/projects-mcp`.
|
|
Keep `~/projects/.wiki/` — it's a useful clone regardless of MCP state.
|
|
4. Restart Claude Code.
|
|
5. Confirm `mcp__projects-meta__*` tools are gone (or back to the prior version).
|
|
|
|
## Install
|
|
|
|
From the repo root:
|
|
|
|
```bash
|
|
bash scripts/install.sh setup-projects-meta
|
|
```
|
|
|
|
Works on Windows under git-bash, Linux, macOS.
|
|
|
|
## See also
|
|
|
|
- [`using-projects-meta`](../using-projects-meta/) — runtime policy for
|
|
cross-project task aggregation and shared-wiki query / ingest.
|
|
- [`setup-context7`](../setup-context7/) — companion pattern for the context7
|
|
MCP plugin (similar 8-phase shape).
|
|
- [`setup-wiki`](../setup-wiki/), [`setup-tasks`](../setup-tasks/) —
|
|
per-project setup skills (in-repo `.wiki/` and `.tasks/`); orthogonal to
|
|
this skill, which sets up the cross-project layer.
|