Skip to content
Weaveweave / docs
Get started ↗
Docs/Getting Started/What is Weave?

What is Weave?

Weave is a harness-agnostic prompt and agent-configuration system. You describe agents, prompts, categories, model preferences, skills, tool policy, and workflows in a .weave file. An adapter translates that intent into one supported coding-agent harness. The harness still owns its native UI, models, tools, and execution behavior.

Configure your agent system once. Run it across OpenCode, Pi, or Claude Code. Each agent has a distinct role, and Weave handles routing, delegation, and workflow coordination. You get specialized agents without rebuilding your configuration for each harness.

Weave follows a three-layer architecture:

flowchart LR
Config[".weave config<br/>(DSL)"]
Engine["Engine<br/>(composition)"]
Adapter["Adapter<br/>(translation)"]
Harness["Harness<br/>(runtime)"]
Config --> Engine
Engine --> Adapter
Adapter --> Harness
  1. Configuration layer: You declare agents, prompts, workflows, and policies in .weave files. Built-in defaults, global preferences, and project-specific overrides merge into one normalized intent model.

  2. Engine layer: The engine composes harness-agnostic agent descriptors, prompt text, category shuttles, workflows, and policies. It answers “what should exist?” without making harness-specific assumptions.

  3. Adapter layer: The adapter translates engine output into concrete harness behavior. It discovers available models and skills, maps abstract tool permissions to concrete tool names, and registers harness-specific plugins, commands, or hooks.

The harness then runs the agents using its native UI, model invocation, and tool execution.

Weave operates in two modes. Loom-led conversational routing is the default. Explicit workflow invocation is opt-in.

Loom receives your request and routes to the right specialist based on the nature of the work. Not every request uses every agent. Loom decides whether to delegate to Pattern for planning, Thread for codebase investigation, Spindle for external research, or other specialists as appropriate.

This is the primary mode. You talk to Loom, and Loom orchestrates the rest.

You can explicitly start a named workflow. Pattern creates a plan, you approve it, and Tapestry coordinates execution by delegating tasks to Shuttle. Optional quality gates can be configured using Weft for code review or Warp for security audits.

This mode provides structured, multi-step execution with clear task boundaries and durable workflow state.

Weave provides eight specialized agents:

  • Loom: Primary coordinator that routes requests to specialists
  • Pattern: Creates structured execution plans
  • Tapestry: Drives plan completion by delegating tasks
  • Shuttle: Implements bounded work within a domain
  • Thread: Gathers evidence from the codebase
  • Spindle: Researches external docs and APIs
  • Weft: Reviews changes for quality and standards
  • Warp: Audits code for security vulnerabilities

See the agents guide for detailed role descriptions and delegation patterns. You can also learn about categories for domain-specific routing and workflows for multi-step execution.

Weave currently supports three harnesses with different capability levels:

Runtime plugin with full workflow support.

The OpenCode adapter runs as a native plugin. It provides full support for all agents, durable workflow execution, runtime state persistence, and lifecycle hooks. This is the most capable integration.

Install on OpenCode

Extension with full workflow support.

The Pi adapter runs as a shipped extension. It provides full support for all agents, durable workflow execution, and runtime state persistence. Requires Pi 0.81.1 or newer.

Install on Pi

File materialization without durable workflow runtime.

The Claude Code adapter generates agent files, prompts, model aliases, tool lists, category shuttles, and the /weave:start plan-entry command. It does not provide a durable workflow runtime. Workflows must be driven manually through generated commands and files.

Install on Claude Code