Durable, fail-closed supervision for coding workers in isolated Git worktrees.
comis-dev-crew is the Go companion service for
Comis. Comis owns identity, conversations,
policy, capabilities, approvals, and terminal confinement. This project owns
development tasks, worktrees, worker adapters, evidence, validation, delivery
safety, and cleanup.
Pre-release: the project is under active E0 development. There is no supported production deployment or stability guarantee. Review the implementation status before using it with important repositories, hosts, or credentials.
- Isolated work: every task runs in a dedicated Git worktree.
- Durable state: SQLite records task transitions through a single service writer.
- Replay-safe operations: stable operation IDs prevent duplicate logical effects across retries and restarts.
- Evidence-based transitions: incomplete or contradictory evidence becomes
unknown; it never becomes success or cleanup authority. - Narrow interfaces: the CLI and MCP adapter use the same owner-only local JSON-RPC API instead of writing state directly.
Supported release targets are macOS and Linux on AMD64 and ARM64.
Review the installer script, then install the latest published release:
curl -fsSL https://raw.githubusercontent.com/comisai/comis-dev-crew/main/docs/install.sh | shThe installer verifies the archive against the release checksums.txt, installs
all four executables in ~/.comis-dev-crew/bin, and links them into a directory
on PATH. To install a specific release or change the destination:
curl -fsSL https://raw.githubusercontent.com/comisai/comis-dev-crew/main/docs/install.sh \
| DEVCREW_VERSION=v0.1.0 \
DEVCREW_INSTALL_DIR="$HOME/.comis-dev-crew/bin" \
DEVCREW_LINK_DIR="$HOME/.local/bin" shReplace v0.1.0 with the required tag. The installer exits without changing the
system if it cannot find a release or verify its checksum.
No release is published yet. Until one is available, use the source build below.
Use the exact Go toolchain declared in go.mod:
git clone https://github.com/comisai/comis-dev-crew.git
cd comis-dev-crew
go build -trimpath -o bin/ ./cmd/...This creates the four executables in bin/. Alternatively, go install ./cmd/... installs them into GOBIN.
Start the service with private, canonical state and socket paths:
devcrew-service \
--database /absolute/private/state/devcrew.db \
--socket /absolute/private/run/devcrew.sockIn another terminal, inspect service and task state:
devcrew --socket /absolute/private/run/devcrew.sock service status
devcrew --socket /absolute/private/run/devcrew.sock tasks list --format jsonWithout explicit path flags, the service and CLI derive matching locations from the operating system's user configuration directory. For the full Comis and coding-worker configuration, see Running comis-dev-crew.
| Command | Purpose |
|---|---|
devcrew-service |
Long-lived service and sole production writer of durable state |
devcrew |
Human and script-friendly operator CLI |
devcrew-mcp |
Stateless MCP adapter over the canonical local API |
devcrew-report |
Restricted, task-scoped worker reporter |
Every command supports --help and --version.
Production dependencies point inward:
cmd/* -> adapters -> internal/application -> internal/domain
The domain contains pure types and invariants. Application packages define commands, queries, reducers, and consumer-owned interfaces. Adapters provide SQLite, local API, Git, forge, worker, reporter, and Comis integration. The four commands are composition roots only.
The complete engineering and security contract is in AGENTS.md.
Read AGENTS.md and CONTRIBUTING.md, then enable the repository hooks:
git config core.hooksPath .githooksRun the required verification gate before handing off a change:
make verifyUse make verify-full before a push or production-readiness claim. The protected
make test-live campaign is separate and requires explicitly configured external
prerequisites.
Additional references:
Report suspected vulnerabilities privately as described in SECURITY.md. Do not disclose them in a public issue.