xtrm-tools 0.7.19 → 0.7.20

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.
@@ -621,7 +621,7 @@ sp merge <impl>
621
621
  bd close <task> --reason "Reviewer PASS; merged."
622
622
  ```
623
623
 
624
- Edit-capable specialists with `--bead` auto-provision a worktree. `--worktree` is accepted for clarity but usually unnecessary. Use `--job <exec-job>` for reviewer/fix passes that must enter existing executor workspace.
624
+ Edit-capable specialists with `--bead` auto-provision a clean git worktree. This does **not** provision ignored project dependency artifacts (`node_modules/`, `.venv/`, build caches). If validation tools are missing inside that worktree, have the specialist run the repo's standard bootstrap command (`make bootstrap`, `just setup`, `npm ci`, `uv sync`, etc.) or report that bootstrap is required; do not solve it by tracking dependency directories. `--worktree` is accepted for clarity but usually unnecessary. Use `--job <exec-job>` for reviewer/fix passes that must enter existing executor workspace.
625
625
 
626
626
  What differs: orchestrator carries full bead contract inline, so downstream specialists inherit the actual job shape, not a title.
627
627
 
@@ -1049,6 +1049,7 @@ Then choose one action:
1049
1049
  | `sp merge` refuses with "non-terminal chain jobs" after reviewer PASS | Auto-finalize did not fire (PASS arrived via `sp resume`, not streaming) | `sp finalize <any-chain-job-id>` — cascades to close every waiting keep-alive member |
1050
1050
  | `sp epic merge` says epic is "in terminal state 'failed'" | Prior `sp epic merge` hit a transient error (rebase conflict, dirty worktree) and persisted a soft `failed` marker | Clear the original conflict source, then re-run `sp epic merge` — it retries fresh, only `merged`/`abandoned` truly block |
1051
1051
  | `sp epic merge` says "rebase failed: unstaged changes" in a worktree | bd auto-export or other tooling left uncommitted changes inside the worktree | `cd .worktrees/<bead>/<bead>-executor && git stash push -u -m epic-merge-prep`, then re-run from main repo |
1052
+ | Validation fails with `command not found`, `vitest: not found`, missing Python tools, or `ERR_MODULE_NOT_FOUND` in a fresh worktree | Normal git worktree behavior: ignored dependency dirs (`node_modules/`, `.venv/`) are not copied into new worktrees | Run the repo's standard bootstrap inside that worktree (`make bootstrap`, `just setup`, `npm ci`, `uv sync`, etc.) or report bootstrap-required. Do not track dependency artifacts. |
1052
1053
  | `sp ps` shows old terminal jobs after a session | Default dashboard keeps unresolved terminal problems visible until acknowledged | `sp clean --ps --dry-run`, then `sp clean --ps` to soft-hide from default ps; use `sp ps --include-cleaned`/`--all` for audit history |
1053
1054
  | Reviewer keeps returning PARTIAL on functional contracts already met | Reviewer demanding tool-event evidence — typically obsoleted after the gate relaxation, but if it persists check the executor's `gitnexus_detect_changes` ran and use the rebuttal pattern (see Specialist Rebuttal As Routine) | Rebut with cited evidence; second FAIL = escalate |
1054
1055
  | Multiple `sp run` background launches drop silently under shell parallelism | Known launch-ceremony race | Re-check `sp ps` after each dispatch and retry the missing one; serialize when reliability matters |
@@ -39,6 +39,10 @@ Use these command surfaces when the task is operational rather than code-editing
39
39
  | Close a session report | update latest same-day `.xtrm/reports/<date>-*.md` | `session-close-report` prefers one same-day SSOT handoff; do not create duplicate reports unless asked. |
40
40
 
41
41
 
42
+ ### Worktree dependency setup
43
+
44
+ `xt claude` / `xt pi` sessions use clean git worktrees. Git does not copy ignored dependency artifacts such as `node_modules/`, `.venv/`, build caches, or generated outputs. If a repo's lint/tests need those files, run the repo's normal bootstrap inside the worktree (`make bootstrap`, `just setup`, `npm ci`, `uv sync`, etc.). Do not track dependency directories to make worktrees pass.
45
+
42
46
  ---
43
47
 
44
48
  ## Trigger Patterns
package/CHANGELOG.md CHANGED
@@ -9,6 +9,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [v0.7.20] - 2026-05-15
13
+
14
+ ### Added
15
+ - `@jaggerxtrm/pi-extensions`: new `sp-terminal-overlay` managed Pi extension with `/sp-feed`, `/sp-ps` (`/xtrm-ps` alias), and `/xtrm-terminal <command>` overlay commands for streaming specialist feed/dashboard output inside Pi. The overlay is centered, fixed-height, scrollable, throttles live redraws, and preserves safe SGR colors for append-style `sp feed` output. (xtrm-3e4n)
16
+
17
+ ### Changed
18
+ - `xtrm-ui`: non-native/external tool output can now use selectable chrome via `/xtrm-ui chrome background|box` or `/xtrm-ui-external-chrome background|box`; background mode uses native-density full-row cold tinting with a brighter tool-name badge, while box mode keeps the tight framed style. `structured_return` and `process` now share the compact summary treatment used for Serena/GitNexus tools and retain expanded-output behavior. (xtrm-3e4n)
19
+ - Decision for GitHub #257: xtrm will not provision or track per-worktree dependency artifacts. `xt claude` / `xt pi` launch output and xtrm/specialist guidance now explain that clean git worktrees omit ignored directories such as `node_modules/` and `.venv/`, and instruct users to run the repo's normal bootstrap inside the worktree (`make bootstrap`, `just setup`, `npm ci`, `uv sync`, etc.) when lint/tests need those dependencies. (xtrm-tbih / #257)
20
+
12
21
  ## [0.7.19] - 2026-05-14
13
22
 
14
23
  ### Fixed
package/README.md CHANGED
@@ -22,13 +22,13 @@ The `planning` skill generates a structured issue board from any spec or idea
22
22
 
23
23
  A live statusline renders in every Claude Code session: active claim, open issue count, model, context window health (color-coded truecolor gradient), and token usage — all in a single line below the prompt. No configuration required after `xtrm init`.
24
24
 
25
- ### Specialists *(upcoming)*
25
+ ### Specialists
26
26
 
27
- Native integration with the [specialists](https://github.com/Jaggerxtrm/specialists) framework spawning purpose-built sub-agents for parallel workloads, code review, and long-running background tasks directly from within a session.
27
+ Specialists are first-class in v0.7.19. `xtrm-tools` vendors specialist skills into `.xtrm/skills/default/`, keeps user fallback under `~/.xtrm/skills/default/`, and runs the release-contract handshake through `.github/workflows/specialists-validation.yml`. `sp` is a runtime prerequisite for specialist commands.
28
28
 
29
29
  ---
30
30
 
31
- **Version 0.7.1** | [Complete Guide](XTRM-GUIDE.md) | [Changelog](CHANGELOG.md)
31
+ **Version 0.7.19** | [Complete Guide](XTRM-GUIDE.md) | [Changelog](CHANGELOG.md)
32
32
 
33
33
  ---
34
34
 
@@ -40,6 +40,10 @@ Native integration with the [specialists](https://github.com/Jaggerxtrm/speciali
40
40
  | [docs/hooks.md](docs/hooks.md) | All hooks — event wiring, gate logic, order, authoring |
41
41
  | [docs/policies.md](docs/policies.md) | Policy system — compiler, schema, Claude/Pi parity |
42
42
  | [docs/skills.md](docs/skills.md) | Skills catalog — all skills, categories, how they load |
43
+ | [docs/release.md](docs/release.md) | Release contract — specialists handshake, publish gates, runtime prereqs |
44
+ | [docs/skills-ownership.md](docs/skills-ownership.md) | Skills ownership — vendored vs owned skills, publish contract |
45
+ | [docs/xtrm-directory.md](docs/xtrm-directory.md) | `.xtrm/` directory layout — managed assets and user fallback |
46
+ | [docs/skills-tier-architecture.md](docs/skills-tier-architecture.md) | Skills tiers — default, optional, user fallback |
43
47
  | [docs/pi-extensions.md](docs/pi-extensions.md) | Pi extensions — managed sync, authoring, parity notes |
44
48
  | [docs/worktrees.md](docs/worktrees.md) | xt worktrees — `xt claude/pi`, `xt attach`, `xt end`, isolation model |
45
49
  | [docs/mcp-servers.md](docs/mcp-servers.md) | MCP servers — gitnexus, github-grep, deepwiki, official plugins |
@@ -57,14 +61,14 @@ Native integration with the [specialists](https://github.com/Jaggerxtrm/speciali
57
61
 
58
62
  ```bash
59
63
  # Install globally (one-time)
60
- npm install -g github:Jaggerxtrm/xtrm-tools@latest
64
+ npm install -g xtrm-tools
61
65
 
62
66
  # Set up xtrm in your project
63
67
  xtrm init
64
68
 
65
69
  # Verify
66
70
  claude plugin list
67
- # → xtrm-tools@xtrm-tools Version: 0.7.1 Status: enabled
71
+ # → xtrm-tools@xtrm-tools Version: 0.7.19 Status: enabled
68
72
  ```
69
73
 
70
74
  **One-line run:**
@@ -130,7 +134,13 @@ These skills implement the xtrm-specific development workflow — session manage
130
134
  | `planning` | Structured issue board from any spec, with phases and deps |
131
135
  | `test-planning` | Test coverage planning alongside implementation work |
132
136
  | `delegating` | Cost-optimized task delegation to background agents |
133
- | `using-specialists` | Specialist routing and execution workflow (`specialists run/feed/result`) |
137
+ | `using-specialists-v3` | Specialist routing and execution workflow (current vendored contract) |
138
+ | `using-specialists-auto` | Auto-mode specialists execution and handoff flow |
139
+ | `update-specialists` | Sync vendored specialists skills from upstream source |
140
+ | `releasing` | Release-contract workflow and publish gating |
141
+ | `xt-debugging` | Runtime debugging, traces, and failure triage |
142
+ | `init-session` | Session bootstrap and context setup |
143
+ | `session-close-report` | End-of-session report generation and handoff |
134
144
  | `orchestrating-agents` | Multi-model orchestration (Gemini, Qwen handshake) |
135
145
  | `documenting` | SSOT doc maintenance with drift detection |
136
146
  | `sync-docs` | Doc audit and structural sync across a sprint |
@@ -197,30 +207,30 @@ xtrm <command> [options]
197
207
 
198
208
  | Command | Description |
199
209
  |---------|-------------|
200
- | `install` | Install plugin + beads + gitnexus (interactive target selection) |
201
- | `init` | Initialize project (bd, gitnexus, service-registry) |
210
+ | `claude` | Launch Claude Code in a sandboxed worktree |
211
+ | `pi` | Launch Pi in a sandboxed worktree |
212
+ | `init` | Bootstrap xtrm with phased installer: machine → Claude → Pi → project |
202
213
  | `status` | Read-only diff view |
214
+ | `reset` | Reset xtrm-managed state |
203
215
  | `clean` | Remove orphaned hooks |
204
- | `claude [name]` | Launch Claude Code in a sandboxed `xt/<name>` worktree |
205
- | `pi [name]` | Launch Pi in a sandboxed `xt/<name>` worktree |
206
- | `attach [slug]` | Re-attach to an existing worktree and resume the Claude or Pi session |
207
216
  | `end` | Close worktree session: rebase, push, PR, cleanup |
208
- | `memory update` | Run `memory-processor` to synthesize bd memories + repo state into `.xtrm/memory.md` |
209
- | `update` | Refresh xtrm-managed files for one repo or many (`--apply`, `--repo <path>`, `--root <dir>`, `--json`) |
210
- | `release prepare` | Prepare a release from xt reports and changelog drafting (`--major`, `--minor`, `--patch`, `--from`, `--to`) |
211
- | `release publish` | Publish a prepared release with annotated tag/push and optional GitHub release |
212
- | `merge` | Drain queued `xt/*` PRs via `xt-merge`: FIFO CI gate → rebase merge → rebase cascade |
213
- | `worktree list` | List active `xt/*` worktrees with runtime, last activity, and resume hint |
214
- | `worktree clean` | Remove merged worktrees |
215
- | `docs` | Documentation inspection and drift-check suite (`xtrm docs --help`) |
216
- | `docs show` | Display frontmatter for README, CHANGELOG, docs/*.md |
217
- | `docs list` | Inventory markdown docs with filters, summaries, and optional cache bypass |
218
- | `docs cross-check` | Compare docs against recent PR activity and closed bd issues |
217
+ | `worktree` | Worktree operations: list and clean |
218
+ | `attach` | Re-attach to an existing worktree and resume the Claude or Pi session |
219
+ | `docs` | Documentation inspection and drift-check suite |
220
+ | `memory` | Memory synthesis and update flow |
221
+ | `merge` | Drain queued `xt/*` PRs via `xt-merge` |
219
222
  | `debug` | Watch hook and bd lifecycle events in real time |
223
+ | `report` | Session and workflow report generation |
224
+ | `skills` | Skills catalog and enable/disable management |
225
+ | `claude-sync` | Sync Claude-specific settings and managed state |
226
+ | `doctor` | Health checks, drift, and Pi package reporting |
227
+ | `update` | Refresh xtrm-managed files for one repo or many |
228
+ | `release` | Release flow and publish helpers |
229
+ | `help` | Show command help |
220
230
 
221
231
  **Flags:** `--yes / -y` (non-interactive), `--dry-run` (preview), `--prune` (force-replace hooks)
222
232
 
223
- For detailed docs command usage, see [docs/docs-commands.md](docs/docs-commands.md) or run `xtrm docs --help` / `xtrm docs cross-check --help`. For release flow details, run `xt release --help`; `xt release prepare` currently depends on the specialists changelog script compatibility tracked by `unitAI-dnmcg`.
233
+ For detailed docs command usage, see [docs/docs-commands.md](docs/docs-commands.md) or run `xtrm docs --help` / `xtrm docs cross-check --help`. For release flow details, see [docs/release.md](docs/release.md); the release skill drives the contract directly and does not rely on the deprecated `xt release prepare/publish` flow.
224
234
 
225
235
  See [docs/cli-architecture.md](docs/cli-architecture.md) for internals.
226
236
 
@@ -266,11 +276,13 @@ See [XTRM-GUIDE.md](XTRM-GUIDE.md) for the full `bd` command reference.
266
276
 
267
277
  | Version | Date | Highlights |
268
278
  |---------|------|------------|
269
- | 0.7.1 | 2026-04-02 | Optional packs pre-populated on install; Pi core symlink path fix; new default skills (`deepwiki`, `specialists-creator`, `using-specialists`) |
270
- | 0.5.30 | 2026-03-22 | Fix statusline on fresh installs; `xt end --dry-run` |
271
- | 0.5.29 | 2026-03-22 | Statusline truecolor gradient; `--no-verify` autocommit; xt-merge skill |
272
- | 0.5.24 | 2026-03-21 | Hash-based docs drift detection; CLI docs cleanup |
273
- | 0.5.20 | 2026-03-21 | `xtrm docs show`; worktree-boundary hook; statusline injection |
279
+ | 0.7.19 | 2026-05-14 | README, CLI, and docs synced to shipped npm package; release-contract and specialists workflow fully documented |
280
+ | 0.7.18 | 2026-05-13 | Specialists became first-class; vendored specialist skills, release-contract handshake, `npm publish --provenance`, Pi package health reporting, security pipeline |
281
+ | 0.7.17 | 2026-05-12 | Skills ownership and vendoring contract tightened; user fallback under `~/.xtrm/skills/default` documented |
282
+ | 0.7.16 | 2026-05-11 | CLI and docs drift cleanup; workflow orchestration polish |
283
+ | 0.7.15 | 2026-05-10 | Session and hooks maintenance; publish prep hardening |
284
+ | 0.7.14 | 2026-05-09 | Worktree and statusline refinements |
285
+ | 0.7.13 | 2026-05-08 | Core workflow stability updates |
274
286
 
275
287
  See [CHANGELOG.md](CHANGELOG.md) for full history.
276
288
 
@@ -55228,6 +55228,8 @@ async function launchWorktreeSession(opts) {
55228
55228
  console.log(kleur_default.green(`
55229
55229
  \u2713 Worktree ready \u2014 launching ${runtime}...
55230
55230
  `));
55231
+ console.log(kleur_default.dim(" note: clean git worktrees do not include ignored dependency dirs like node_modules/ or .venv/"));
55232
+ console.log(kleur_default.dim(" if lint/tests need them, run this repo's normal bootstrap inside the worktree (make bootstrap, just setup, npm ci, uv sync, etc.)\n"));
55231
55233
  if (runtime === "claude") {
55232
55234
  const claudeDir = import_node_path5.default.join(worktreePath, ".claude");
55233
55235
  try {