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.
- package/.xtrm/registry.json +330 -330
- package/.xtrm/skills/default/using-specialists-v3/SKILL.md +2 -1
- package/.xtrm/skills/default/using-xtrm/SKILL.md +4 -0
- package/CHANGELOG.md +9 -0
- package/README.md +40 -28
- package/cli/dist/index.cjs +2 -0
- package/cli/dist/index.cjs.map +1 -1
- package/cli/package.json +1 -1
- package/package.json +1 -1
- package/packages/pi-extensions/README.md +7 -0
- package/packages/pi-extensions/extensions/README.md +12 -0
- package/packages/pi-extensions/extensions/sp-terminal-overlay/index.ts +495 -0
- package/packages/pi-extensions/extensions/sp-terminal-overlay/package.json +15 -0
- package/packages/pi-extensions/extensions/xtrm-ui/format.ts +7 -2
- package/packages/pi-extensions/extensions/xtrm-ui/index.ts +436 -10
- package/packages/pi-extensions/package.json +1 -1
- package/packages/pi-extensions/src/extensions/sp-terminal-overlay.ts +3 -0
- package/packages/pi-extensions/src/registry.ts +2 -0
|
@@ -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
|
|
25
|
+
### Specialists
|
|
26
26
|
|
|
27
|
-
|
|
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.
|
|
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
|
|
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.
|
|
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 (
|
|
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
|
-
| `
|
|
201
|
-
| `
|
|
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
|
-
| `
|
|
209
|
-
| `
|
|
210
|
-
| `
|
|
211
|
-
| `
|
|
212
|
-
| `merge` | Drain queued `xt/*` PRs via `xt-merge
|
|
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,
|
|
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.
|
|
270
|
-
| 0.
|
|
271
|
-
| 0.
|
|
272
|
-
| 0.
|
|
273
|
-
| 0.
|
|
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
|
|
package/cli/dist/index.cjs
CHANGED
|
@@ -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 {
|