COdo Documentation

COMPLETE REFERENCE — v1.17.7 (2026 STABLE)

COdo is a terminal-native AI coding assistant — a fork of OpenCode with enhanced workflow management, structured skill systems, and a multi-agent orchestration layer. It runs entirely in the command line (TUI) and helps developers write code, debug issues, and ship projects through natural language conversations with AI.

COdo is built on the principle of augmented engineering intelligence. It doesn't replace the developer — it acts as a force multiplier. Every feature is designed around four core tenets:

  • Context Preservation: Manage and optimize the context fed to the LLM at every step.
  • Explicit over Implicit: Structured planning and specification before implementation.
  • Verification & Iteration: Check at every stage — from planning to post-implementation testing.
  • Composable Workflows: Break complex tasks into smaller, manageable, verifiable steps.
Fork Notice: COdo extends OpenCode. All OpenCode skills, MCP servers, and configurations are fully compatible with COdo.

Quick Start

Install & Launch

Install COdo globally via npm, then run it in any project directory:

TERMINAL
$ npm install -g @codo-ai/cli
$ codo

The TUI launches immediately. No config required for a first run — COdo will prompt you to configure your AI provider on first startup.

Your First Workflow

Here's a practical workflow for starting a new feature with COdo:

1
Set the Goal
/goal set "Build user authentication with JWT and refresh tokens"
2
Choose Workflow
/workflow speckit — for spec-driven, disciplined approach
3
Create Specification
/speckit.specify → describe requirements in natural language
4
Generate Tasks & Execute
/speckit.taskscompose:executecompose:verify
5
Merge
compose:merge — intelligent merge with full audit trail

Installation

Requirements

  • Node.js 18+ or Bun runtime
  • npm, pnpm, or yarn
  • A terminal emulator (any OS)
  • An AI provider API key (Anthropic, OpenAI, etc.)

Global Install via npm

BASH
$ npm install -g @codo-ai/cli

Verify Installation

BASH
$ codo --version
COdo v1.17.7

Launch

BASH
$ codo                    # in any project directory
$ codo --model claude-3-5-sonnet-20241022  # specify model
First Run: On first launch COdo will guide you through provider configuration and optionally create a ./opencode.jsonc workspace config.

Source

The source code is available at github.com/Mosalah4351/COdo and the package on npmjs.com/@codo-ai/cli.

Configuration

Workspace Config

Project-specific configuration lives at .codo/opencode.jsonc:

JSONC
{
  "model": "claude-sonnet-4-5",
  "provider": "anthropic",
  "maxTokens": 8192,
  "contextWindow": 200000,
  "tools": {
    "webSearch": true,
    "codeExecution": true
  }
}

User Config

Global user settings live at ~/.config/COdo/. Provider API keys can be set as environment variables:

BASH
export ANTHROPIC_API_KEY=sk-ant-...
export OPENAI_API_KEY=sk-...

MCP Servers

Model Context Protocol servers are configured at .kiro/settings/mcp.json. MCP servers extend COdo with additional tools (web search, filesystem access, APIs, etc.).

Skills Locations

  • .codo/skills/ — workspace-level skills (project-specific)
  • ~/.codo/skills/ — global skills (available everywhere)

/workflow

THE ORCHESTRATION ENGINE

The /workflow command is the entry point to COdo's structured execution environments. It selects and activates a predefined workflow that dictates how COdo approaches your task — a high-level strategy orchestrating AI behavior.

Usage

TERMINAL
/workflow gsd       # Long-running project mode
/workflow gstack    # Virtual engineering team
/workflow speckit   # Spec-first development
/workflow vibemode  # Pure reactive mode (default)

When a workflow is selected, /skills filters to show only that workflow's skills plus universal skills. A checkmark (✓) appears next to the active workflow.

GSD — GET SHIT DONE

GSD is a terminal-native, autonomous workflow engine for long-running, complex projects. It structures work into Milestones, Slices, and Tasks. All state persists in a local .planning/ directory — making it resilient to context loss and perfect for multi-session sprints.

When you invoke /workflow gsd, COdo initializes the GSD context, asks you to define a project goal, generates PLAN.md files and tasks, and begins execution. GSD can self-correct: if a task fails, it debugs, re-plans, and continues.

The 5-Step Phase Loop

1
Discuss
gsd:discuss-phase — Capture decisions and context before planning
2
Plan
gsd:plan-phase — Research, decompose, verify fit with PLAN.md
3
Execute
gsd:execute-phase — Run in parallel waves with clean context
4
Verify
gsd:audit-milestone — Walk through, diagnose, fix
5
Ship
gsd:ship — Create PR, archive phase, repeat

Directory Structure

.planning/
├── STATE.md          # Living project memory — read first every session
├── ROADMAP.md        # Phased execution plan
├── PROJECT.md        # Project context and goals
├── REQUIREMENTS.md   # Locked requirements
├── phases/           # Per-phase SPEC, PLAN, and SUMMARY files
│   └── 01-foundation/
│       ├── 01-SPEC.md
│       ├── 01-01-PLAN.md
│       └── 01-VERIFICATION.md
├── codebase/         # Architecture, stack, conventions
├── todos/
├── debug/
└── research/

GSD Skill Reference

Phase & Planning:

gsd:autonomous
Runs all remaining phases autonomously — discuss, plan, execute, verify per phase.
gsd:plan-phase
Creates detailed phase PLAN.md with verification loop.
gsd:execute-phase
Executes all plans using wave-based parallelization.
gsd:discuss-phase
Gathers phase context via adaptive questioning before planning.
gsd:spec-phase
Produces SPEC.md with falsifiable requirements before implementation.
gsd:insert-phase
Inserts urgent work as decimal phase (e.g. 72.1) between existing phases.
gsd:add-phase
Adds a phase to the end of the current milestone in the roadmap.
gsd:remove-phase
Removes a future phase and renumbers subsequent phases.

Audit, Review & QA:

gsd:audit-milestone
Audits milestone completion against original intent before archiving.
gsd:audit-fix
Autonomous audit-to-fix pipeline: find, classify, fix, test, commit.
gsd:code-review
Reviews source files for bugs, security issues, and code quality.
gsd:secure-phase
Verifies threat mitigations for a completed phase.
gsd:ui-review
6-pillar visual audit of implemented frontend code.
gsd:validate-phase
Audits and fills Nyquist validation gaps for a completed phase.

Session & Context:

gsd:context-save
Saves current working context for later restoration.
gsd:context-restore
Restores a previously saved working context.
gsd:resume-work
Resumes work from a previous session with full context.
gsd:session-report
Generates session report: token usage, work summary, outcomes.

Utilities & Shipping:

gsd:ship
Creates PR, runs review, and prepares for merge after verification.
gsd:debug
Systematic debugging with persistent state across context resets.
gsd:stats
Displays project stats: phases, plans, requirements, git metrics.
gsd:map-codebase
Analyzes codebase with parallel mapper agents to produce intelligence docs.
gsd:check-todos
Lists pending todos and selects one to work on.
gsd:health
Diagnoses planning directory health and optionally repairs issues.
gsd:fast
Executes a trivial task inline with no subagents or planning overhead.
gsd:explore
Socratic ideation and idea routing before committing to plans.
Best for: Large, complex projects spanning multiple sessions. Ideal when you need a persistent, auditable plan that survives context loss.

GSTACK — VIRTUAL ENGINEERING TEAM

Gstack is Garry Tan's (Y Combinator CEO) opinionated collection of 23+ specialist role-based tools that transform COdo into a virtual engineering team. It enforces a full sprint order: Think → Plan → Build → Review → Test → Ship → Reflect.

Activating /workflow gstack gives access to specialist personas. A single developer using Gstack has access to:

  • A CEO who rethinks the product and finds 10-star solutions
  • An Eng Manager who locks in architecture and data flow
  • A Senior Designer who catches AI-generated slop in the UI
  • A QA Lead who opens real browsers and runs acceptance tests
  • A Security Officer who runs OWASP + STRIDE audits
  • A Release Engineer who ships clean PRs

Sprint Skills in Order

Phase Skill Role What it does
THINK /office-hours YC Office Hours Six forcing questions that reframe your product before any code is written.
THINK /plan-ceo-review CEO / Founder Rethink the problem. Find the 10-star product hiding in the request.
THINK /plan-eng-review Eng Manager Lock in architecture, data flow, diagrams, edge cases, tests.
THINK /plan-design-review Senior Designer Rates design dimensions 0–10. AI slop detection. Interactive Q&A.
BUILD /careful Cautious Engineer Careful implementation with explicit verification at each step.
BUILD /design-html Frontend Dev Translates design specs to production-ready HTML/CSS.
REVIEW /qa QA Lead Opens real browser, runs acceptance tests, logs failures.
REVIEW /cso Security Officer OWASP + STRIDE security audit. Threat modelling and mitigations.
REVIEW /investigate Inspector Root-cause analysis of any bug or unexpected behavior.
SHIP /ship Release Engineer Prepares and ships clean PR with changelog and review summary.
Best for: Zero-to-one features and critical production changes requiring multi-perspective review before shipping.

SPECKIT — SPEC-FIRST DEVELOPMENT

Speckit is a toolkit for Spec-Driven Development (SDD). The core assertion: define what to build before building it. Instead of jumping straight to code, Speckit guides you through creating a formal specification that becomes the blueprint for implementation.

Speckit Command Sequence

1
/speckit.constitution
Establishes governing principles and technical standards → .specify/memory/constitution.md
2
/speckit.specify
Creates the functional spec (spec.md) — focuses on what and why
3
/speckit.plan
Generates technical implementation plan (plan.md) — the how
4
/speckit.tasks
Breaks plan into granular, actionable tasks.md
5
/speckit.implement
Executes tasks in order, following the spec
6
/speckit.converge
Assesses final codebase against original spec, appends remaining work

Additional Speckit Commands

Command Description
/speckit.clarify Clarifies underspecified areas before planning begins
/speckit.analyze Cross-artifact consistency and coverage analysis
/speckit.checklist Generates custom quality checklists for your spec
Best for: Enterprise projects, team collaboration, compliance-sensitive work, or any scenario where a formal, verifiable paper trail of decisions is required.

VIBEMODE — PURE REACTIVE

Vibemode is the un-workflow. It strips away all structure, planning, and verification. COdo operates as a pure, reactive coding assistant — you give it a prompt, it generates code. No persistent state, no milestone tracking, no planning overhead.

When to Use Vibemode

  • Rapid Prototyping & Spikes: Test concepts, write quick scripts, explore APIs
  • Single-File Changes: Small, isolated fixes or generating a single function
  • Non-Code Tasks: Writing docs, analysis, ad-hoc queries
  • Learning & Exploration: Understanding a library or concept interactively
Context Loss: Vibemode has no persistence. When the session ends, the context is gone. For multi-session work, use GSD or Speckit.

/goal

OUTCOME-ORIENTED DEVELOPMENT

While a workflow defines the process of how you build something, /goal defines the outcome of what you're trying to achieve. It's a mechanism for tracking high-level objectives and ensuring generated code actually moves the project toward a defined target.

Commands

Command Description
/goal set "description" Sets the primary focus. COdo pins this as a north star for all subsequent tasks.
/goal list Displays all active and completed goals for the project.
/goal status Summary of progress toward the current goal based on completed tasks and code changes.

Best Scenarios

  • Keeping Focus: Prevents scope creep — COdo keeps suggestions aligned with the goal.
  • Measuring Progress: Turns open-ended work into verifiable outcomes.
  • Team Collaboration: Provides a shared, unambiguous definition of success.
  • Generating Acceptance Criteria: COdo can derive testable criteria from the goal statement.

Example

TERMINAL
/goal set "Improve dashboard load time by 50% with code-splitting and lazy loading"

[GOAL SET] Tracking: "Improve dashboard load time by 50%..."
# COdo now prioritizes this goal in all suggestions

Compose Agent

THE MULTI-AGENT SYNTHESIZER

compose is COdo's advanced feature for orchestrating complex, multi-step tasks spanning multiple files, modules, or workflow stages. It defines a DAG (Directed Acyclic Graph) of operations — managing execution flow, handling dependencies, and parallelizing independent tasks.

Compose is particularly powerful when combined with GSD or Gstack, allowing the AI to tackle frontend, backend, and database changes simultaneously.

How to engage: Describe a complex task and COdo will offer to decompose it. Or invoke compose skills directly by name.

All 15 Compose Skills

compose:brainstorm
Before any creative work. Generates ideas and solutions before committing to an approach.
compose:plan
Before touching code. Creates a detailed implementation plan from a spec or requirements.
compose:tdd
Test-Driven Development. Generates failing tests before writing any implementation code.
compose:subagent
Delegates sub-tasks to specialized agents in the current session.
compose:worktree
Manages git worktrees for isolated, clean feature work without affecting main branch.
compose:parallel
For 2+ independent tasks without shared state. Maximizes execution efficiency.
compose:execute
Executes a written plan in a separate session with review checkpoints.
compose:debug
Systematic investigation of bugs and failures before proposing any fixes.
compose:feedback
Analyzes code review feedback before implementing, preventing blind application of suggestions.
compose:review
Final quality gate. Verifies work meets requirements before marking a task complete.
compose:verify
Final check before committing or opening PRs. Confirms all tests pass.
compose:merge
Intelligently merges feature branches with conflict resolution and history preservation.
compose:report
Consolidates spec iterations into a single final-state report for PRs or team updates.
compose:ask
When AI needs a decision or clarification from the user before proceeding.
compose:new-skill
For creating or extending COdo skills — the self-extension system.

Best Scenarios

  • Complex Multi-File Refactors: When a change touches many interconnected parts.
  • End-to-End Feature Implementation: Full user story from database to UI.
  • Debugging Complex Issues: When a bug's root cause is buried in a chain of dependencies.
  • Implementing Review Feedback: When feedback requires changes across multiple files and tests.

/scraper

INTELLIGENT DATA EXTRACTION

/scraper is COdo's tool for extracting structured and unstructured data from websites, local files, and APIs. Unlike a simple curl, it's an intelligent extraction utility that understands the context of the request and transforms raw data into a usable format for the AI.

Usage

TERMINAL
/scraper <URL or file> <what to extract>

# Examples:
/scraper https://react.dev/blog react 19 changelog
/scraper https://aws.amazon.com/ compare services with gcp
/scraper file:companies.csv enrich with employee count

Capabilities

  • Web Scraping: Extracts text, links, and data from HTML pages. Handles dynamic content.
  • API Consumption: Fetches from REST or GraphQL APIs and formats responses for AI.
  • Local File Ingestion: Reads .md, .txt, .csv, .json, etc. into context.
  • Contextual Summarization: Summarizes, extracts entities, or answers questions from scraped data.

Legal-First Approach

COdo's scraper always checks robots.txt and Terms of Service before fetching. If access is blocked, it generates a local Python script using requests/BeautifulSoup or Playwright that you can run yourself.

Decision Logic

Signal Action
"no automated access" in ToS STOP — inform user, suggest API alternative
CAPTCHA detected Generate headless=False Playwright script
HTTP 403 / 429 Generate local fallback script
More than 50 pages needed STOP — suggest bulk export or official API
Normal static HTML Fetch and parse directly

Best Scenarios

  • Research & Context: Get up to speed on library changes without leaving your terminal.
  • Comparative Analysis: Side-by-side comparison of docs, features, or APIs.
  • Data Enrichment: Populate CSVs or databases from public sources.
  • Pre-Task Recon: Feed latest API docs into context before writing integration code.

Architecture

Stack Overview

Layer Technology Purpose
TUI Framework Solid.js Reactive terminal UI rendering
Runtime Bun Fast TypeScript execution
Layout Engine Yoga Terminal layout calculations
Database SQLite via Drizzle ORM Session and history persistence
Async Model Effect-TS Composable async operations
AI Layer Multi-provider Anthropic, OpenAI, local LLMs

Package Structure

packages/
├── tui/                 # Terminal UI
│   └── src/
│       ├── app.tsx      # Main entry + command registration
│       └── component/
│           ├── prompt/  # Input + slash command handling
│           └── dialog-skill.tsx  # Skills browser
│
└── opencode/            # Core engine
    └── src/
        ├── session/     # Session management (V2 resumable)
        ├── agent/       # LLM interaction layer
        └── config/      # Configuration management

Session Flow

How a message travels through the COdo engine:

User types message
    ↓
Prompt handling checks for / commands
    ↓
Command transforms input (e.g., /scraper, /workflow)
    ↓
Session.prompt() admits durable input
    ↓
SessionExecution schedules processing
    ↓
SessionRunner loads history + tools
    ↓
LLM streams response
    ↓
Tool calls executed (parallel where possible)
    ↓
Results stored (SQLite) + rendered (TUI)

Skill System

Skills are modular capabilities that extend what COdo can do. They are Markdown files with YAML frontmatter loaded into the agent's context when invoked.

Skill Format

MARKDOWN
---
name: skill-name
description: "What it does (workflow-tag)"
compatibility: "COdo (with tools)"
---

# Skill Instructions

Your skill instructions here. These become part of the agent's context
when this skill is activated...

Locations

  • .codo/skills/ — workspace-level (project-specific)
  • ~/.codo/skills/ — global (available in all projects)

Workflow Filtering

When a workflow is active, /skills shows only relevant skills. Filtering uses:

  • Name prefix: gsd-, gstack-, speckit-
  • Description tags: (gsd), (gstack), (speckit)
  • Vibemode: Shows only universal skills (no workflow tags)

Synergies

The true power of COdo is realized when features are combined:

/goal + /workflow gsd
Set a high-level goal, then GSD breaks it into milestones. Goal = the why, workflow = the how.
/workflow speckit + compose
Create a rigorous spec with Speckit, then execute it in parallel using compose sub-agents.
/scraper + compose:tdd
Scrape the latest API docs, then write tests based on that fresh documentation before implementation.
/workflow gstack + compose:review
After CEO and Eng reviews via Gstack, use compose:review as the final quality gate before shipping.

Quick Reference Matrix

Scenario Recommended Tool
Quick fix or prototype Vibemode (default)
Complex feature with clear success condition /goal
Long-running project with milestones /workflow gsd
Solo founder shipping fast /workflow gstack
Enterprise with compliance requirements /workflow speckit
Need orchestration + TDD Compose Agent
Extract data from websites /scraper
Team project with reviews gstack /review or compose:review
Autonomous sprint /goal + gsd:autonomous
Security audit gstack /cso
Bug with unknown root cause compose:debug
Test-driven development compose:tdd
Parallel task execution compose:parallel
Design-to-code pipeline gstack /design-shotgun → /design-html
Structured specs for a new feature /speckit.specify → /speckit.plan

Contributing

Development Setup

BASH
git clone https://github.com/Mosalah4351/COdo
cd COdo
bun install

# Run the TUI in dev mode
cd packages/opencode
bun dev

# Type-check
bun typecheck

# Run tests (must be run from packages/opencode, not repo root)
bun test

Branch Naming

  • Default branch: dev (not main)
  • ✅ Short, 2–3 word, hyphen-separated: session-recovery, fix-scroll
  • ❌ No prefix conventions: not feat/session-recovery

Commit Style

Conventional commits: type(scope): message

feat(tui): add workflow selector with checkmarks
fix(core): resolve session timeout on long sessions
docs: update workflow reference

Contact

Questions and contributions welcome. Reach out to Mosalah4351@gmail.com or open a GitHub issue at github.com/Mosalah4351/COdo.

COdo is developed by Mohamed Salah — Computer Science student and open-source developer.