Boatman Ecosystem
AI-powered autonomous software development, from CLI to desktop.
Boatman is an integrated ecosystem for automating software development workflows with provider-backed AI agents. It takes tasks — from Linear tickets, inline prompts, or markdown files — and implements them end-to-end: planning, coding, testing, reviewing, refactoring, and creating pull requests.
The current architecture uses a provider-neutral runtime so new Claude, OpenAI, MCP, tool, structured-output, and background-run features can be adopted behind adapters instead of being threaded through every workflow. Runtime runs, artifacts, integration health, and memory are recorded as inspectable files so both humans and future agents can understand what happened.
The Ecosystem
BoatmanMode CLI
The command-line autonomous development agent. Feed it a task, and it orchestrates a multi-agent pipeline to deliver production-ready code.
- Multi-phase workflow: plan, execute, test, review, refactor
- Git worktree isolation for safe parallel work
- Provider routing for Claude CLI, OpenAI Responses, and future adapters
- Structured legacy and normalized runtime event emission
- Inspectable run store, artifacts, request replay, and memory docs
- Usable as a Go library
Boatman Desktop
A cross-platform desktop application built with Wails (Go + React) that wraps the CLI with a rich GUI.
- Interactive Claude AI chat for your codebase
- Firefighter Mode for production incident investigation
- Real-time streaming of agent execution
- Session management and project organization
- MCP server integration (Linear, Datadog, Bugsnag, Slack)
- Runtime tab for inspecting recorded runs, artifacts, events, and memory
- Integration health status before starting long-running workflows
Get started with the Desktop app →
How It Works
┌─────────────────────────────────────────────────────────────┐
│ Input Sources │
│ Linear Ticket │ Inline Prompt │ Markdown File │
└────────┬────────────────┬──────────────────┬────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────────┐
│ BoatmanMode CLI │
│ │
│ 1. Prepare Task 5. Run Tests │
│ 2. Create Worktree 6. Peer Review │
│ 3. Plan (AI Agent) 7. Refactor Loop │
│ 4. Execute (AI Agent) 8. Commit & Push │
│ 9. Create PR │
│ │
│ Emits legacy JSON + normalized runtime events ────────┐ │
└─────────────────────────────────────────────────────────┼────┘
│
┌────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Boatman Desktop │
│ │
│ • Captures JSON events from CLI subprocess │
│ • Displays real-time agent progress in Tasks tab │
│ • Provides Firefighter Mode for incident investigation │
│ • Integrates with Linear, Bugsnag, Datadog via MCP │
│ • Reads .boatman/runs and .boatman/memory in Runtime tab │
└─────────────────────────────────────────────────────────────┘Runtime files are intentionally plain:
.boatman/
runs/<run-id>/
metadata.json
request.json
events.ndjson
artifacts.json
memory/
project.md
domains/payments.mdQuick Start
CLI
# Install
go install github.com/philjestin/boatmanmode/cmd/boatman@latest
# Or download pre-built binary
curl -fsSL https://raw.githubusercontent.com/philjestin/boatmanmode/main/install.sh | bash
# Run
boatman work --prompt "Add a health check endpoint at /health"Desktop
# Clone the monorepo
git clone https://github.com/philjestin/boatman
cd boatman
# Build CLI first
make build-cli
# Start desktop in dev mode
make devPrerequisites
| Tool | Purpose | Required For |
|---|---|---|
| Go 1.24.1+ | Build CLI and Desktop backend | Both |
| Node.js 24+ | Desktop frontend and quality gates | Desktop |
| Wails v2 | Desktop app framework | Desktop |
claude CLI | AI code generation and review | Both |
gh CLI | Pull request creation | CLI |
git | Version control | Both |
tmux | Agent session management | CLI |
Repository Structure
boatman-ecosystem/
├── cli/ # BoatmanMode CLI — autonomous agent
│ ├── cmd/ # CLI entry points
│ ├── internal/ # Implementation packages
│ └── examples/ # Library usage examples
│
├── desktop/ # Boatman Desktop — GUI application
│ ├── frontend/ # React/TypeScript UI
│ ├── agent/ # Session management
│ ├── boatmanmode/ # CLI integration layer
│ └── config/ # Configuration
│
├── shared/ # Shared Go packages
│ └── agentruntime/ # Provider-neutral runtime contracts
├── harness/ # Harness primitives and scaffold helpers
├── docs/ # This documentation site
├── go.work # Go workspace configuration
└── Makefile # Build commandsRuntime Inspection
Use the CLI when you want terminal output:
boatman providers
boatman integrations check
boatman work --prompt "Update docs"
boatman runs list
boatman runs show <run-id>
boatman memory list
boatman memory context project domains/paymentsUse the Desktop Runtime tab when you want the same information in the app:
- Runs: provider, model, role, status, event count, artifact count
- Events: normalized lifecycle, tool, schema, memory, integration, usage, and artifact events
- Artifacts: files, diffs, PRs, or other durable outputs recorded by the runtime
- Memory: Markdown context documents with scope, provenance, source run, expiration, path, and full body