Skip to content

Architecture

Harness edited this page May 19, 2026 · 4 revisions

Architecture

Overview

┌─────────────────────┐     IPC (JSON lines)     ┌─────────────────────┐
│  VS Code Extension  │ ◄──────────────────────► │  CLI daemon         │
│  - Chat webview     │      stdin / stdout      │  - IpcServer        │
│  - Config panels    │      stderr = logs       │  - AgentRouter      │
│  - CliService       │                          │  - Connectors       │
└─────────────────────┘                          └──────────┬──────────┘
                                                            │
                    Copilot · Devin · Cursor · Claude · Kiro

Rules

  1. Extension never reads file contents for agent calls
  2. stdout = JSON IPC only (daemon mode)
  3. stderr = human logs (harnessLog)
  4. Secrets in VS Code Secret Storage or env — not in YAML

Packages

Package Role
packages/extension UI, IPC client, webviews
packages/cli Daemon, router, connectors, specs

Bundling

The CLI is bundled as a single ESM file inside the .vsix (extension/cli/dist/index.js).

More detail

Clone this wiki locally