compound-agent 1.2.10 → 1.3.0
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 +65 -1
- package/README.md +11 -0
- package/dist/cli.js +2183 -367
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +9 -246
- package/dist/index.js +17 -15
- package/dist/index.js.map +1 -1
- package/package.json +4 -1
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,68 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
9
9
|
|
|
10
10
|
## [Unreleased]
|
|
11
11
|
|
|
12
|
+
## [1.3.0] - 2026-02-21
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- **Setup hardening**: Four new pre-flight checks during `ca init` and `ca setup`:
|
|
17
|
+
- **Beads CLI check** (`beads-check.ts`): Detects if `bd` is available, shows install URL if missing (informational, non-blocking)
|
|
18
|
+
- **User-scope detection** (`scope-check.ts`): Warns when installing at home directory level where lessons are shared across projects
|
|
19
|
+
- **.gitignore injection** (`gitignore.ts`): Ensures `node_modules/` and `.claude/.cache/` patterns exist in `.gitignore`
|
|
20
|
+
- **Upgrade detection** (`upgrade.ts`): Detects existing installs and runs migration pipeline (deprecated command removal, header stripping, doc version update)
|
|
21
|
+
- **Upgrade engine**: Automated migration from v1.2.x to v1.3.0:
|
|
22
|
+
- Removes 5 deprecated CLI wrapper commands (`search.md`, `list.md`, `show.md`, `stats.md`, `wrong.md`)
|
|
23
|
+
- Strips legacy `<!-- generated by compound-agent -->` headers from installed files
|
|
24
|
+
- Updates `HOW_TO_COMPOUND.md` version during upgrade
|
|
25
|
+
- **`/compound:research` skill**: PhD-depth research producing structured survey documents following `TEMPLATE_FOR_RESEARCH.md` format
|
|
26
|
+
- **`/compound:test-clean` skill**: 5-phase test suite optimization with adversarial review (audit, design, implement, verify, report)
|
|
27
|
+
- **Documentation template**: `HOW_TO_COMPOUND.md` deployed to `docs/compound/` during setup with version and date placeholders
|
|
28
|
+
- **Test scripts**: `test:segment` (run tests for specific module), `test:random` (seeded random subset), `test:critical` (*.critical.test.ts convention)
|
|
29
|
+
- **3 new doctor checks**: Beads CLI availability, `.gitignore` health, usage documentation presence
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
|
|
33
|
+
- **`setup --update --dry-run` no longer mutates files**: `runUpgrade()` now accepts a `dryRun` parameter propagated to all sub-functions (removeDeprecatedCommands, stripGeneratedHeaders, upgradeDocVersion)
|
|
34
|
+
- **`setup --uninstall` respects plugin.json ownership**: Checks `name === "compound-agent"` before deleting; user-owned plugin manifests are preserved
|
|
35
|
+
- **Upgrade ownership guard**: `removeDeprecatedCommands` checks file content for compound-agent markers before deleting, preventing silent removal of user-authored files with the same name
|
|
36
|
+
- **Malformed settings.json no longer silently clobbered**: On parse error, `configureClaudeSettings` warns and skips instead of overwriting with empty config
|
|
37
|
+
|
|
38
|
+
### Changed
|
|
39
|
+
|
|
40
|
+
- **`setup --update` overhaul**: Now uses path-based file detection (compound/ = managed) instead of marker-based. Runs upgrade pipeline and `.gitignore` remediation during update
|
|
41
|
+
- **JSON-first `bd` parsing in loop**: `jq` primary with `python3` fallback via `parse_json()` helper
|
|
42
|
+
- **CLI test helpers hardened**: Replaced shell string interpolation with `execFileSync` for safety and reliability
|
|
43
|
+
- **Beads check portable**: Uses POSIX `command -v` instead of non-portable `which`
|
|
44
|
+
- **Template expansion**: Brainstorm and plan skills now cross-reference researcher skill; 9 total skills, 11 total commands
|
|
45
|
+
- **Code organization**: Extracted display utilities to `display-utils.ts`, uninstall logic to `uninstall.ts`
|
|
46
|
+
|
|
47
|
+
### Removed
|
|
48
|
+
|
|
49
|
+
- **5 deprecated CLI wrapper commands**: `search.md`, `list.md`, `show.md`, `stats.md`, `wrong.md` (redundant wrappers around `npx ca <cmd>`)
|
|
50
|
+
- **`GENERATED_MARKER` on new installs**: New installs use path-based detection; marker retained only for backward-compatible `--update` detection
|
|
51
|
+
|
|
52
|
+
## [1.2.11] - 2026-02-19
|
|
53
|
+
|
|
54
|
+
### Added
|
|
55
|
+
|
|
56
|
+
- **Git worktree integration** (`ca worktree`): Isolate epic work in separate git worktrees for parallel execution. Five subcommands:
|
|
57
|
+
- `ca worktree create <epic-id>` — Create worktree, install deps, copy lessons, create Merge beads task
|
|
58
|
+
- `ca worktree wire-deps <epic-id>` — Connect Review/Compound tasks as merge blockers (graceful no-op without worktree)
|
|
59
|
+
- `ca worktree merge <epic-id>` — Two-phase merge: resolve conflicts in worktree, then land clean on main
|
|
60
|
+
- `ca worktree list` — Show active worktrees with epic and merge task status
|
|
61
|
+
- `ca worktree cleanup <epic-id>` — Remove worktree, branch, and close Merge task (--force for dirty worktrees)
|
|
62
|
+
- **`/compound:set-worktree` slash command**: Set up a worktree before running `/compound:lfg` for isolated epic execution
|
|
63
|
+
- **Conditional Merge gate in `verify-gates`**: Worktree epics require the Merge task to be closed before epic closure. Non-worktree epics unaffected.
|
|
64
|
+
- **Plan skill wire-deps step**: Plan phase now calls `ca worktree wire-deps` to connect merge dependencies when a worktree is active.
|
|
65
|
+
|
|
66
|
+
### Changed
|
|
67
|
+
|
|
68
|
+
- **Worktree merge safety hardening**: Added branch verification (asserts main repo is on `main`), worktree existence guard, structured error messages with worktree paths for conflict resolution and test failures
|
|
69
|
+
- **JSONL reconciliation**: Switched from ID-based to line-based deduplication to preserve last-write-wins semantics for same-ID updates and deletes
|
|
70
|
+
- **Worktree cleanup safety**: Branch deletion uses `-d` (safe) by default; `-D` (force) only with `--force` flag
|
|
71
|
+
- **Shared beads utilities**: Extracted `validateEpicId`, `parseBdShowDeps`, and `shortId` to `cli-utils.ts`, eliminating duplication between `worktree.ts` and `verify-gates.ts`
|
|
72
|
+
- **Sync API**: All worktree functions are now synchronous (removed misleading `async` wrapper around purely synchronous `execFileSync` calls)
|
|
73
|
+
|
|
12
74
|
## [1.2.10] - 2026-02-19
|
|
13
75
|
|
|
14
76
|
### Fixed
|
|
@@ -534,7 +596,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
534
596
|
- Vitest test suite
|
|
535
597
|
- tsup build configuration
|
|
536
598
|
|
|
537
|
-
[Unreleased]: https://github.com/Nathandela/learning_agent/compare/v1.
|
|
599
|
+
[Unreleased]: https://github.com/Nathandela/learning_agent/compare/v1.3.0...HEAD
|
|
600
|
+
[1.3.0]: https://github.com/Nathandela/learning_agent/compare/v1.2.11...v1.3.0
|
|
601
|
+
[1.2.11]: https://github.com/Nathandela/learning_agent/compare/v1.2.10...v1.2.11
|
|
538
602
|
[1.2.10]: https://github.com/Nathandela/learning_agent/compare/v1.2.9...v1.2.10
|
|
539
603
|
[1.2.9]: https://github.com/Nathandela/learning_agent/compare/v1.2.7...v1.2.9
|
|
540
604
|
[1.2.7]: https://github.com/Nathandela/learning_agent/compare/v1.2.6...v1.2.7
|
package/README.md
CHANGED
|
@@ -175,6 +175,16 @@ The CLI binary is `ca` (alias: `compound-agent`).
|
|
|
175
175
|
| `ca rules check` | Run repository-defined rule checks |
|
|
176
176
|
| `ca test-summary` | Run tests and output a compact summary |
|
|
177
177
|
|
|
178
|
+
### Worktree
|
|
179
|
+
|
|
180
|
+
| Command | Description |
|
|
181
|
+
|---------|-------------|
|
|
182
|
+
| `ca worktree create <epic-id>` | Create isolated worktree for an epic |
|
|
183
|
+
| `ca worktree wire-deps <epic-id>` | Wire Review/Compound as merge blockers |
|
|
184
|
+
| `ca worktree merge <epic-id>` | Two-phase merge back to main |
|
|
185
|
+
| `ca worktree list` | List active worktrees with status |
|
|
186
|
+
| `ca worktree cleanup <epic-id>` | Remove worktree and clean up (--force for dirty) |
|
|
187
|
+
|
|
178
188
|
### Automation
|
|
179
189
|
|
|
180
190
|
| Command | Description |
|
|
@@ -213,6 +223,7 @@ Installed to `.claude/commands/compound/` during setup. Invoked as slash command
|
|
|
213
223
|
| `/compound:review` | Review | Multi-agent review (security, architecture, performance, tests, simplicity) |
|
|
214
224
|
| `/compound:compound` | Compound | Capture lessons, solutions, patterns into memory |
|
|
215
225
|
| `/compound:lfg` | All | Chain all phases sequentially |
|
|
226
|
+
| `/compound:set-worktree` | Setup | Create isolated git worktree for an epic |
|
|
216
227
|
|
|
217
228
|
## Memory Types
|
|
218
229
|
|