@chamba/claude-extras 0.6.1 → 0.6.2

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
@@ -20,8 +20,8 @@ Check the MCP server's version the same way: `npx @chamba/mcp --version`.
20
20
 
21
21
  It installs into `~/.claude/`:
22
22
 
23
- - **Slash commands**: `/orq`, `/workspace`, `/worktrees`, `/recall`
24
- - **Subagents**: `implementer`, `reviewer`, `tester`
23
+ - **Slash commands**: `/ticket`, `/workspace`, `/map`, `/worktrees`, `/orq`, `/recall`, `/vault`
24
+ - **Subagents**: `planner`, `implementer`, `reviewer`, `tester`
25
25
  - **Hooks**: warn on destructive commands, validate worktree edits
26
26
 
27
27
  …and registers the `chamba` MCP server in `~/.claude.json`. It never overwrites your
@@ -184,6 +184,24 @@ model + effort you configured above.
184
184
  > `worktrees.root` (e.g. `WORKTREES/`) to `.gitignore` so they're never committed. It's
185
185
  > off by default.
186
186
 
187
+ ## Bootstrap the architecture map with `/map`
188
+
189
+ What makes `/ticket` precise is a vault that already describes how your repos fit
190
+ together. On a small or new project, seed that in one shot:
191
+
192
+ ```
193
+ /map # asks EN/ES, then maps every repo
194
+ /map es web # Spanish notes, scoped to the `web` repo
195
+ ```
196
+
197
+ `/map` resolves the vault (`chamba_vault_status` — run `/workspace init` first if you
198
+ don't have one), asks which language to write in, reads the repos for their cross-repo
199
+ wiring (REST, async/events, shared data, build deps), and writes **living notes** with
200
+ stable names: `Topology.md`, `Data flows.md`, `Domain entities.md`, and `repos/<repo>.md`.
201
+ Re-run it as the project grows — it updates its own notes in place and **never touches a
202
+ note you edited by hand** (it only rewrites notes marked `source: chamba`). It's opt-in;
203
+ on a big monorepo, mapping everything is expensive.
204
+
187
205
  ## License
188
206
 
189
207
  MIT
@@ -0,0 +1,41 @@
1
+ ---
2
+ description: Map the workspace architecture (cross-repo wiring) into living vault notes
3
+ argument-hint: "[en|es] [repo ...]"
4
+ ---
5
+
6
+ You are mapping the architecture of this workspace into the Obsidian vault: **$ARGUMENTS**
7
+
8
+ This is an opt-in command for small or new projects — bootstrap the cross-repo
9
+ context the `/ticket` flow relies on. Stay grounded in the real code: cite the
10
+ files you read, never invent a connection, and mark anything you can't confirm as
11
+ unknown rather than guessing.
12
+
13
+ Parse the arguments: a leading `en` or `es` sets the notes' language; any other
14
+ tokens are repos to scope the map to (default: every repo in the workspace).
15
+
16
+ 1. Resolve the vault with `chamba_vault_status`. If no vault is found, tell me to
17
+ run `/workspace init` first (it bootstraps one) and stop here.
18
+ 2. **Language.** If I didn't pass `en`/`es`, ask me whether to write the notes in
19
+ English or Spanish, and wait for my answer. Write ALL notes in that language.
20
+ 3. Call `chamba_load_context` with "map the workspace architecture" to pull the
21
+ repo map, coding rules, and any notes already in the vault.
22
+ 4. Do cross-repo reconnaissance, grounded in real code (read the relevant files):
23
+ - **REST/HTTP** — clients, base URLs, route handlers → who calls whom.
24
+ - **Async** — pub/sub topics, queues, events, webhooks → producers and consumers.
25
+ - **Shared data** — databases, schemas, entities crossing repos.
26
+ - **Build/deploy** — workspace dependencies, shared packages.
27
+ 5. Write **stable, named notes** into the vault root (use your file tools to write
28
+ directly under the resolved vault path). Each note gets YAML frontmatter with
29
+ `tags: [chamba, architecture]`, `source: chamba`, and the date:
30
+ - `Topology.md` — the service graph: which repos talk over REST and which events
31
+ connect them. A diagram (Mermaid) plus prose.
32
+ - `Data flows.md` — the key end-to-end flows across repos.
33
+ - `Domain entities.md` — the shared entities / domain model.
34
+ - `repos/<repo>.md` — one overview per repo: purpose, stack, entry points, and
35
+ what it talks to (in and out).
36
+ 6. **Never clobber my edits.** Before writing a note that already exists, read it:
37
+ if it does NOT carry `source: chamba` in its frontmatter, I edited it by hand —
38
+ leave it untouched, report it as skipped, and move on. If it does, regenerate it
39
+ in place. The `source: chamba` marker is how you know which notes are yours.
40
+ 7. Report what you wrote, updated and skipped, with the vault paths. Do NOT commit,
41
+ merge or push — these are notes, I'll review them.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chamba/claude-extras",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "description": "Optional Claude Code extras for chamba: slash commands, subagents and hooks installer",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -31,8 +31,8 @@
31
31
  ],
32
32
  "dependencies": {
33
33
  "@inquirer/prompts": "^7.0.0",
34
- "@chamba/adapters": "0.6.1",
35
- "@chamba/core": "0.6.1"
34
+ "@chamba/adapters": "0.6.2",
35
+ "@chamba/core": "0.6.2"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/node": "^22.0.0",