xtrm-tools 0.5.0 → 0.5.1
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/CHANGELOG.md +34 -6
- package/cli/dist/index.cjs +4 -4
- package/cli/dist/index.cjs.map +1 -1
- package/cli/package.json +1 -1
- package/hooks/beads-commit-gate.mjs +2 -12
- package/hooks/beads-edit-gate.mjs +2 -9
- package/package.json +4 -3
package/CHANGELOG.md
CHANGED
|
@@ -9,19 +9,47 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
9
9
|
|
|
10
10
|
## [Unreleased]
|
|
11
11
|
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## [0.5.0] - 2026-03-20
|
|
15
|
+
|
|
12
16
|
### Added
|
|
13
17
|
|
|
14
|
-
|
|
15
|
-
- **`
|
|
18
|
+
#### xt CLI Redesign (epic hxmh)
|
|
19
|
+
- **`xt` binary alias**: `xt` registered as a secondary bin alias for `xtrm`
|
|
20
|
+
- **`xt claude` / `xt pi` runtime namespaces**: Session launcher with worktree-first flow; creates `<project>-xt-<runtime>-<date>` worktree, Dolt-bootstraps Beads server, execs the agent
|
|
21
|
+
- **`xt claude install/reload/status/doctor`** and **`xt pi install/setup/status/doctor/reload`**: Per-runtime management subcommands
|
|
22
|
+
- **`xt end`**: Session close — `xt/*` branch gate, dirty-tree gate, rebase `origin/main`, `--force-with-lease` push, `gh pr create`, optional worktree removal
|
|
23
|
+
- **`xt worktree list/clean/remove`**: List `xt/*` worktrees with merged status, batch-clean merged, manual remove
|
|
24
|
+
- **`xt init`**: Project init command
|
|
25
|
+
- **`skills/xt-end/SKILL.md`**: Autonomous session-close skill for agents
|
|
26
|
+
|
|
27
|
+
#### Pi Extensions — Directory Package Format
|
|
28
|
+
- All 13 Pi extensions converted from flat `.ts` files to directory packages: `<name>/index.ts` + `<name>/package.json` with `exports` field
|
|
29
|
+
- Format: `{"name": "@xtrm/pi-<name>", "version": "1.0.0", "type": "module", "exports": {".": "./index.ts"}}`
|
|
30
|
+
|
|
31
|
+
#### Pi Installer Improvements
|
|
32
|
+
- `xtrm pi install` now registers each extension via `pi install -l <path>` after copying
|
|
33
|
+
- `diffPiExtensions` now compares extension directories using `sha256(package.json + index.ts)`
|
|
34
|
+
|
|
35
|
+
### Changed
|
|
36
|
+
|
|
37
|
+
- **`xtrm install all` / `basic`** now print a deprecation notice; primary entry point is `xtrm install`
|
|
38
|
+
- **Project namespace removed**: `xtrm install project <name>` removed
|
|
39
|
+
- **Gemini/Qwen scoped out**: no longer surfaced in `xtrm --help`
|
|
40
|
+
- **`exitOverride` fix**: `--help` now exits `0` instead of `1`
|
|
41
|
+
- **Version restarted at `0.5.0`** (was `2.4.6`)
|
|
16
42
|
|
|
17
43
|
### Fixed
|
|
18
44
|
|
|
19
|
-
- **
|
|
20
|
-
- **
|
|
45
|
+
- **Pi extensions not loadable**: flat `.ts` files were silently ignored — Pi requires directory packages with `package.json` + `exports`
|
|
46
|
+
- **Claude-only target detection**: `xtrm install all` enumerates Claude Code targets only
|
|
47
|
+
- **Project-skill install-all coverage**: regression tests verify merged hook counts and copied assets
|
|
21
48
|
|
|
22
|
-
###
|
|
49
|
+
### Previous Unreleased
|
|
23
50
|
|
|
24
|
-
-
|
|
51
|
+
- **`AGENTS.md` — bd (beads) issue tracking section**: comprehensive `bd` CLI reference
|
|
52
|
+
- **`xtrm install project all` / `xtrm install project '*'`**: non-interactive project skill install
|
|
25
53
|
|
|
26
54
|
---
|
|
27
55
|
|
package/cli/dist/index.cjs
CHANGED
|
@@ -35753,7 +35753,7 @@ var import_os2 = __toESM(require("os"), 1);
|
|
|
35753
35753
|
var import_path = __toESM(require("path"), 1);
|
|
35754
35754
|
var import_fs_extra = __toESM(require_lib2(), 1);
|
|
35755
35755
|
|
|
35756
|
-
//
|
|
35756
|
+
// node_modules/conf/dist/source/index.js
|
|
35757
35757
|
var import_node_util3 = require("util");
|
|
35758
35758
|
var import_node_process10 = __toESM(require("process"), 1);
|
|
35759
35759
|
var import_node_fs3 = __toESM(require("fs"), 1);
|
|
@@ -36432,7 +36432,7 @@ function writeFileSync(filePath, data, options = DEFAULT_WRITE_OPTIONS) {
|
|
|
36432
36432
|
}
|
|
36433
36433
|
}
|
|
36434
36434
|
|
|
36435
|
-
//
|
|
36435
|
+
// node_modules/conf/dist/source/index.js
|
|
36436
36436
|
var import_ajv = __toESM(require_ajv(), 1);
|
|
36437
36437
|
var import_ajv_formats = __toESM(require_dist2(), 1);
|
|
36438
36438
|
|
|
@@ -36546,7 +36546,7 @@ var debounceFn = (inputFunction, options = {}) => {
|
|
|
36546
36546
|
};
|
|
36547
36547
|
var debounce_fn_default = debounceFn;
|
|
36548
36548
|
|
|
36549
|
-
//
|
|
36549
|
+
// node_modules/conf/dist/source/index.js
|
|
36550
36550
|
var import_semver = __toESM(require_semver2(), 1);
|
|
36551
36551
|
|
|
36552
36552
|
// ../node_modules/uint8array-extras/index.js
|
|
@@ -36588,7 +36588,7 @@ function stringToUint8Array(string4) {
|
|
|
36588
36588
|
}
|
|
36589
36589
|
var byteToHexLookupTable = Array.from({ length: 256 }, (_, index) => index.toString(16).padStart(2, "0"));
|
|
36590
36590
|
|
|
36591
|
-
//
|
|
36591
|
+
// node_modules/conf/dist/source/index.js
|
|
36592
36592
|
var Ajv = import_ajv.default.default;
|
|
36593
36593
|
var ajvFormats = import_ajv_formats.default.default;
|
|
36594
36594
|
var encryptionAlgorithm = "aes-256-cbc";
|