Authoring

Write a .agw agent, validate it before you run it, and reuse or connect it into the rest of Agent Web.

The .agw shape

Every file starts with a version pragma, then an agent block declaring its identity and boundaries, then one or more intent blocks. Instructions are plain text — an intent with no instructions: block is rejected by the daemon (MissingBehavior), so an agent always says what it does, in its own words:

pragma agw "1.0";

agent MyAgent {
    version: "1.0.0";
    domain: "my-agent.example.com";

    network {
        deny all;
    }
}

intent DoTheThing {
    description: "One-line summary of what this intent does.";
    instructions: """
    Say, concretely, what the model should do with its input and
    what it should return.
    """;
}

This is the same shape this repository's own dev-assistant agents use — see dev-agents/agents/*.agw in the source tree for complete, working examples (knowledge Q&A, feature scoping, code review, debugging), each independently reusable.

Validate before you run

agw check <file> runs syntax and semantic analysis only — no output is written, nothing executes. It exits non-zero on any diagnostic error; --json emits every diagnostic as one machine-readable array instead of human-readable text. Run it before you import a file anywhere else.

agw check my-agent.agw

Your agents, in your IDE

Agent Web mirrors what you author to ~/.agentweb/agents on disk (disable with ACP_IDE_EXPORT=0, relocate with ACP_IDE_EXPORT_DIR). The MCP bridge watches that folder live and, once connected, serves each agent as a prompt your IDE's own model can call — no API key, no separate subscription.

agentweb mcp install

Detects VS Code, Cursor, Windsurf, Zed, and Codex and writes each one's config directly. Claude Code and JetBrains IDEs get printed instructions instead, since their MCP config is managed by their own tooling.

Bring one in

In the desktop app, Developer Studio's Bring one in import loads an existing .agw file or an exported agent.yaml so you can inspect and continue editing it — the same "Open Existing Project" path used to load any of this project's own dev-assistant agents.