Boatman Ecosystem documentation is live!
Introduction

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

Get started with the CLI →

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.md

Quick 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 dev

Prerequisites

ToolPurposeRequired For
Go 1.24.1+Build CLI and Desktop backendBoth
Node.js 24+Desktop frontend and quality gatesDesktop
Wails v2Desktop app frameworkDesktop
claude CLIAI code generation and reviewBoth
gh CLIPull request creationCLI
gitVersion controlBoth
tmuxAgent session managementCLI

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 commands

Runtime 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/payments

Use 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