clawforge-cli 1.6.3__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.
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/CHANGELOG.md +71 -0
- clawforge_cli-2.0.0/Formula/clawforge.rb +37 -0
- clawforge_cli-2.0.0/PKG-INFO +381 -0
- clawforge_cli-2.0.0/PRD-v2.md +805 -0
- clawforge_cli-2.0.0/README.md +368 -0
- clawforge_cli-2.0.0/SKILL.md +192 -0
- clawforge_cli-2.0.0/VERSION +1 -0
- clawforge_cli-2.0.0/bin/changelog.sh +509 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/check-agents.sh +32 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/clawforge +92 -23
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/doctor.sh +155 -2
- clawforge_cli-2.0.0/bin/fleet-activate.sh +188 -0
- clawforge_cli-2.0.0/bin/fleet-bind.sh +148 -0
- clawforge_cli-2.0.0/bin/fleet-clone.sh +173 -0
- clawforge_cli-2.0.0/bin/fleet-compat.sh +123 -0
- clawforge_cli-2.0.0/bin/fleet-create.sh +383 -0
- clawforge_cli-2.0.0/bin/fleet-deactivate.sh +125 -0
- clawforge_cli-2.0.0/bin/fleet-destroy.sh +149 -0
- clawforge_cli-2.0.0/bin/fleet-edit.sh +118 -0
- clawforge_cli-2.0.0/bin/fleet-export.sh +231 -0
- clawforge_cli-2.0.0/bin/fleet-import.sh +243 -0
- clawforge_cli-2.0.0/bin/fleet-inspect.sh +226 -0
- clawforge_cli-2.0.0/bin/fleet-list.sh +162 -0
- clawforge_cli-2.0.0/bin/fleet-migrate.sh +208 -0
- clawforge_cli-2.0.0/bin/fleet-upgrade-check.sh +125 -0
- clawforge_cli-2.0.0/bin/patch-references.sh +252 -0
- clawforge_cli-2.0.0/bin/template.sh +283 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/completions/_clawforge +36 -1
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/completions/clawforge.bash +20 -1
- clawforge_cli-2.0.0/completions/clawforge.fish +68 -0
- clawforge_cli-2.0.0/config/archetypes/coder/AGENTS.md +50 -0
- clawforge_cli-2.0.0/config/archetypes/coder/HEARTBEAT.md +12 -0
- clawforge_cli-2.0.0/config/archetypes/coder/SOUL.md +58 -0
- clawforge_cli-2.0.0/config/archetypes/coder/TOOLS.md +46 -0
- clawforge_cli-2.0.0/config/archetypes/communicator/AGENTS.md +48 -0
- clawforge_cli-2.0.0/config/archetypes/communicator/HEARTBEAT.md +12 -0
- clawforge_cli-2.0.0/config/archetypes/communicator/SOUL.md +73 -0
- clawforge_cli-2.0.0/config/archetypes/communicator/TOOLS.md +43 -0
- clawforge_cli-2.0.0/config/archetypes/generalist/AGENTS.md +38 -0
- clawforge_cli-2.0.0/config/archetypes/generalist/HEARTBEAT.md +11 -0
- clawforge_cli-2.0.0/config/archetypes/generalist/SOUL.md +55 -0
- clawforge_cli-2.0.0/config/archetypes/generalist/TOOLS.md +30 -0
- clawforge_cli-2.0.0/config/archetypes/monitor/AGENTS.md +51 -0
- clawforge_cli-2.0.0/config/archetypes/monitor/HEARTBEAT.md +26 -0
- clawforge_cli-2.0.0/config/archetypes/monitor/SOUL.md +74 -0
- clawforge_cli-2.0.0/config/archetypes/monitor/TOOLS.md +53 -0
- clawforge_cli-2.0.0/config/archetypes/researcher/AGENTS.md +48 -0
- clawforge_cli-2.0.0/config/archetypes/researcher/HEARTBEAT.md +12 -0
- clawforge_cli-2.0.0/config/archetypes/researcher/SOUL.md +72 -0
- clawforge_cli-2.0.0/config/archetypes/researcher/TOOLS.md +47 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/config/defaults.json +4 -0
- clawforge_cli-2.0.0/docs/README.md +40 -0
- clawforge_cli-2.0.0/docs/archetypes.md +188 -0
- clawforge_cli-2.0.0/docs/clwatch-integration.md +130 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/docs/command-reference.md +138 -1
- clawforge_cli-2.0.0/docs/fleet-management.md +159 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/docs/getting-started.md +39 -8
- clawforge_cli-2.0.0/docs/migration-guide.md +146 -0
- clawforge_cli-2.0.0/lib/clwatch-bridge.sh +126 -0
- clawforge_cli-2.0.0/lib/fleet-common.sh +319 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/package.json +5 -3
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/pyproject.toml +3 -3
- clawforge_cli-2.0.0/tests/test-fleet-all.sh +45 -0
- clawforge_cli-2.0.0/tests/test-fleet-common.sh +196 -0
- clawforge_cli-2.0.0/tests/test-fleet-create.sh +220 -0
- clawforge_cli-2.0.0/tests/test-fleet-inspect.sh +173 -0
- clawforge_cli-2.0.0/tests/test-fleet-list.sh +134 -0
- clawforge_cli-2.0.0/tests/test-fleet-phase2.sh +288 -0
- clawforge_cli-2.0.0/tests/test-fleet-phase3.sh +351 -0
- clawforge_cli-1.6.3/Formula/clawforge.rb +0 -50
- clawforge_cli-1.6.3/PKG-INFO +0 -325
- clawforge_cli-1.6.3/README.md +0 -312
- clawforge_cli-1.6.3/SKILL.md +0 -303
- clawforge_cli-1.6.3/VERSION +0 -1
- clawforge_cli-1.6.3/completions/clawforge.fish +0 -33
- clawforge_cli-1.6.3/docs/README.md +0 -29
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/.github/workflows/ci.yml +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/.github/workflows/publish-npm.yml +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/.github/workflows/publish-pypi.yml +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/.github/workflows/update-homebrew.yml +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/.github/workflows/version-sync.yml +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/.gitignore +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/LICENSE +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/PRD-v05.md +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/PRD-v06.md +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/PRD-v07.md +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/attach.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/clawforge-web +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/clean.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/completions.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/config.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/conflicts.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/cost.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/dashboard.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/deps.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/diff.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/eval.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/export.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/history.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/init.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/install-binaries.js +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/learn.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/logs.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/memory.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/merge-helper.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/multi-review.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/notify.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/on-complete.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/parse-cost.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/pr.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/profile.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/quick-run.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/replay.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/resume.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/review-mode.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/review-pr.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/routing.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/scope-task.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/spawn-agent.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/sprint.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/steer.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/stop.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/summary.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/swarm.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/templates.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/bin/web.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/clawforge/__init__.py +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/clawforge/cli.py +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/config/prompt-templates/default.md +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/config/routing-defaults.json +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/docs/IMPLEMENTATION-v04.md +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/docs/PRD-v04.md +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/docs/PUBLISHING-CHECKLIST.md +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/docs/RELEASE.md +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/docs/architecture.md +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/docs/configuration.md +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/docs/dashboard.md +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/docs/evaluation.md +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/docs/faq.md +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/docs/fleet-ops.md +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/docs/scenarios.md +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/docs/troubleshooting.md +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/docs/workflow-modes.md +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/evals/run-log.example.jsonl +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/evals/run-log.schema.json +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/evals/scorecard.md +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/install.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/lib/common.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/lib/templates/bugfix.json +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/lib/templates/migration.json +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/lib/templates/refactor.json +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/lib/templates/security-audit.json +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/lib/templates/test-coverage.json +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/registry/conflicts.jsonl +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/registry/costs.jsonl +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/run-all-tests.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-ci-loop.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-clean.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-cli.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-conflicts.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-cost.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-dashboard.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-deps.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-dx.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-eval.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-foundation.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-history.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-init.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-learn.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-management.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-memory.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-merge.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-modes.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-multi-repo.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-notify.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-observability.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-openclaw.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-power.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-practical.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-quick-run.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-registry.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-reliability.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-review.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-routing.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-scope.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-spawn.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-templates.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-tui.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-watch.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tests/test-web.sh +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tui/PRD.md +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tui/agent.go +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tui/animation.go +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tui/dashboard.go +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tui/filter.go +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tui/go.mod +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tui/go.sum +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tui/keybindings.go +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tui/main.go +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tui/model.go +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tui/steer.go +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/tui/styles.go +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/web/go.mod +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/web/index.html +0 -0
- {clawforge_cli-1.6.3 → clawforge_cli-2.0.0}/web/main.go +0 -0
|
@@ -1,5 +1,76 @@
|
|
|
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
|
+
|
|
3
74
|
## v1.6.3 — npm Binary Download on Install
|
|
4
75
|
|
|
5
76
|
### Fixed
|
|
@@ -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
|
+
```
|