clawforge-cli 1.6.2__tar.gz → 2.0.0__tar.gz

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.
Files changed (206) hide show
  1. clawforge_cli-2.0.0/.github/workflows/publish-npm.yml +85 -0
  2. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/CHANGELOG.md +83 -0
  3. clawforge_cli-2.0.0/Formula/clawforge.rb +37 -0
  4. clawforge_cli-2.0.0/PKG-INFO +381 -0
  5. clawforge_cli-2.0.0/PRD-v2.md +805 -0
  6. clawforge_cli-2.0.0/README.md +368 -0
  7. clawforge_cli-2.0.0/SKILL.md +192 -0
  8. clawforge_cli-2.0.0/VERSION +1 -0
  9. clawforge_cli-2.0.0/bin/changelog.sh +509 -0
  10. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/check-agents.sh +32 -0
  11. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/clawforge +92 -23
  12. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/doctor.sh +155 -2
  13. clawforge_cli-2.0.0/bin/fleet-activate.sh +188 -0
  14. clawforge_cli-2.0.0/bin/fleet-bind.sh +148 -0
  15. clawforge_cli-2.0.0/bin/fleet-clone.sh +173 -0
  16. clawforge_cli-2.0.0/bin/fleet-compat.sh +123 -0
  17. clawforge_cli-2.0.0/bin/fleet-create.sh +383 -0
  18. clawforge_cli-2.0.0/bin/fleet-deactivate.sh +125 -0
  19. clawforge_cli-2.0.0/bin/fleet-destroy.sh +149 -0
  20. clawforge_cli-2.0.0/bin/fleet-edit.sh +118 -0
  21. clawforge_cli-2.0.0/bin/fleet-export.sh +231 -0
  22. clawforge_cli-2.0.0/bin/fleet-import.sh +243 -0
  23. clawforge_cli-2.0.0/bin/fleet-inspect.sh +226 -0
  24. clawforge_cli-2.0.0/bin/fleet-list.sh +162 -0
  25. clawforge_cli-2.0.0/bin/fleet-migrate.sh +208 -0
  26. clawforge_cli-2.0.0/bin/fleet-upgrade-check.sh +125 -0
  27. clawforge_cli-2.0.0/bin/install-binaries.js +105 -0
  28. clawforge_cli-2.0.0/bin/patch-references.sh +252 -0
  29. clawforge_cli-2.0.0/bin/template.sh +283 -0
  30. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/completions/_clawforge +36 -1
  31. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/completions/clawforge.bash +20 -1
  32. clawforge_cli-2.0.0/completions/clawforge.fish +68 -0
  33. clawforge_cli-2.0.0/config/archetypes/coder/AGENTS.md +50 -0
  34. clawforge_cli-2.0.0/config/archetypes/coder/HEARTBEAT.md +12 -0
  35. clawforge_cli-2.0.0/config/archetypes/coder/SOUL.md +58 -0
  36. clawforge_cli-2.0.0/config/archetypes/coder/TOOLS.md +46 -0
  37. clawforge_cli-2.0.0/config/archetypes/communicator/AGENTS.md +48 -0
  38. clawforge_cli-2.0.0/config/archetypes/communicator/HEARTBEAT.md +12 -0
  39. clawforge_cli-2.0.0/config/archetypes/communicator/SOUL.md +73 -0
  40. clawforge_cli-2.0.0/config/archetypes/communicator/TOOLS.md +43 -0
  41. clawforge_cli-2.0.0/config/archetypes/generalist/AGENTS.md +38 -0
  42. clawforge_cli-2.0.0/config/archetypes/generalist/HEARTBEAT.md +11 -0
  43. clawforge_cli-2.0.0/config/archetypes/generalist/SOUL.md +55 -0
  44. clawforge_cli-2.0.0/config/archetypes/generalist/TOOLS.md +30 -0
  45. clawforge_cli-2.0.0/config/archetypes/monitor/AGENTS.md +51 -0
  46. clawforge_cli-2.0.0/config/archetypes/monitor/HEARTBEAT.md +26 -0
  47. clawforge_cli-2.0.0/config/archetypes/monitor/SOUL.md +74 -0
  48. clawforge_cli-2.0.0/config/archetypes/monitor/TOOLS.md +53 -0
  49. clawforge_cli-2.0.0/config/archetypes/researcher/AGENTS.md +48 -0
  50. clawforge_cli-2.0.0/config/archetypes/researcher/HEARTBEAT.md +12 -0
  51. clawforge_cli-2.0.0/config/archetypes/researcher/SOUL.md +72 -0
  52. clawforge_cli-2.0.0/config/archetypes/researcher/TOOLS.md +47 -0
  53. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/config/defaults.json +4 -0
  54. clawforge_cli-2.0.0/docs/README.md +40 -0
  55. clawforge_cli-2.0.0/docs/archetypes.md +188 -0
  56. clawforge_cli-2.0.0/docs/clwatch-integration.md +130 -0
  57. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/docs/command-reference.md +138 -1
  58. clawforge_cli-2.0.0/docs/fleet-management.md +159 -0
  59. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/docs/getting-started.md +39 -8
  60. clawforge_cli-2.0.0/docs/migration-guide.md +146 -0
  61. clawforge_cli-2.0.0/lib/clwatch-bridge.sh +126 -0
  62. clawforge_cli-2.0.0/lib/fleet-common.sh +319 -0
  63. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/package.json +10 -5
  64. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/pyproject.toml +3 -3
  65. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-dx.sh +3 -3
  66. clawforge_cli-2.0.0/tests/test-fleet-all.sh +45 -0
  67. clawforge_cli-2.0.0/tests/test-fleet-common.sh +196 -0
  68. clawforge_cli-2.0.0/tests/test-fleet-create.sh +220 -0
  69. clawforge_cli-2.0.0/tests/test-fleet-inspect.sh +173 -0
  70. clawforge_cli-2.0.0/tests/test-fleet-list.sh +134 -0
  71. clawforge_cli-2.0.0/tests/test-fleet-phase2.sh +288 -0
  72. clawforge_cli-2.0.0/tests/test-fleet-phase3.sh +351 -0
  73. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-observability.sh +1 -1
  74. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-power.sh +1 -1
  75. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-practical.sh +1 -1
  76. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-reliability.sh +1 -1
  77. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-web.sh +1 -1
  78. clawforge_cli-1.6.2/.github/workflows/publish-npm.yml +0 -24
  79. clawforge_cli-1.6.2/Formula/clawforge.rb +0 -49
  80. clawforge_cli-1.6.2/PKG-INFO +0 -325
  81. clawforge_cli-1.6.2/README.md +0 -312
  82. clawforge_cli-1.6.2/SKILL.md +0 -303
  83. clawforge_cli-1.6.2/VERSION +0 -1
  84. clawforge_cli-1.6.2/completions/clawforge.fish +0 -33
  85. clawforge_cli-1.6.2/docs/README.md +0 -29
  86. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/.github/workflows/ci.yml +0 -0
  87. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/.github/workflows/publish-pypi.yml +0 -0
  88. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/.github/workflows/update-homebrew.yml +0 -0
  89. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/.github/workflows/version-sync.yml +0 -0
  90. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/.gitignore +0 -0
  91. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/LICENSE +0 -0
  92. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/PRD-v05.md +0 -0
  93. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/PRD-v06.md +0 -0
  94. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/PRD-v07.md +0 -0
  95. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/attach.sh +0 -0
  96. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/clawforge-web +0 -0
  97. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/clean.sh +0 -0
  98. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/completions.sh +0 -0
  99. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/config.sh +0 -0
  100. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/conflicts.sh +0 -0
  101. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/cost.sh +0 -0
  102. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/dashboard.sh +0 -0
  103. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/deps.sh +0 -0
  104. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/diff.sh +0 -0
  105. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/eval.sh +0 -0
  106. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/export.sh +0 -0
  107. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/history.sh +0 -0
  108. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/init.sh +0 -0
  109. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/learn.sh +0 -0
  110. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/logs.sh +0 -0
  111. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/memory.sh +0 -0
  112. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/merge-helper.sh +0 -0
  113. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/multi-review.sh +0 -0
  114. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/notify.sh +0 -0
  115. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/on-complete.sh +0 -0
  116. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/parse-cost.sh +0 -0
  117. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/pr.sh +0 -0
  118. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/profile.sh +0 -0
  119. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/quick-run.sh +0 -0
  120. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/replay.sh +0 -0
  121. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/resume.sh +0 -0
  122. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/review-mode.sh +0 -0
  123. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/review-pr.sh +0 -0
  124. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/routing.sh +0 -0
  125. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/scope-task.sh +0 -0
  126. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/spawn-agent.sh +0 -0
  127. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/sprint.sh +0 -0
  128. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/steer.sh +0 -0
  129. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/stop.sh +0 -0
  130. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/summary.sh +0 -0
  131. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/swarm.sh +0 -0
  132. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/templates.sh +0 -0
  133. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/bin/web.sh +0 -0
  134. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/clawforge/__init__.py +0 -0
  135. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/clawforge/cli.py +0 -0
  136. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/config/prompt-templates/default.md +0 -0
  137. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/config/routing-defaults.json +0 -0
  138. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/docs/IMPLEMENTATION-v04.md +0 -0
  139. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/docs/PRD-v04.md +0 -0
  140. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/docs/PUBLISHING-CHECKLIST.md +0 -0
  141. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/docs/RELEASE.md +0 -0
  142. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/docs/architecture.md +0 -0
  143. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/docs/configuration.md +0 -0
  144. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/docs/dashboard.md +0 -0
  145. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/docs/evaluation.md +0 -0
  146. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/docs/faq.md +0 -0
  147. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/docs/fleet-ops.md +0 -0
  148. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/docs/scenarios.md +0 -0
  149. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/docs/troubleshooting.md +0 -0
  150. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/docs/workflow-modes.md +0 -0
  151. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/evals/run-log.example.jsonl +0 -0
  152. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/evals/run-log.schema.json +0 -0
  153. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/evals/scorecard.md +0 -0
  154. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/install.sh +0 -0
  155. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/lib/common.sh +0 -0
  156. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/lib/templates/bugfix.json +0 -0
  157. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/lib/templates/migration.json +0 -0
  158. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/lib/templates/refactor.json +0 -0
  159. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/lib/templates/security-audit.json +0 -0
  160. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/lib/templates/test-coverage.json +0 -0
  161. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/registry/conflicts.jsonl +0 -0
  162. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/registry/costs.jsonl +0 -0
  163. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/run-all-tests.sh +0 -0
  164. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-ci-loop.sh +0 -0
  165. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-clean.sh +0 -0
  166. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-cli.sh +0 -0
  167. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-conflicts.sh +0 -0
  168. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-cost.sh +0 -0
  169. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-dashboard.sh +0 -0
  170. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-deps.sh +0 -0
  171. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-eval.sh +0 -0
  172. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-foundation.sh +0 -0
  173. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-history.sh +0 -0
  174. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-init.sh +0 -0
  175. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-learn.sh +0 -0
  176. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-management.sh +0 -0
  177. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-memory.sh +0 -0
  178. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-merge.sh +0 -0
  179. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-modes.sh +0 -0
  180. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-multi-repo.sh +0 -0
  181. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-notify.sh +0 -0
  182. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-openclaw.sh +0 -0
  183. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-quick-run.sh +0 -0
  184. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-registry.sh +0 -0
  185. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-review.sh +0 -0
  186. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-routing.sh +0 -0
  187. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-scope.sh +0 -0
  188. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-spawn.sh +0 -0
  189. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-templates.sh +0 -0
  190. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-tui.sh +0 -0
  191. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tests/test-watch.sh +0 -0
  192. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tui/PRD.md +0 -0
  193. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tui/agent.go +0 -0
  194. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tui/animation.go +0 -0
  195. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tui/dashboard.go +0 -0
  196. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tui/filter.go +0 -0
  197. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tui/go.mod +0 -0
  198. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tui/go.sum +0 -0
  199. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tui/keybindings.go +0 -0
  200. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tui/main.go +0 -0
  201. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tui/model.go +0 -0
  202. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tui/steer.go +0 -0
  203. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/tui/styles.go +0 -0
  204. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/web/go.mod +0 -0
  205. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/web/index.html +0 -0
  206. {clawforge_cli-1.6.2 → clawforge_cli-2.0.0}/web/main.go +0 -0
@@ -0,0 +1,85 @@
1
+ name: Publish npm
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ jobs:
8
+ # Build Go binaries for all platforms and attach to the release
9
+ build-binaries:
10
+ strategy:
11
+ matrix:
12
+ include:
13
+ - os: macos-latest
14
+ goos: darwin
15
+ goarch: arm64
16
+ suffix: darwin-arm64
17
+ - os: macos-latest
18
+ goos: darwin
19
+ goarch: amd64
20
+ suffix: darwin-amd64
21
+ - os: ubuntu-latest
22
+ goos: linux
23
+ goarch: amd64
24
+ suffix: linux-amd64
25
+ - os: ubuntu-latest
26
+ goos: linux
27
+ goarch: arm64
28
+ suffix: linux-arm64
29
+
30
+ runs-on: ${{ matrix.os }}
31
+ permissions:
32
+ contents: write
33
+
34
+ steps:
35
+ - uses: actions/checkout@v4
36
+
37
+ - uses: actions/setup-go@v5
38
+ with:
39
+ go-version: '1.24'
40
+
41
+ - name: Build clawforge-dashboard
42
+ working-directory: tui
43
+ env:
44
+ GOOS: ${{ matrix.goos }}
45
+ GOARCH: ${{ matrix.goarch }}
46
+ CGO_ENABLED: "0"
47
+ run: go build -o ../clawforge-dashboard-${{ matrix.suffix }} .
48
+
49
+ - name: Build clawforge-web
50
+ working-directory: web
51
+ env:
52
+ GOOS: ${{ matrix.goos }}
53
+ GOARCH: ${{ matrix.goarch }}
54
+ CGO_ENABLED: "0"
55
+ run: go build -o ../clawforge-web-${{ matrix.suffix }} .
56
+
57
+ - name: Upload to release
58
+ env:
59
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
60
+ run: |
61
+ gh release upload "${{ github.ref_name }}" \
62
+ clawforge-dashboard-${{ matrix.suffix }} \
63
+ clawforge-web-${{ matrix.suffix }} \
64
+ --clobber
65
+
66
+ # Publish npm after binaries are attached
67
+ publish:
68
+ needs: build-binaries
69
+ runs-on: ubuntu-latest
70
+ permissions:
71
+ contents: read
72
+ id-token: write
73
+
74
+ steps:
75
+ - uses: actions/checkout@v4
76
+
77
+ - uses: actions/setup-node@v4
78
+ with:
79
+ node-version: 20
80
+ registry-url: https://registry.npmjs.org
81
+
82
+ - name: Publish to npm
83
+ run: npm publish --access public
84
+ env:
85
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -1,5 +1,88 @@
1
1
  # Changelog
2
2
 
3
+ ## v2.0.0 — Fleet Forge Pivot
4
+
5
+ **ClawForge is now an agent fleet forge for OpenClaw.**
6
+
7
+ ### New: Fleet Management
8
+ - `create` — Interactive agent creation wizard with archetype templates
9
+ - `list` — Fleet overview with status indicators
10
+ - `inspect` — Deep view of agent DNA (config + workspace + bindings)
11
+ - `edit` — Open agent workspace files in $EDITOR
12
+ - `bind`/`unbind` — Wire agents to Discord channels
13
+ - `clone` — Duplicate an agent
14
+ - `activate`/`deactivate` — Agent lifecycle management
15
+ - `destroy` — Full agent removal with safety guards
16
+ - `migrate` — Workspace isolation migration
17
+ - `export`/`import` — Share agents as .clawforge archives
18
+ - `template` — Manage agent archetypes (list/show/create/delete)
19
+ - `compat` — Fleet-wide model/tool compatibility (via clwatch)
20
+ - `upgrade-check` — Tool upgrade recommendations (via clwatch)
21
+ - `doctor` expanded with Fleet Health and Tool Versions sections
22
+
23
+ ### New: Built-in Archetypes
24
+ - 5 templates: generalist, coder, monitor, researcher, communicator
25
+ - {{PLACEHOLDER}} substitution for name, role, emoji
26
+
27
+ ### New: clwatch Integration
28
+ - Optional enrichment — works without clwatch, smarter with it
29
+ - Model compatibility checks during agent creation
30
+ - Fleet-wide deprecation monitoring
31
+ - Tool version tracking in doctor
32
+
33
+ ### Changed
34
+ - `sprint`, `review`, `swarm` now show deprecation notice
35
+ - Use `clawforge coding sprint|review|swarm` for explicit routing
36
+ - README rewritten fleet-first
37
+ - SKILL.md updated for OpenClaw fleet integration
38
+
39
+ ### Unchanged
40
+ - All v1 coding workflow commands still work
41
+ - Installation methods unchanged (brew, npm, uv, bun, source)
42
+
43
+ ---
44
+
45
+ ## v1.7.0 — clwatch Integration
46
+
47
+ ### clwatch Integration (requires clwatch)
48
+ - New `clawforge changelog` command for tracking tool changelogs via clwatch
49
+ - `changelog check` — one-shot update check
50
+ - Auto-patch reference files when tool capabilities change
51
+ - `--auto` flag for hands-free patching
52
+ - `--notify` sends Discord notification on changes
53
+ - `--webhook URL` POSTs changes to custom webhook
54
+ - `changelog watch` — polling daemon mode
55
+ - Configurable interval (default: 6h, min: 15m)
56
+ - Integrates with `clawforge watch --daemon --changelog`
57
+ - `changelog status` — show known vs current versions
58
+ - `changelog ack <tool>` — acknowledge version as reviewed
59
+ - New `patch-references.sh` standalone patcher utility
60
+ - Accepts clwatch JSON payload and patches reference files
61
+ - `--auto` and `--dry-run` modes
62
+ - Graceful degradation: works standalone without clwatch installed
63
+ - Reference file auto-detection: `~/.clawforge/references/`, `cwd/references/`, or custom `--refs-dir`
64
+ - Integrates with existing `watch --daemon` via `--changelog` flag
65
+ - Runs changelog check on configured interval (default 6h)
66
+ - Auto-patches if `changelog_auto_patch` config is enabled
67
+
68
+ ### Config Additions
69
+ - `changelog_check_interval`: How often daemon checks for updates (default: "6h")
70
+ - `changelog_auto_patch`: Auto-patch without confirmation (default: false)
71
+ - `changelog_refs_dir`: Custom references directory path (default: auto-detect)
72
+ - `changelog_tools`: Comma-separated list of tools to monitor (default: "claude-code,codex-cli,gemini-cli,opencode,openclaw")
73
+
74
+ ## v1.6.3 — npm Binary Download on Install
75
+
76
+ ### Fixed
77
+ - `npm install -g @cyperx/clawforge` now downloads the correct pre-built `clawforge-dashboard` and `clawforge-web` binaries for your platform (darwin-arm64, darwin-amd64, linux-amd64, linux-arm64)
78
+ - Added `bin/install-binaries.js` postinstall script
79
+ - Exposed `clawforge-dashboard` and `clawforge-web` as named bin entries in package.json
80
+ - Updated GitHub Actions `publish-npm.yml` to cross-compile all 4 platform binaries and attach them to the release before publishing
81
+
82
+ ### Behaviour
83
+ - Fails gracefully with a clear warning if download fails (does not break install)
84
+ - Shows build-from-source instructions as fallback
85
+
3
86
  ## v1.6.2 — Emoji Forge Animation
4
87
 
5
88
  ### Changed
@@ -0,0 +1,37 @@
1
+ class Clawforge < Formula
2
+ desc "Forge and manage fleets of OpenClaw agents"
3
+ homepage "https://github.com/cyperx84/clawforge"
4
+ url "https://github.com/cyperx84/clawforge/archive/refs/tags/v2.0.0.tar.gz"
5
+ sha256 "0000000000000000000000000000000000000000000000000000000000000000"
6
+ license "MIT"
7
+ head "https://github.com/cyperx84/clawforge.git", branch: "main"
8
+
9
+ depends_on "jq"
10
+ depends_on "tmux"
11
+ depends_on "gh"
12
+
13
+ def install
14
+ # Install shell scripts
15
+ libexec.install Dir["bin/*"]
16
+ libexec.install Dir["lib"]
17
+ libexec.install Dir["tui"]
18
+ libexec.install Dir["config"]
19
+ libexec.install "VERSION"
20
+ libexec.install "registry"
21
+
22
+ # Create wrapper that sets CLAWFORGE_DIR
23
+ (bin/"clawforge").write <<~EOS
24
+ #!/bin/bash
25
+ export CLAWFORGE_DIR="#{libexec}"
26
+ exec "#{libexec}/clawforge" "$@"
27
+ EOS
28
+
29
+ # Dashboard binary
30
+ bin.install libexec/"clawforge-dashboard"
31
+ end
32
+
33
+ test do
34
+ assert_match "clawforge v", shell_output("#{bin}/clawforge version")
35
+ assert_match "Usage:", shell_output("#{bin}/clawforge help")
36
+ end
37
+ end
@@ -0,0 +1,381 @@
1
+ Metadata-Version: 2.4
2
+ Name: clawforge-cli
3
+ Version: 2.0.0
4
+ Summary: Forge and manage fleets of OpenClaw agents
5
+ Project-URL: Homepage, https://github.com/cyperx84/clawforge
6
+ Project-URL: Repository, https://github.com/cyperx84/clawforge
7
+ Author: cyperx84
8
+ License-Expression: MIT
9
+ License-File: LICENSE
10
+ Keywords: agents,cli,fleet,openclaw,orchestration
11
+ Requires-Python: >=3.8
12
+ Description-Content-Type: text/markdown
13
+
14
+ # ClawForge
15
+
16
+ ```text
17
+ ________ ______
18
+ / ____/ /___ __ __ / ____/___ _________ ____
19
+ / / / / __ `/ | /| / // /_ / __ \/ ___/ __ `/ _ \
20
+ / /___/ / /_/ /| |/ |/ // __/ / /_/ / / / /_/ / __/
21
+ \____/_/\__,_/ |__/|__//_/ \____/_/ \__, /\___/
22
+ /____/
23
+ ```
24
+
25
+ **Forge and manage fleets of OpenClaw agents.**
26
+
27
+ Build agents, shape their identity, wire them to channels, deploy fleets — then run coding workflows or anything else.
28
+
29
+ ## Inspired By
30
+
31
+ This project was inspired by [Elvis's "OpenClaw + Codex/Claude Code Agent Swarm" workflow](https://x.com/elvissun/article/2025920521871716562) — a battle-tested system for managing a fleet of AI coding agents.
32
+
33
+ ---
34
+
35
+ ## Quick Start
36
+
37
+ ```bash
38
+ # 1. Create an agent from a template
39
+ clawforge create scout --from monitor --name Scout --role "External monitoring"
40
+
41
+ # 2. Bind it to a Discord channel
42
+ clawforge bind scout "#scout"
43
+
44
+ # 3. Activate — adds to config and restarts gateway
45
+ clawforge activate scout
46
+
47
+ # Check your fleet
48
+ clawforge list
49
+ ```
50
+
51
+ ---
52
+
53
+ ## Fleet Commands
54
+
55
+ The primary interface. Everything starts here.
56
+
57
+ | Command | Description |
58
+ |---------|-------------|
59
+ | `clawforge create <id>` | Interactive agent creation wizard |
60
+ | `clawforge create <id> --from <archetype>` | Create from template (non-interactive) |
61
+ | `clawforge list` | Fleet overview — all agents with status |
62
+ | `clawforge inspect <id>` | Deep view: config, workspace, bindings |
63
+ | `clawforge edit <id> --soul\|--agents\|--tools\|--heartbeat` | Edit workspace files |
64
+ | `clawforge bind <id> <channel>` | Wire agent to Discord/Telegram/etc |
65
+ | `clawforge unbind <id>` | Remove channel binding |
66
+ | `clawforge clone <source> <new-id>` | Duplicate an agent |
67
+ | `clawforge activate <id>` | Add to config + restart gateway |
68
+ | `clawforge deactivate <id>` | Remove from config (keep files) |
69
+ | `clawforge destroy <id>` | Full removal (requires `--yes`) |
70
+ | `clawforge export <id>` | Package as shareable `.clawforge` archive |
71
+ | `clawforge import <path\|url>` | Import from archive |
72
+ | `clawforge migrate` | Workspace isolation migration |
73
+ | `clawforge apply` | Alias for activate |
74
+ | `clawforge doctor` | Fleet + system health check |
75
+ | `clawforge compat` | Fleet-wide model/tool compatibility (via clwatch) |
76
+ | `clawforge upgrade-check` | Tool update recommendations (via clwatch) |
77
+
78
+ ### `clawforge list` — Fleet Overview
79
+
80
+ ```
81
+ 🔨 ClawForge Fleet — 4 agents
82
+
83
+ ID Name Model Channel Status
84
+ ────────────────────────────────────────────────────────────────
85
+ main Claw gpt-5.4 #claw ● active
86
+ builder Builder gpt-5.4 #builder ● active
87
+ researcher Researcher gpt-5.4 #researcher ● active
88
+ scout Scout gpt-5.4 — ○ created
89
+
90
+ ● = active ○ = created (not yet bound/activated) ◌ = config-only
91
+ ```
92
+
93
+ ### `clawforge inspect <id>` — Agent DNA
94
+
95
+ ```
96
+ 🔧 Builder
97
+
98
+ Config
99
+ ──────────────────────────────────
100
+ ID: builder
101
+ Model: openai-codex/gpt-5.4
102
+ Workspace: ~/.openclaw/agents/builder/
103
+ Channel: discord #builder
104
+
105
+ Workspace Files
106
+ ──────────────────────────────────
107
+ SOUL.md 3.7 KB ✓ Coding specialist, direct and practical
108
+ AGENTS.md 3.5 KB ✓ Boot sequence with dispatch patterns
109
+ HEARTBEAT.md 168 B ○ Empty
110
+ ```
111
+
112
+ ---
113
+
114
+ ## Templates & Archetypes
115
+
116
+ ClawForge ships five built-in archetypes. Use them as starting points:
117
+
118
+ | Archetype | Best For |
119
+ |-----------|----------|
120
+ | `generalist` | All-purpose, can orchestrate other agents |
121
+ | `coder` | Code-focused, knows Claude Code / Codex dispatch patterns |
122
+ | `monitor` | System/external monitoring with periodic health checks |
123
+ | `researcher` | Deep research, synthesis, source citation |
124
+ | `communicator` | Multi-channel messaging, notification routing |
125
+
126
+ ```bash
127
+ # Create from built-in archetype
128
+ clawforge create ops --from generalist
129
+
130
+ # Preview an archetype
131
+ clawforge template show coder
132
+
133
+ # Save an existing agent as a reusable template
134
+ clawforge template create my-coder-v2 --from builder
135
+
136
+ # List all templates (built-in + yours)
137
+ clawforge template list
138
+
139
+ # Delete a user template
140
+ clawforge template delete my-coder-v2
141
+ ```
142
+
143
+ User templates live at `~/.clawforge/templates/`.
144
+ Built-in archetypes live at `config/archetypes/` in the ClawForge install dir.
145
+
146
+ ---
147
+
148
+ ## Export & Import (Agent Sharing)
149
+
150
+ Share agents with your team or across machines.
151
+
152
+ ```bash
153
+ # Package an agent (skips memory and USER.md by default)
154
+ clawforge export builder
155
+ # → builder.clawforge in current directory
156
+
157
+ # Include memory files
158
+ clawforge export builder --with-memory
159
+
160
+ # Skip USER.md (private info)
161
+ clawforge export builder --no-user
162
+
163
+ # Custom output path
164
+ clawforge export builder --output ~/share/builder-v2.clawforge
165
+
166
+ # Import from file
167
+ clawforge import builder.clawforge
168
+
169
+ # Import from URL
170
+ clawforge import https://example.com/releases/coder.clawforge
171
+
172
+ # Non-interactive import
173
+ clawforge import coder.clawforge --id my-coder --model anthropic/claude-sonnet-4-6
174
+ ```
175
+
176
+ ### What's in an archive
177
+
178
+ ```
179
+ builder.clawforge (tar.gz)
180
+ ├── manifest.json # agent id, name, model, archetype, dates, clawforge version
181
+ ├── SOUL.md
182
+ ├── AGENTS.md
183
+ ├── TOOLS.md
184
+ ├── IDENTITY.md
185
+ ├── HEARTBEAT.md
186
+ └── references/ # optional context docs
187
+ ```
188
+
189
+ Import creates workspace at `~/.openclaw/agents/<id>/`, prompts for ID and model, then shows next steps.
190
+
191
+ ---
192
+
193
+ ## clwatch Integration
194
+
195
+ When [clwatch](https://github.com/cyperx84/clwatch) is installed, ClawForge gets richer:
196
+
197
+ ```bash
198
+ # Fleet-wide model/tool compatibility check
199
+ clawforge compat
200
+
201
+ # Check for tool updates + fleet impact
202
+ clawforge upgrade-check
203
+
204
+ # Expanded doctor with tool version info
205
+ clawforge doctor
206
+
207
+ # Auto-patch agent reference files when tools update
208
+ clawforge changelog check --auto
209
+ clawforge changelog watch # daemon: polls every 6h
210
+ ```
211
+
212
+ ```
213
+ Fleet Compatibility Report
214
+ ────────────────────────────────────
215
+ Agent Model Harness Compat Deprecations
216
+ main gpt-5.4 codex ✓ none
217
+ builder gpt-5.4 codex ✓ claude ✓ none
218
+ ```
219
+
220
+ ClawForge works fully without clwatch. Install it to add compatibility checking, deprecation warnings, and auto-patching.
221
+
222
+ ```bash
223
+ brew install cyperx84/tap/clwatch
224
+ ```
225
+
226
+ ---
227
+
228
+ ## Legacy Coding Workflows
229
+
230
+ The original ClawForge sprint/review/swarm workflows are still available, now under the `coding` namespace.
231
+
232
+ ```bash
233
+ # Preferred (v2.0+)
234
+ clawforge coding sprint "Add JWT authentication"
235
+ clawforge coding review --pr 42
236
+ clawforge coding swarm "Migrate tests from jest to vitest"
237
+
238
+ # Bare forms still work — deprecated, removed in v3.0
239
+ clawforge sprint "Add JWT authentication"
240
+ clawforge review --pr 42
241
+ clawforge swarm "Migrate tests"
242
+ ```
243
+
244
+ ### Coding commands quick reference
245
+
246
+ | Command | Description | Key Flags |
247
+ |---------|-------------|-----------|
248
+ | `coding sprint` | Single agent, full dev cycle | `--quick`, `--branch`, `--agent`, `--auto-merge` |
249
+ | `coding review` | Quality gate on PR (analysis only) | `--pr`, `--fix`, `--reviewers` |
250
+ | `coding swarm` | Parallel multi-agent orchestration | `--max-agents`, `--repos`, `--auto-merge` |
251
+ | `coding steer` | Course-correct a running agent | (task ID, message) |
252
+ | `coding attach` | Attach to agent's tmux session | (task ID) |
253
+ | `coding stop` | Stop a running agent | `--yes`, `--clean` |
254
+
255
+ Full docs: [`docs/workflow-modes.md`](./docs/workflow-modes.md)
256
+
257
+ ---
258
+
259
+ ## Installation
260
+
261
+ | Method | Command | Best For |
262
+ |--------|---------|----------|
263
+ | Homebrew | `brew install cyperx84/tap/clawforge` | macOS users (recommended) |
264
+ | npm | `npm install -g @cyperx84/clawforge` | Node.js users |
265
+ | uv | `uv tool install clawforge` | Python users |
266
+ | bun | `bun install -g @cyperx84/clawforge` | Bun users |
267
+ | Source | See below | Development |
268
+
269
+ ### Homebrew (recommended for macOS)
270
+
271
+ ```bash
272
+ brew tap cyperx84/tap
273
+ brew install cyperx84/tap/clawforge
274
+ ```
275
+
276
+ Upgrade later:
277
+
278
+ ```bash
279
+ brew update && brew upgrade clawforge
280
+ ```
281
+
282
+ ### npm / bun
283
+
284
+ ```bash
285
+ npm install -g @cyperx84/clawforge
286
+ # or
287
+ bun install -g @cyperx84/clawforge
288
+ ```
289
+
290
+ ### uv (Python)
291
+
292
+ ```bash
293
+ uv tool install clawforge
294
+ uv tool upgrade clawforge # upgrade
295
+ ```
296
+
297
+ ### Source install
298
+
299
+ ```bash
300
+ git clone https://github.com/cyperx84/clawforge.git
301
+ cd clawforge
302
+ ./install.sh --openclaw
303
+ ```
304
+
305
+ That command will:
306
+ - symlink `clawforge` into `~/.local/bin`
307
+ - wire up `SKILL.md` for OpenClaw
308
+ - create missing directories if needed
309
+
310
+ ### Manual install
311
+
312
+ ```bash
313
+ mkdir -p ~/.local/bin
314
+ ln -sf "$(pwd)/bin/clawforge" ~/.local/bin/clawforge
315
+
316
+ # Optional OpenClaw skill wiring
317
+ mkdir -p ~/.openclaw/skills/clawforge/scripts
318
+ ln -sf "$(pwd)/SKILL.md" ~/.openclaw/skills/clawforge/SKILL.md
319
+ ln -sf "$(pwd)/bin/clawforge" ~/.openclaw/skills/clawforge/scripts/clawforge
320
+ ```
321
+
322
+ ### Prerequisites
323
+
324
+ - `bash` 4+, `jq`, `git`, `tmux`
325
+ - `gh` (GitHub CLI, authenticated) — for coding workflow commands
326
+ - `claude` and/or `codex` CLI — for coding workflow commands
327
+
328
+ ---
329
+
330
+ ## Configuration
331
+
332
+ `config/defaults.json`:
333
+
334
+ ```json
335
+ {
336
+ "fleet": {
337
+ "workspace_root": "~/.openclaw/agents",
338
+ "template_dir": "~/.clawforge/templates",
339
+ "default_model": "openai-codex/gpt-5.4",
340
+ "default_archetype": "generalist"
341
+ },
342
+ "clwatch": {
343
+ "auto_check": true,
344
+ "warn_on_deprecations": true,
345
+ "compat_check_on_create": true
346
+ },
347
+ "default_agent": "claude",
348
+ "default_model_claude": "claude-sonnet-4-5",
349
+ "default_model_codex": "gpt-5.3-codex",
350
+ "ci_retry_limit": 2
351
+ }
352
+ ```
353
+
354
+ ---
355
+
356
+ ## Documentation
357
+
358
+ Full docs in [`docs/`](./docs/README.md):
359
+
360
+ - [Fleet Management](./docs/fleet-management.md)
361
+ - [Archetypes Reference](./docs/archetypes.md)
362
+ - [clwatch Integration](./docs/clwatch-integration.md)
363
+ - [Coding Workflows](./docs/workflow-modes.md)
364
+ - [Migration Guide](./docs/migration-guide.md)
365
+ - [Command Reference](./docs/command-reference.md)
366
+ - [Dashboard (Go TUI)](./docs/dashboard.md)
367
+ - [Architecture](./docs/architecture.md)
368
+ - [Configuration](./docs/configuration.md)
369
+ - [Troubleshooting](./docs/troubleshooting.md)
370
+ - [Changelog](./CHANGELOG.md)
371
+
372
+ ---
373
+
374
+ ## Testing
375
+
376
+ ```bash
377
+ ./tests/run-all-tests.sh
378
+
379
+ # Phase 3 specific
380
+ ./tests/test-fleet-phase3.sh
381
+ ```