Skip to content
This repository was archived by the owner on Jul 15, 2026. It is now read-only.

Dev Buddy Configuration

Z-M-Huang edited this page Mar 1, 2026 · 18 revisions

Dev Buddy Configuration

Config File Locations

File Purpose Created By
~/.vcp/dev-buddy.json Pipeline stage configuration (which stages, providers, models) Auto-created with defaults on first run
~/.vcp/ai-presets.json AI provider presets (subscription, API, CLI) Auto-created with anthropic-subscription default

Pipeline Config Schema

The pipeline is configured via ~/.vcp/dev-buddy.json. It contains two ordered arrays of stages — one for feature development, one for bug fixes — plus global settings.

{
  "feature_pipeline": [
    { "type": "requirements", "provider": "anthropic-subscription", "model": "opus" },
    { "type": "planning", "provider": "anthropic-subscription", "model": "opus" },
    { "type": "plan-review", "provider": "anthropic-subscription", "model": "sonnet" },
    { "type": "plan-review", "provider": "anthropic-subscription", "model": "opus" },
    { "type": "plan-review", "provider": "my-codex-preset", "model": "o3" },
    { "type": "implementation", "provider": "anthropic-subscription", "model": "sonnet" },
    { "type": "code-review", "provider": "anthropic-subscription", "model": "sonnet" },
    { "type": "code-review", "provider": "anthropic-subscription", "model": "opus" },
    { "type": "code-review", "provider": "my-codex-preset", "model": "o3" }
  ],
  "bugfix_pipeline": [
    { "type": "rca", "provider": "anthropic-subscription", "model": "sonnet" },
    { "type": "rca", "provider": "anthropic-subscription", "model": "opus" },
    { "type": "plan-review", "provider": "my-codex-preset", "model": "o3" },
    { "type": "implementation", "provider": "anthropic-subscription", "model": "sonnet" },
    { "type": "code-review", "provider": "anthropic-subscription", "model": "sonnet" },
    { "type": "code-review", "provider": "anthropic-subscription", "model": "opus" },
    { "type": "code-review", "provider": "my-codex-preset", "model": "o3" }
  ],
  "max_iterations": 10,
  "team_name_pattern": "pipeline-{BASENAME}-{HASH}"
}

Stage Types

Each stage entry has three required fields: type, provider, and model.

Type Singleton Allowed In Agent Output File
requirements yes feature only requirements-gatherer user-story/ (multi-file directory)
planning yes feature only planner plan/ (multi-file directory)
plan-review no feature, bugfix plan-reviewer plan-review-{provider}-{model}-{index}-v{V}.json
implementation yes feature, bugfix implementer impl-result.json
code-review no feature, bugfix code-reviewer code-review-{provider}-{model}-{index}-v{V}.json
rca no bugfix only root-cause-analyst rca-{provider}-{model}-{index}-v{V}.json

Stage Entry Format

{ "type": "<stage-type>", "provider": "<preset-name>", "model": "<model-id>" }
  • type — One of the 6 stage types above
  • provider — Name of a preset defined in ~/.vcp/ai-presets.json
  • model — Model identifier (must match /^[a-zA-Z0-9._-]+$/)
  • parallel (optional) — Set to true to run this stage concurrently with adjacent parallel stages (forms a parallel group)

Constraints

  • Singleton stages (requirements, planning, implementation) may appear at most once per pipeline
  • requirements and planning are feature-only — not allowed in bugfix pipeline
  • rca is bugfix-only — not allowed in feature pipeline
  • Each pipeline must have at least one implementation stage
  • model is required on every stage entry

Config Validation

loadPipelineConfig() validates the config file at pipeline startup:

  • Each stage must have type, provider, and model
  • Singleton constraints are enforced
  • Stage types are validated against the 6 allowed types
  • Pipeline-specific stage restrictions are checked
  • If the file is missing, factory defaults are returned

Default Pipelines

Feature Pipeline (9 stages)

Stage Type Agent Model
1 requirements requirements-gatherer opus
2 planning planner opus
3 plan-review plan-reviewer sonnet
4 plan-review plan-reviewer opus
5 plan-review plan-reviewer sonnet
6 implementation implementer sonnet
7 code-review code-reviewer sonnet
8 code-review code-reviewer opus
9 code-review code-reviewer sonnet

Bug-Fix Pipeline (7 stages)

Stage Type Agent Model
1 rca root-cause-analyst sonnet
2 rca root-cause-analyst opus
3 plan-review plan-reviewer sonnet
4 implementation implementer sonnet
5 code-review code-reviewer sonnet
6 code-review code-reviewer opus
7 code-review code-reviewer sonnet

max_iterations

Controls the maximum number of fix/re-review cycles across all pipeline stages before escalating to the user. Default: 10.

When a reviewer returns needs_changes, the orchestrator creates fix + re-review tasks. After max_iterations total re-reviews, the pipeline stops and asks the user what to do.

team_name_pattern

Controls the naming pattern for the pipeline's task team. Default: "pipeline-{BASENAME}-{HASH}".

  • {BASENAME} — Last directory component of the project path (sanitized, max 20 chars)
  • {HASH} — First 6 characters of SHA-256 hash of the canonicalized project path

Web Portal

Launch a visual configuration interface:

/dev-buddy-config

The web portal provides:

Tab Features
AI Presets List, add, update, remove presets; reveal/hide API keys; test connectivity before or after saving
Pipeline Config Configure which stages each pipeline uses, with drag-and-drop ordering

The portal runs on localhost, auto-opens your browser, and shuts down after 60 minutes of inactivity.

Testing Presets

You can test preset connectivity in two ways:

  • Saved presets — Click the "Test" button on any preset card to verify connectivity using the saved credentials
  • Before saving — While adding or editing a preset, click "Test Connectivity" (API) or "Test Command" (CLI) to verify credentials before saving

API presets test each model by sending a minimal request to the provider endpoint. CLI presets verify the command exists on $PATH. Subscription presets need no connectivity test.

CLI Management

For terminal-based preset management:

/dev-buddy-manage-presets

This provides list, add, update, and remove operations for AI provider presets. See AI Provider Presets for details.

Clone this wiki locally