starfleetctl:用单个 Go 二进制协调多智能体并行开发同一代码库
mpbt-hq/starfleetctl
starfleetctl 是一个单 Go 二进制工具,用于协调多个 ship 会话在同一代码库上并行工作,提供状态心跳、跨会话指令、PR 分支锁定和 GitHub PR 访问,无需第三方依赖。它通过状态板、消息总线、PR 锁定和安全的并发提交,避免多个会话在同一工作树上发生冲突。项目采用 AGPL-3.0-or-later 许可,并支持 Claude Code / opencode 集成。
One binary to coordinate ship sessions working on the same codebase.
starfleetctl manages concurrent ship sessions — status heartbeats, cross-session directives, PR-branch locking, and GitHub PR access — so multiple ships can work in parallel without stepping on each other.
Why?
When several ships share one repository, you need:
- A status board — who's working on what, who's idle, who's blocked
- A message bus — ships can send tasks and questions to each other
- PR locking — prevent two ships from editing the same branch
- Safe commits — concurrent sessions don't race the same working tree
- GitHub integration — view, comment, and label PRs without
jq/sed
starfleetctl provides all of this as a single Go binary with no third-party dependencies.
Quick Start
# Build git clone https://github.com/metux/starfleetctl cd starfleetctl make build # Bootstrap a workspace (one-time) cd /path/to/your/workspace starfleetctl genesis-init . # Re-bootstrap (updates) ./starfleet-bootstrap
make all additionally runs vet, fmt, the unit tests, and a static
build-test of the opencode plugin (check-plugin — esbuild bundle check plus
tsc --noEmit; both steps skip gracefully when their toolchain isn't
installed, see scripts/check-opencode-plugin.sh).
Documentation
| Document | Description |
|---|---|
| User Guide | Start here — installation, concepts, workflows, troubleshooting |
| Architecture | How it works — data flow, file formats, locking |
| Comms | Inter-ship communication reference |
| Dashboard | Project status tracking |
| PR Claim | PR-branch locking |
| Session | Agent session management (termctl) |
| GitHub | PR viewing, commenting, labeling |
| Hooks | Claude Code / opencode integration |
| SOP Fragments | SOP fragment system (creating, editing, reindex) |
| Web UI | Browser-based fleet dashboard |
| Reports | Fleet report system (CLI + web) |
| Config Files | Reference for .starfleet-ai/conf/*.yaml + timers/*.json |
| Known Limitations | Current caveats and workarounds |
License
AGPL-3.0-or-later. See LICENSE.
来源:GitHub · github.com