xtrm-tools 2.1.20 → 2.1.21

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
@@ -2,7 +2,9 @@
2
2
 
3
3
  **Claude Code tools installer** — skills, hooks, MCP servers, and project-specific extensions.
4
4
 
5
- > **ARCHITECTURAL DECISION (v2.0.0):** xtrm-tools now supports **Claude Code exclusively**. Hook translation for Gemini CLI and Qwen CLI was removed due to fragile, undocumented, and unofficially supported hook ecosystems. For Gemini/Qwen, users must manually configure their environments (see [Manual Setup for Gemini/Qwen](#manual-setup-for-geminiqwen)).
5
+ > **ARCHITECTURAL DECISION (v2.0.0+):** xtrm-tools supports **Claude Code exclusively**. Hook translation for Gemini CLI and Qwen CLI was removed.
6
+
7
+ > **MIGRATION NOTICE (v2.1.20+):** Core logic has moved to **Pi Extensions**. See the [Pi Extensions Migration Guide](docs/pi-extensions-migration.md).
6
8
 
7
9
  This repository contains production-ready extensions to enhance Claude's capabilities with prompt improvement, task delegation, development workflow automation, and quality gates. The `xtrm` CLI provides a robust, modular "Plug & Play" installation engine for project-specific tools.
8
10
 
@@ -15,247 +17,78 @@ cd xtrm-tools/cli
15
17
  npm install && npm run build
16
18
  npm link
17
19
 
18
- # Install tools to your Claude Code environment
19
- xtrm install
20
+ # Initialize a project and register gitnexus MCP
21
+ xtrm project init
20
22
  ```
21
23
 
22
24
  ## Table of Contents
23
25
 
24
- - [Skills](#skills)
25
- - [Hooks](#hooks)
26
+ - [Project Skills & Hooks](#project-skills--hooks)
27
+ - [Global Skills](#global-skills)
26
28
  - [Installation](#installation)
27
- - [Project Skills](#project-skills)
29
+ - [CLI User Guide](#cli-user-guide)
28
30
  - [Configuration](#configuration)
29
- - [Documentation](#documentation)
30
31
  - [Version History](#version-history)
31
32
  - [License](#license)
32
33
 
33
- ## Skills
34
-
35
- ### prompt-improving
36
-
37
- Automatically improves user prompts using Claude's XML best practices before execution.
38
-
39
- - **Invocation**: `/prompt [prompt]` or `/prompt-improving [prompt]`
40
- - **Purpose**: Applies semantic XML structure, multishot examples, and chain-of-thought patterns
41
- - **Hook**: `skill-suggestion.py`
42
- - **Version**: 5.1.0
43
-
44
- ### delegating
45
-
46
- Unified task delegation system supporting both CCS (cost-optimized) and unitAI (multi-agent workflows).
47
-
48
- - **Invocation**: `/delegate [task]` or `/delegating [task]`
49
- - **Purpose**: Auto-selects optimal backend for task execution
50
- - **CCS**: Simple tasks (tests, typos, docs) → GLM/Gemini/Qwen
51
- - **unitAI**: Complex tasks (code review, feature dev, debugging) → Multi-agent workflows
52
- - **Hook**: `skill-suggestion.sh` (triggers on "delegate" keyword)
53
- - **Config**: `skills/delegation/config.yaml` (user-customizable patterns)
54
- - **Version**: 6.0.0
55
-
56
- **Key Features**:
57
- - Configuration-driven pattern matching
58
- - Autonomous workflow selection for unitAI
59
- - Interactive 2-step menu (Delegate? → Backend?)
60
- - Auto-focus detection (security/performance/quality)
61
- - Override flags (`--glm`, `--unitai`, etc.)
62
-
63
- **Deprecates**: `/ccs-delegation` (v5.0.0) - use `/delegation` instead
64
-
65
- ### orchestrating-agents
66
-
67
- Orchestrates task handoff and deep multi-turn "handshaking" sessions between Gemini and Qwen CLI agents.
68
-
69
- - **Invocation**: `/orchestrate [workflow-type] [task]` (workflow-type optional)
70
- - **Purpose**: Facilitates multi-model collaboration, adversarial reviews, and deep troubleshooting.
71
- - **Workflows**:
72
- - **Collaborative Design** (`collaborative`): Proposal -> Critique -> Refinement (for features).
73
- - **Adversarial Review** (`adversarial`): Proposal -> Red Team Attack -> Defense (for security).
74
- - **Troubleshoot Session** (`troubleshoot`): Multi-agent hypothesis testing (for emergencies).
75
- - **Single Handshake** (`handshake`): Quick one-turn second opinion.
76
- - **Examples**:
77
- - `/orchestrate adversarial "Review payment security"`
78
- - `/orchestrate "Design auth system"` (interactive workflow selection)
79
- - **Hook**: None (Direct slash command)
80
- - **Version**: 1.2.0
81
-
82
- **Key Features**:
83
- - Parameter-based workflow selection for direct invocation
84
- - Interactive fallback when no workflow specified
85
- - Corrected resume flags for multi-turn sessions (Gemini: `-r latest`, Qwen: `-c`)
86
-
87
- ### using-serena-lsp
88
-
89
- Master workflow combining Serena MCP semantic tools with LSP plugins for efficient code editing.
90
-
91
- - **Invocation**: Auto-suggested via hooks
92
- - **Purpose**: Surgical code editing with 75-80% token savings
93
- - **Hook**: `serena-workflow-reminder.py`
94
- - **Origin**: Serena MCP
95
-
96
- ### documenting
97
-
98
- Maintains Single Source of Truth (SSOT) documentation system for projects.
99
-
100
- - **Invocation**: `/document [task]` or skill commands
101
- - **Purpose**: Create, update, validate SSOT documentation
102
- - **Hook**: None
103
- - **Origin**: Serena MCP
104
- - **Version**: 2.0.0 (with drift detection and INDEX blocks)
105
-
106
- **Key Features**:
107
- - `tracks:` frontmatter field for automatic drift detection
108
- - Auto-generated INDEX tables for navigation without full reads
109
- - Stop hook fires at session end to detect stale memories
110
- - Decision table for when to update SSOT vs changelog only
111
-
112
- ### obsidian-cli
113
-
114
- Interact with Obsidian vaults using the Obsidian CLI.
115
-
116
- - **Invocation**: Auto-loaded when working with Obsidian tasks
117
- - **Purpose**: Read, create, search, and manage notes, tasks, properties
118
- - **Hook**: None
119
- - **Version**: 1.0.0
120
-
121
- **Key Features**:
122
- - Full CLI command reference (create, read, search, daily notes, tasks)
123
- - Plugin development workflow (reload, error capture, screenshots, DOM inspection)
124
- - Vault targeting with `vault=<name>` parameter
125
- - File targeting with `file=` (wikilink-style) or `path=` (exact path)
126
-
127
- ### gitnexus (4 skills)
128
-
129
- Knowledge graph-powered code intelligence skills.
34
+ ---
130
35
 
131
- - **Invocation**: Auto-suggested via hooks for code operations
132
- - **Purpose**: Semantic code understanding with 75-80% token savings
133
- - **Hook**: `gitnexus-hook.cjs` (PreToolUse for Grep|Glob|Bash)
134
- - **Version**: 1.0.0
36
+ ## Project Skills & Hooks
135
37
 
136
- **Skills**:
137
- - `gitnexus/exploring` — Architecture understanding ("How does X work?")
138
- - `gitnexus/debugging` — Bug tracing ("Why is X failing?")
139
- - `gitnexus/impact-analysis` — Blast radius ("What breaks if I change X?")
140
- - `gitnexus/refactoring` — Surgical refactors (rename, extract, split)
38
+ Project skills are modular, plug-and-play tool packages extending Claude's capabilities for specific workflows. They install into your project's `.claude/` directory and include specific hooks enforcing local workflow rules and quality gates.
141
39
 
142
- **Tools**:
143
- - `query` Process-grouped execution flows
144
- - `context` 360-degree symbol view
145
- - `impact` Blast radius analysis (depth 1/2/3)
146
- - `detect_changes` Git-diff impact analysis
147
- - `rename` — Multi-file coordinated rename
148
- - `cypher` — Raw graph queries
40
+ ### using-xtrm (Session Operating Manual)
41
+ **The foundational operating manual for an xtrm-equipped session.**
42
+ - **Invocation**: Activates automatically at session start via hook.
43
+ - **Purpose**: Orients the agent on how to work within the xtrm stack: applying prompt improvement, using the beads issue-tracking gate, enforcing PR workflows, and combining the full toolset (gitnexus, Serena, TDD guard, quality gates, delegation).
44
+ - **Core Workflow**: Provides the authoritative guide on feature-branch usage, requiring PRs for merges (with `--squash`), and stopping dangerous git commands on protected branches.
149
45
 
150
- ### scoping-service-skills (Trinity)
46
+ ### TDD Guard & Quality Gates (`tdd-guard` & `using-quality-gates`)
47
+ - **tdd-guard**: Enforces Test-Driven Development by blocking implementation until failing tests exist. Now covers **Serena edit tools** via bridge behavior.
48
+ - **using-quality-gates**: Unified PostToolUse code quality hooks — runs linting, type checking, and formatting (Python + TypeScript with strict mypy/ruff rules) on every edit.
151
49
 
50
+ ### Service Skills Set (Trinity)
152
51
  Task intake and service routing for Docker service projects.
52
+ - **Invocation**: `/scope "task description"` or automatic via SessionStart hook.
53
+ - **Purpose**: Gives Claude persistent, service-specific expertise without re-explaining architecture. Emits structured scope plans and detects codebase drift via PostToolUse hooks.
153
54
 
154
- - **Invocation**: `/scope "task description"`
155
- - **Purpose**: Detect intent, map to expert service skills, emit structured scope plan
156
- - **Hook**: None (invoked before investigation/feature/refactor tasks)
157
- - **Version**: 1.0.0
158
-
159
- **Intent Taxonomy**:
160
- - `investigation` — Errors, failures, issues (default when ambiguous)
161
- - `feature` — New functionality
162
- - `refactor` — Restructuring, cleanup
163
- - `config-change` — Configuration updates
164
- - `exploration` — Understanding, explanations
165
-
166
- **Workflow**:
167
- 1. Read service registry
168
- 2. Detect intent from keywords
169
- 3. Map to registered services
170
- 4. Emit XML scope block with diagnosis → fix → regression-test phases
171
-
172
- ## Hooks
173
-
174
- ### Skill-Associated Hooks
175
-
176
- **skill-suggestion.py**
177
- - Skills: `prompt-improving`, `delegating`, `using-quality-gates`
178
- - Trigger: UserPromptSubmit
179
- - Purpose: Proactive skill suggestions based on prompt analysis
180
- - Config: `settings.json` → `skillSuggestions.enabled: true`
181
-
182
- **skill-discovery.py**
183
- - Skills: All `skills/` directory skills
184
- - Trigger: SessionStart
185
- - Purpose: Injects summarized skill catalog at session start
186
- - Config: Auto-wired in `settings.json`
187
-
188
- **serena-workflow-reminder.py**
189
- - Skill: `using-serena-lsp`
190
- - Trigger: SessionStart, PreToolUse (Read|Edit)
191
- - Purpose: Enforces semantic Serena LSP workflow
192
-
193
- **gitnexus-hook.cjs**
194
- - Skills: `gitnexus/*` (4 skills)
195
- - Trigger: PreToolUse (Grep|Glob|Bash)
196
- - Purpose: Enriches tool calls with knowledge graph context via `gitnexus augment`
197
- - Config: Auto-wired in `settings.json`
55
+ ### Core Project Hooks
198
56
 
199
- **gitnexus-impact-reminder.py**
200
- - Trigger: UserPromptSubmit
201
- - Purpose: Reminds to run impact analysis before editing code symbols
202
- - Config: Auto-wired in `settings.json`
57
+ **Main Guard (`main-guard.mjs`)**
58
+ - **Trigger**: PreToolUse (Write|Edit|MultiEdit|Serena edit tools|Bash)
59
+ - **Purpose**: Enforces PR-only merge workflow with full git protection. Blocks direct commits and dangerous `git checkout` / `git push` commands on protected branches (`main/master`).
60
+ - **Post-Push (`main-guard-post-push.mjs`)**: After pushing a feature branch, reminds to use `gh pr merge --squash` and sync local via `git reset --hard origin/main`.
203
61
 
204
- ### Standalone Hooks
62
+ **GitNexus Graph Context (`gitnexus-hook.cjs`)**
63
+ - **Trigger**: PostToolUse (with Serena support and dedup cache)
64
+ - **Purpose**: Enriches tool output with knowledge graph context via `gitnexus augment`.
65
+ - *Note: `gitnexus-impact-reminder` was removed as impact analysis enforcement is now native.*
205
66
 
206
- **main-guard.mjs**
207
- - Trigger: PreToolUse (Write|Edit|MultiEdit|Serena edit tools)
208
- - Purpose: Blocks direct edits on protected branches (main/master) with structured deny output
67
+ **Beads Issue Tracking Gates**
68
+ - **Trigger**: PreToolUse, PostToolUse, Stop, PreCompact, SessionStart
69
+ - **Purpose**: Ensures all work is tracked to a `bd` issue. Blocks file edits without an active claim.
70
+ - **Compaction**: Newly added `PreCompact` and `SessionStart` hooks preserve `in_progress` beads state across `/compact` events. Hook blocking messages are quieted and compacted to save tokens.
209
71
 
210
- **main-guard-post-push.mjs**
211
- - Trigger: PostToolUse (Bash: git push)
212
- - Purpose: After pushing feature branch, reminds to open PR, merge, and sync local
213
-
214
- **type-safety-enforcement.py**
215
- - Trigger: PreToolUse (Bash|Edit|Write)
216
- - Purpose: Enforce type safety in Python code
217
-
218
- **agent_context.py**
219
- - Trigger: Support module used by Python hooks
220
- - Purpose: Shared hook input/output helper
221
-
222
- **beads gate hooks** (installed with `xtrm install all`, or included when beads+dolt is available):
223
- - `beads-edit-gate.mjs` (PreToolUse) — Blocks writes without active issue claim
224
- - `beads-commit-gate.mjs` (PreToolUse) — Blocks commits with unresolved session claim
225
- - `beads-stop-gate.mjs` (Stop) — Blocks session stop while claim remains open
226
- - `beads-close-memory-prompt.mjs` (PostToolUse) — Prompts memory handoff after `bd close`
227
-
228
- ### PostToolUse Hooks
229
- - `main-guard-post-push.mjs` — After feature-branch push, reminds PR/merge/sync steps
230
-
231
- ## Project Skills
232
-
233
- **Project Skills** are modular, plug-and-play tool packages that extend Claude's capabilities for specific workflows. Each skill includes pre-configured hooks, context skills, and documentation.
72
+ ---
234
73
 
235
- ### Available Project Skills
74
+ ## Global Skills
236
75
 
237
- | Skill | Description | Hook Type |
238
- |-------|-------------|-----------|
239
- | `quality-gates` | Unified PostToolUse code quality hooks — runs linting, type checking, and formatting on every edit | PostToolUse |
240
- | `service-skills-set` | Docker service expertise — gives Claude persistent knowledge about your services | SessionStart, PreToolUse, PostToolUse |
241
- | `tdd-guard` | Enforce Test-Driven Development — blocks implementation until failing tests exist | SessionStart, PreToolUse, UserPromptSubmit |
76
+ Global skills are reusable workflows installed to the user-level Claude environment (not tied to one repo).
242
77
 
243
- ### Installing Project Skills
78
+ ### documenting
79
+ Maintains Single Source of Truth (SSOT) documentation system with drift detection.
80
+ - **Invocation**: `/document [task]`
81
+ - **Purpose**: Creates, updates, and validates SSOT documentation. Auto-generates INDEX blocks for rapid navigation. A Stop hook fires at session end to detect stale memories based on the `tracks:` frontmatter field.
244
82
 
245
- ```bash
246
- # List available project skills
247
- xtrm install project list
248
-
249
- # Install a specific skill into your current project
250
- cd my-project
251
- xtrm install project quality-gates # Unified quality gates (Python + TypeScript)
252
- xtrm install project service-skills-set # Docker service expertise
253
- xtrm install project tdd-guard # TDD enforcement
254
- xtrm install project all # Install every available project skill
255
- xtrm install project '*' # Same as above; quote to avoid shell expansion
256
- ```
83
+ ### delegating
84
+ Proactively delegates tasks to cost-optimized agents before working in main session.
85
+ - **Invocation**: `/delegate [task]` or `/delegating [task]`
86
+ - **Purpose**: Routes simple deterministic tasks (tests, typos, formatting, docs) to GLM/Gemini/Qwen, and complex reasoning tasks to multi-agent orchestration. Interactive 2-step menu helps select the backend. Avoids main session token usage.
257
87
 
258
- **Note:** Project skills install Claude hooks and skills into your project's `.claude/` directory. Some skills require additional manual setup (e.g., installing npm packages or Python dependencies). Always read the documentation at `.claude/docs/<skill>-readme.md` after installation.
88
+ ### orchestrating-agents
89
+ Orchestrates task handoff and "handshaking" between Gemini and Qwen CLI agents.
90
+ - **Invocation**: `/orchestrate [workflow-type] [task]`
91
+ - **Purpose**: Facilitates multi-model collaboration, adversarial reviews, and deep cross-validation of complex logic. Workflows include collaborative design, adversarial security review, troubleshooting, and single handshakes.
259
92
 
260
93
  ---
261
94
 
@@ -263,530 +96,69 @@ xtrm install project '*' # Same as above; quote to avoid shell ex
263
96
 
264
97
  ### 🚀 Quick One-Time Run
265
98
 
266
- Run the latest version directly from GitHub without installing:
267
-
268
99
  ```bash
269
- npx -y github:Jaggerxtrm/xtrm-tools install
100
+ npx -y github:Jaggerxtrm/xtrm-tools install all
270
101
  ```
271
102
 
272
- This temporarily clones, builds, and runs the installation to your Claude Code environment.
273
-
274
- ---
275
-
276
- ### 🛠️ Global Installation (Recommended for repeated use)
277
-
278
- Install globally from GitHub:
103
+ ### 🛠️ Global Installation (Recommended)
279
104
 
280
- ```bash
281
- npm install -g github:Jaggerxtrm/xtrm-tools
282
- ```
283
-
284
- Now you can run `xtrm` from anywhere:
285
- ```bash
286
- xtrm install # Install/update tools
287
- xtrm status # Check for changes
288
- xtrm install project tdd-guard # Install project skills
289
- ```
290
-
291
- **To update later:**
292
105
  ```bash
293
106
  npm install -g github:Jaggerxtrm/xtrm-tools@latest
294
- ```
295
-
296
- ---
297
-
298
- ### 🔧 Local Installation (for development)
299
107
 
300
- ```bash
301
- git clone https://github.com/Jaggerxtrm/xtrm-tools.git
302
- cd xtrm-tools
303
- npm install # installs root + cli workspace dependencies
304
- npm run build # compiles CLI TypeScript to cli/dist/
305
- npm link # registers `xtrm` globally
108
+ xtrm install all # Install to all global targets
109
+ xtrm project init # Setup current project (runs gitnexus analyze + bd init)
110
+ xtrm install project all # Install all project-specific skills
306
111
  ```
307
112
 
308
- Root package is the single entrypoint for dev/publish:
309
- - `npm install` (root) installs everything, including `cli/`
310
- - `npm run build` (root) builds the CLI bundle
311
- - `npm test` (root) runs CLI tests
312
- - `npm publish` (root) runs `prepublishOnly` build, then publishes
313
-
314
113
  ---
315
114
 
316
115
  ## CLI User Guide
317
116
 
318
- ### Synopsis
319
-
320
117
  ```
321
118
  xtrm <command> [options]
322
119
  ```
323
120
 
324
- | Command | Description |
325
- | --------- | -------------------------------- |
326
- | `install` | Install/update tools |
327
- | `status` | Show diff without making changes |
328
- | `reset` | Clear saved preferences |
329
- | `help` | Show command/component overview |
330
-
331
- ---
332
-
333
- ### `xtrm install`
334
-
335
- The main command. Detects your agent environments, calculates what's changed, and applies updates.
336
-
337
- ```bash
338
- xtrm install # interactive — prompts for targets and confirmation
339
- xtrm install all # install to all Claude Code targets without target prompt
340
- xtrm install '*' # same as above; quote * to avoid shell expansion
341
- xtrm install --dry-run # preview what WOULD change, write nothing
342
- xtrm install all --dry-run -y # non-interactive preview across all Claude targets
343
- xtrm install -y # skip confirmation prompts (CI-friendly)
344
- xtrm install --prune # also remove system items no longer in the repo
345
- xtrm install --backport # reverse direction: copy drifted local edits → repo
346
- ```
347
-
348
- **UX Features (v1.6.0+)**:
349
- - **Listr2 concurrent diff phase**: Parallel environment checks with per-target change counts
350
- - **cli-table3 plan table**: Formatted table showing Target / + New / ↑ Update / ! Drift / Total
351
- - **boxen summary card**: Completion summary with green/yellow border based on drift
352
- - **Themed output**: Semantic colors (success, error, warning, muted, accent) via `theme.ts`
353
- - **beads+dolt prerequisite flow**: `xtrm install` / `xtrm install all` check workflow backend and can install missing deps
354
- - **Auto-detection**: Scans Claude Code targets automatically (`~/.claude`, `%APPDATA%/Claude` on Windows) plus the `.agents/skills` cache for skills-only sync
355
- - **Inline sync**: `status` command offers to apply sync immediately after showing changes
356
- - **Single confirmation**: See full plan across all targets, confirm once
357
- - **Safety guards**: Prune mode aborts on read failures; clean errors (no stack traces)
358
- - **Startup banner**: Professional branding on CLI launch (skip with `--help`/`--version`)
359
- - **`--json` flag**: Machine-readable output for CI/CD pipelines
360
-
361
- **What it syncs per target environment:**
362
-
363
- | Item | Claude Code (full) | `~/.agents/skills` (skills-only) |
364
- | --------------- | -------------------- | --------------------------------- |
365
- | `skills/` | ✅ copy/symlink | ✅ direct copy |
366
- | `hooks/` | ✅ copy/symlink | ❌ skipped |
367
- | `settings.json` | ✅ safe merge | ❌ skipped |
368
- | MCP servers | `mcp add` CLI | ❌ skipped |
369
-
370
- **Diff categories shown before sync:**
371
-
372
- - `+ missing` — item exists in repo but not in your system (will be added)
373
- - `↑ outdated` — repo is newer than your system (will be updated)
374
- - `✗ drifted` — your local copy is newer than the repo (skipped unless `--backport`)
375
-
376
- **Safe merge behaviour for `settings.json`:**
377
- Protected keys (your local MCP servers, permissions, auth tokens, model preferences) are **never overwritten**. New keys from the repo are merged in non-destructively.
378
-
379
- **Sync modes** (saved between runs, prompted on first sync):
380
- - `copy` — default; plain file copy
381
- - `symlink` — live symlinks so edits to `skills/` immediately reflect system-wide *(Linux/macOS only; Windows falls back to copy automatically)*
382
-
383
- ---
384
-
385
- ### `xtrm status`
386
-
387
- Read-only diff view with enhanced feedback — no files written:
388
-
389
- ```bash
390
- xtrm status # auto-detects all environments
391
- xtrm status --json # machine-readable output
392
- ```
393
-
394
- **Output includes (v1.7.0+)**:
395
- - Auto-detected environments: Claude Code targets and the `~/.agents/skills` cache
396
- - cli-table3 formatted table with per-target change breakdown
397
- - Last synced time (relative: "3 hours ago")
398
- - Item counts from manifest (skills, hooks, config)
399
- - Per-target health: ✓ Up-to-date / ⚠ Pending changes
400
- - **Inline sync prompt**: "Apply sync now?" with multiselect target choice (Esc to skip)
401
- - No second diff pass needed — executes directly using pre-computed changeSets
402
-
403
- ---
404
-
405
- ### `xtrm reset`
406
-
407
- Clears saved preferences (sync mode, etc.):
408
-
409
- ```bash
410
- xtrm reset
411
- ```
412
-
413
- ---
414
-
415
- ### Manual Installation (without CLI)
416
-
417
- 1. Clone this repository:
418
- ```bash
419
- git clone https://github.com/Jaggerxtrm/xtrm-tools.git
420
- cd xtrm-tools
421
- ```
422
-
423
- 2. Copy skills to Claude Code:
424
- ```bash
425
- cp -r skills/* ~/.claude/skills/
426
- ```
427
-
428
- 3. Copy hooks:
429
- ```bash
430
- cp hooks/* ~/.claude/hooks/
431
- ```
432
-
433
- ---
434
-
435
- ## Manual Setup for Gemini/Qwen
436
-
437
- **ARCHITECTURAL DECISION (v2.0.0):** xtrm-tools no longer provides automated hook translation for Gemini CLI or Qwen CLI. This decision was made because:
438
-
439
- 1. **Fragile ecosystems:** Hook support in Gemini/Qwen is unofficial and undocumented
440
- 2. **Technical debt:** Maintaining translations introduces breaking changes with upstream updates
441
- 3. **Focus:** We prioritize robust, well-tested Claude Code support
442
-
443
- If you use Gemini CLI or Qwen CLI, you can still use xtrm-tools skills and hooks with manual setup:
444
-
445
- ### For Gemini CLI Users
446
-
447
- 1. **Copy skills:**
448
- ```bash
449
- cp -r skills/* ~/.gemini/skills/
450
- ```
451
-
452
- 2. **Configure hooks manually:** Gemini uses `BeforeAgent`, `BeforeTool`, `SessionStart` events. Map Claude hooks as follows:
453
- - `UserPromptSubmit` → `BeforeAgent`
454
- - `PreToolUse` → `BeforeTool` (translate tool names: `Read`→`read_file`, `Write`→`write_file`, etc.)
455
- - `SessionStart` → `SessionStart`
456
-
457
- 3. **Reference:** See [Gemini CLI documentation](https://github.com/google-gemini/gemini-cli) for hook format.
458
-
459
- ### For Qwen CLI Users
460
-
461
- 1. **Copy skills:**
462
- ```bash
463
- cp -r skills/* ~/.qwen/skills/
464
- ```
465
-
466
- 2. **Configure hooks manually:** Qwen uses similar event names to Claude. Copy hook scripts from `hooks/` and wire them in `~/.qwen/settings.json`.
467
-
468
- 3. **Reference:** See [Qwen CLI documentation](https://github.com/QwenLM/qwen-cli) for configuration format.
469
-
470
- ### Limitations
471
-
472
- - ❌ No automated sync/updates (must manually copy changes)
473
- - ❌ No MCP server auto-installation
474
- - ❌ No project skills support (Claude Code only)
475
- - ❌ No hook translation (must configure manually)
121
+ | Command | Description |
122
+ |---|---|
123
+ | `install all` | Non-interactive global install to all detected targets (installs `gitnexus` globally) |
124
+ | `install basic` | Interactive global installation |
125
+ | `install project <name>` | Install specific project skills (e.g., `tdd-guard`, `service-skills-set`) |
126
+ | `project init` | Onboarding: runs `gitnexus analyze`, registers MCP, and runs `bd init` |
127
+ | `status` | Read-only diff view showing what would change (with inline sync prompt) |
128
+ | `clean` | Removes orphaned hooks, stale wrappers, and dead skills from your system |
129
+ | `reset` | Clear saved CLI preferences |
476
130
 
477
131
  ---
478
132
 
479
133
  ## Configuration
480
134
 
481
- ### MCP Servers (Unified CLI Sync)
135
+ ### MCP Servers
482
136
 
483
- MCP servers are configured from canonical sources and synced via official CLI commands.
137
+ Unified CLI sync configures core servers securely.
484
138
 
485
- **Core Servers** (installed by default):
486
- - **serena**: Code analysis (requires `uvx`, auto project detection)
487
- - **context7**: Documentation lookup (requires API key)
488
- - **github-grep**: Code search across GitHub
139
+ **Core Servers**:
140
+ - **serena**: Code analysis (requires `uvx`)
141
+ - **context7**: Documentation lookup (requires `CONTEXT7_API_KEY`)
142
+ - **github-grep**: Code search
489
143
  - **deepwiki**: Technical documentation
144
+ - **gitnexus**: Knowledge graph code intelligence (registered during `xtrm project init`)
490
145
 
491
- **Optional Servers** (multiselect during sync):
492
- - **unitAI**: Multi-agent workflow orchestration (requires `npx`)
493
- - **omni-search-engine**: Local search engine (requires running service on port 8765)
494
- - **gitnexus**: Knowledge graph code intelligence (requires `npm install -g gitnexus` + `npx gitnexus analyze` per project)
495
-
496
- **Configuration Files**:
497
- - Core: [`config/mcp_servers.json`](config/mcp_servers.json)
498
- - Optional: [`config/mcp_servers_optional.json`](config/mcp_servers_optional.json)
499
- - Environment: [`~/.config/xtrm-tools/.env`](~/.config/xtrm-tools/.env) (auto-created)
500
-
501
- **Environment Variables**:
502
- - **Location:** `~/.config/xtrm-tools/.env` (created automatically on first sync)
503
- - **Required:** `CONTEXT7_API_KEY` for context7 server
504
- - **Validation:** Interactive prompts for missing API keys during sync
505
- - **Persistence:** Values preserved across syncs; never overwritten
506
- - Edit `~/.config/xtrm-tools/.env` to add your API keys manually
507
-
508
- **Unified MCP CLI Sync**:
509
- - Uses official `claude mcp add` / `claude mcp list` commands
510
- - **Idempotent:** Re-running is always safe — skips already-installed servers
511
- - **Deduplication:** Prevents same server from syncing N times when multiple dirs selected
512
- - **Prerequisite auto-install:** Runs `npm install -g gitnexus` automatically when selected
513
- - **Post-install guidance:** Shows required next steps (e.g., `npx gitnexus analyze`)
514
- - **Timeout protection:** 10s timeout on CLI calls to prevent hangs
515
- - **Clean errors:** User-friendly messages (no stack traces)
516
-
517
- **Scopes**:
518
- - Global installs (`xtrm install`, `xtrm install all`, `xtrm install basic`) sync MCP into Claude global config
519
- - Project installs (`xtrm install project <name|all>`) sync core MCP at project scope (`-s project`)
520
-
521
- **Supported Agent**:
522
- - Claude Code
523
-
524
- **Deprecated**:
525
- - JSON file MCP sync (superseded by official CLI method)
526
- - Repo `.env` files — use centralized `~/.config/xtrm-tools/.env`
527
-
528
- **Documentation**: See [docs/mcp-servers-config.md](docs/mcp-servers-config.md) for complete setup guide.
529
-
530
- ### Skill Suggestions
531
-
532
- Enable/disable proactive skill suggestions:
533
-
534
- ```json
535
- // ~/.claude/settings.json
536
- {
537
- "skillSuggestions": {
538
- "enabled": true // Set to false to disable
539
- }
540
- }
541
- ```
542
-
543
- ### Hook Timeouts
544
-
545
- Adjust hook execution timeouts in `settings.json`:
546
-
547
- ```json
548
- {
549
- "hooks": {
550
- "UserPromptSubmit": [{
551
- "hooks": [{
552
- "timeout": 5000 // Timeout in milliseconds (5000ms = 5 seconds)
553
- }]
554
- }]
555
- }
556
- }
557
- ```
558
-
559
- ### Service Skills Set (Trinity) — v1.5.0
560
-
561
- Project-specific operational knowledge system for Docker service projects. Gives Claude persistent, service-specific expertise without re-explaining architecture every session.
562
-
563
- **Three Workflow Skills (Trinity)**:
564
-
565
- | Skill | Role | Invocation |
566
- |---|---|---|
567
- | `creating-service-skills` | Builds new skill packages via 3-phase workflow | `/creating-service-skills` |
568
- | `using-service-skills` | Discovers and activates expert personas | Auto (SessionStart hook) |
569
- | `updating-service-skills` | Detects drift when code changes | Auto (PostToolUse hook) |
570
-
571
- **Five Hooks**:
572
-
573
- | Hook | Type | Trigger | Effect |
574
- |---|---|---|---|
575
- | `SessionStart` | Claude Code | Session opens | Injects ~150-token service catalog |
576
- | `PreToolUse` | Claude Code | Read/Write/Edit/Grep/Glob/Bash | Checks territory; injects skill load reminder |
577
- | `PostToolUse` | Claude Code | Write/Edit | Detects drift; notifies to sync docs |
578
- | `pre-commit` | Git | `git commit` | Warns if source changed without SSOT update (non-blocking) |
579
- | `pre-push` | Git | `git push` | Warns if service skills are stale (non-blocking) |
580
-
581
- **Generated Skill Package Structure**:
582
-
583
- ```
584
- .claude/skills/<service-name>/
585
- ├── SKILL.md — architecture, failure modes, common operations
586
- ├── scripts/
587
- │ ├── health_probe.py — container status + table freshness
588
- │ ├── log_hunter.py — service-specific log analysis
589
- │ ├── data_explorer.py — read-only DB inspection
590
- │ └── <specialist>.py — service-type-specific inspector
591
- └── references/
592
- ├── deep_dive.md — Phase 2 research notes
593
- └── architecture_ssot.md — link to project SSOT
594
- ```
595
-
596
- **Installation** (run from inside target project):
597
-
598
- ```bash
599
- cd ~/projects/my-project
600
- python3 /path/to/xtrm-tools/project-skills/service-skills-set/install-service-skills.py
601
- ```
146
+ Configured via `~/.config/xtrm-tools/.env`. Run `xtrm install basic` to sync interactively.
602
147
 
603
- - Idempotent — safe to re-run after updates
604
- - Installs Trinity skills into `.claude/skills/`
605
- - Wires `settings.json` hooks (SessionStart, PreToolUse, PostToolUse)
606
- - Activates git hooks (`pre-commit`, `pre-push`)
607
-
608
- **Creating a Service Skill** (`/creating-service-skills`):
609
-
610
- **Phase 1 — Automated Skeleton**:
611
- ```bash
612
- python3 scaffolder.py create <service-id> <territory-path> "<description>"
613
- ```
614
- - Reads `docker-compose*.yml`, `Dockerfile`, dependency files
615
- - Produces `SKILL.md` with `[PENDING RESEARCH]` markers
616
- - Generates script stubs in `scripts/`
617
- - Auto-detects official docs from image tags and package files
618
- - Creates entry in `.claude/skills/service-registry.json`
619
-
620
- **Phase 2 — Agentic Deep Dive**:
621
- - Uses Serena LSP tools (not raw file reads) for 75-80% token savings
622
- - Fills every `[PENDING RESEARCH]` marker with actual codebase knowledge
623
- - Sources troubleshooting tables from real failure modes
624
- - All scripts support `--json` output
625
-
626
- **Phase 3 — Hook Registration**:
627
- - Verifies `PreToolUse` hook in `.claude/settings.json`
628
- - Confirms service territory globs in registry
629
- - Informs user: skill now auto-activates on territory file access and service-name commands
630
-
631
- **Auto-activation**:
632
- Once registered, skills activate automatically when Claude:
633
- - Operates on files matching territory globs (e.g., `src/auth/**/*.py`)
634
- - Runs Bash commands mentioning service/container name
635
-
636
- **Documentation**: See [project-skills/service-skills-set/service-skills-readme.md](project-skills/service-skills-set/service-skills-readme.md) for complete guide.
637
-
638
- ## Documentation
639
-
640
- ### Core Documentation
641
- - [README.md](README.md) - Main documentation and quick start
642
- - [CHANGELOG.md](CHANGELOG.md) - Version history and breaking changes
643
- - [ROADMAP.md](ROADMAP.md) - Future enhancements and planned features
644
- - [AGENTS.md](AGENTS.md) - GitNexus + bd (beads) quick reference
645
- - [CLAUDE.md](CLAUDE.md) - Claude Code development guide
646
- - [hooks.md](hooks.md) - Global hooks module reference
647
- - [skills.md](skills.md) - Global skills catalog
648
- - [project-skills.md](project-skills.md) - Project-local skills reference
649
- - [mcp.md](mcp.md) - MCP servers configuration
650
- - [testing.md](testing.md) - Production live testing checklist
651
-
652
- ### Skill Documentation
653
- - [skills/prompt-improving/README.md](skills/prompt-improving/README.md) - Prompt improvement skill
654
- - [skills/delegating/SKILL.md](skills/delegating/SKILL.md) - Delegation workflow guide
655
- - [skills/obsidian-cli/SKILL.md](skills/obsidian-cli/SKILL.md) - Obsidian CLI reference
656
- - [hooks/README.md](hooks/README.md) - Complete hooks reference
657
- - [project-skills/service-skills-set/service-skills-readme.md](project-skills/service-skills-set/service-skills-readme.md) - Service Skills Set (Trinity) guide
658
-
659
- ### MCP Configuration
660
- - [docs/mcp-servers-config.md](docs/mcp-servers-config.md) - MCP servers setup guide
661
- - [config/mcp_servers.json](config/mcp_servers.json) - Core MCP servers (canonical source)
662
- - [config/mcp_servers_optional.json](config/mcp_servers_optional.json) - Optional MCP servers
663
-
664
- ### Implementation Plans
665
- - [docs/plans/](docs/plans/) - Design documents and implementation plans
666
- - [docs/plans/complete/](docs/plans/complete/) - Completed implementation plans
148
+ ---
667
149
 
668
150
  ## Version History
669
151
 
670
- | Version | Date | Highlights |
671
- | ------- | ---------- | -------------------------------------------------- |
672
- | 2.1.9 | 2026-03-15 | Main-guard post-push hook, quality-gates unified, gitnexus impact enforcement |
673
- | 2.1.8 | 2026-03-13 | Beads gate hooks hardening, service skills trinity updates |
674
- | 2.1.7 | 2026-03-12 | GitNexus impact analysis hook, onboarding improvements |
675
- | 2.1.0 | 2026-03-12 | Project skills engine, Claude Code-only focus, CLI rebrand |
676
- | 1.7.0 | 2026-02-25 | GitNexus integration, unified 3-phase sync, MCP CLI sync, env management |
677
- | 1.6.0 | 2026-02-24 | Documenting skill hardening (drift detection, INDEX blocks) |
678
- | 1.5.0 | 2026-02-23 | Service Skills Set (Trinity), git hooks, auto-activation |
679
- | 1.4.0 | 2026-02-23 | Delegating skill hardening, skill-suggestion hook enhancements |
680
- | 1.3.0 | 2026-02-22 | CLI UX improvements (spinners, safety, feedback) |
681
- | 1.2.0 | 2026-02-21 | CLI rewritten in TypeScript, Commander.js sub-cmds |
682
- | 1.1.1 | 2026-02-03 | Dynamic path resolution in Sync logic |
683
- | 1.1.0 | 2026-02-03 | Vault Sync, Orchestrating-agents loops |
684
- | 5.1.0 | 2026-01-30 | Renamed `p` to `prompt-improving` |
685
- | 5.0.0 | 2026-01-30 | Major refactoring, 90% token reduction |
686
- | 4.2.0 | Pre-2026 | Feature-rich baseline (155KB) |
687
-
688
- See [CHANGELOG.md](CHANGELOG.md) for complete version history.
689
-
690
- ## Repository Structure
691
-
692
- ```
693
- xtrm-tools/
694
- ├── README.md # This file
695
- ├── CHANGELOG.md # Version history
696
- ├── ROADMAP.md # Future plans
697
- ├── AGENTS.md # GitNexus quick reference
698
- ├── CLAUDE.md # Claude Code development guide
699
-
700
- ├── cli/ # Config Manager CLI (TypeScript)
701
- │ ├── src/
702
- │ │ ├── index.ts # Entry point (Commander program)
703
- │ │ ├── commands/ # install.ts, install-project.ts, status.ts, reset.ts, help.ts
704
- │ │ ├── adapters/ # base, claude, gemini, qwen, registry
705
- │ │ ├── core/ # context, diff, sync-executor, manifest, rollback
706
- │ │ ├── utils/ # hash, atomic-config, config-adapter, env-manager, theme…
707
- │ │ └── types/ # Zod schemas (config.ts) + shared interfaces (models.ts)
708
- │ ├── dist/ # Compiled output (generated by `npm run build`)
709
- │ ├── tsconfig.json
710
- │ ├── tsup.config.ts
711
- │ └── package.json
712
-
713
- ├── skills/ # Core agent skills
714
- │ ├── prompt-improving/ # Prompt improvement skill
715
- │ ├── delegating/ # Task delegation skill (CCS + unitAI)
716
- │ ├── orchestrating-agents/ # Multi-agent collaboration skill
717
- │ ├── using-serena-lsp/ # Serena LSP workflow
718
- │ ├── documenting/ # Serena SSOT system (with drift detection)
719
- │ ├── obsidian-cli/ # Obsidian CLI skill
720
- │ ├── gitnexus/ # GitNexus knowledge graph skills (4 skills)
721
- │ │ ├── exploring/ # Architecture understanding
722
- │ │ ├── debugging/ # Bug tracing
723
- │ │ ├── impact-analysis/ # Blast radius analysis
724
- │ │ └── refactoring/ # Surgical refactors
725
- │ ├── clean-code/ # Clean code principles
726
- │ ├── docker-expert/ # Docker containerization expert
727
- │ ├── python-testing/ # Python testing strategies
728
- │ ├── python-type-safety/ # Python type safety
729
- │ ├── senior-backend/ # Backend development expert
730
- │ ├── senior-data-scientist/ # Data science expert
731
- │ ├── senior-devops/ # DevOps expert
732
- │ ├── senior-security/ # Security engineering expert
733
- │ ├── skill-creator/ # Skill creation guide
734
- │ └── find-skills/ # Skill discovery helper
735
-
736
- ├── hooks/ # Claude Code hooks
737
- │ ├── README.md # Hooks documentation
738
- │ ├── skill-suggestion.py # Skill auto-suggestion
739
- │ ├── skill-discovery.py # SessionStart skill catalog injection
740
- │ ├── serena-workflow-reminder.py # Serena reminder
741
- │ ├── type-safety-enforcement.py # Type safety
742
- │ ├── gitnexus/
743
- │ │ └── gitnexus-hook.cjs # PreToolUse knowledge graph enrichment
744
- │ └── main-guard.mjs # Protected-branch edit guard
745
-
746
- ├── config/ # Canonical configuration
747
- │ ├── mcp_servers.json # Core MCP servers
748
- │ ├── mcp_servers_optional.json # Optional MCP servers (gitnexus, unitAI, omni-search)
749
- │ └── settings.json # Base settings template
750
-
751
- ├── project-skills/ # Project-specific service skills
752
- │ └── service-skills-set/ # Trinity system for Docker service projects
753
- │ ├── install-service-skills.py # Installer script
754
- │ ├── service-skills-readme.md # Complete guide
755
- │ └── .claude/
756
- │ ├── settings.json # Settings template with hooks
757
- │ ├── creating-service-skills/
758
- │ ├── using-service-skills/
759
- │ ├── updating-service-skills/
760
- │ ├── scoping-service-skills/
761
- │ └── git-hooks/
762
-
763
- ├── docs/ # Documentation
764
- │ ├── mcp-servers-config.md # MCP setup guide
765
- │ ├── todo.md # TODO list
766
- │ └── plans/ # Implementation plans
767
- │ ├── complete/ # Completed plans
768
- │ └── *.md # Active design documents
769
-
770
- └── .github/
771
- └── workflows/
772
- └── ci.yml # CI/CD pipeline (lint, test, build)
773
- ```
774
-
775
- ## Contributing
776
-
777
- Contributions are welcome. Please:
152
+ | Version | Date | Highlights |
153
+ |---|---|---|
154
+ | 2.1.20 | 2026-03-16 | `xtrm clean` command, compact hook messages, `pruneStaleWrappers` fixes |
155
+ | 2.1.18 | 2026-03-16 | `PreCompact` / `SessionStart` hooks to preserve `in_progress` beads state |
156
+ | 2.1.16 | 2026-03-15 | Removed deprecated skill-suggestion, gitnexus-impact-reminder hooks |
157
+ | 2.1.14 | 2026-03-15 | Rewrote gitnexus-hook as PostToolUse with Serena; added `using-xtrm` skill |
158
+ | 2.1.9 | 2026-03-15 | `main-guard` enforced PR-only workflow, `--squash` requirement, npm publish |
778
159
 
779
- 1. Follow existing code style
780
- 2. Update documentation for any changes
781
- 3. Test skills and hooks before submitting
782
- 4. Update CHANGELOG.md for all changes
160
+ See [CHANGELOG.md](CHANGELOG.md) for full history.
783
161
 
784
162
  ## License
785
163
 
786
164
  MIT License - See LICENSE file for details.
787
-
788
- ## Credits
789
-
790
- - Developed by Dawid Jaggers
791
- - Serena skills and hooks courtesy of Serena MCP project
792
- - Built for Claude Code by Anthropic