Type to search the docs and updates.

Browse documentation

Continue (continue)

Output

.continue/rules/<name>.md
.continue/mcpServers/<name>.yaml       # one per MCP entry
.continue/assistants/<name>.yaml       # one per agent, only when assistants-dir is set
  • Rule activation: scoped rules emit globs constrained to the directory and omit alwaysApply, allowing file matching to control inclusion. Unscoped rules retain their configured globs, alwaysApply, and description; x-continue.regex is available only without scope. See scoped selector limits.
  • MCP: each YAML under .continue/mcpServers/ is a Continue block file: a name + version + schema: v1 wrapper with the server nested under an mcpServers: list (a flat single-server file does not load). Stdio emits command/args/env. Remote servers emit type/url/requestOptions, with no env: Continue declares that field on its stdio server only, so a remote entry that sets one drops it and raises a coverage note rather than writing a key the schema strips.
    • The spelling is Continue's rather than the spec's: type: http lands as type: streamable-http, the only Streamable HTTP literal Continue's schema accepts (sse and streamable-http carry over unchanged). A headers map nests as requestOptions.headers, the only place that branch reads headers from. import continue undoes both, so a spec that round-trips through Continue stays portable.
    • Two kinds of entry emit no file at all, each with a coverage note: type: ws, because Continue documents no websocket transport, and an entry missing the field its branch requires (command on stdio, url on a remote server), which trae, warp, antigravity and windsurf decline too. Both would match neither branch of the union and make blockSchema.parse throw, failing the whole file rather than skipping the entry.
  • Assistants: when outputs.continue.assistants-dir is set, each agent also emits as a YAML file at <dir>/<name>.yaml: name, version (0.0.1 by default), and schema: v1 at the top level, with the agent body wrapped as a single prompts: [{name, description, prompt}] entry.
    • That shape matches Continue's own schema exactly (promptSchema and configYamlSchema in continuedev/continue's packages/config-yaml/src/schemas/index.ts; docs.continue.dev/reference documents the same name/version/schema: v1 top level). Confirmed 2026-08-08, after the prior citation, /hub/assistants/intro, 404d and the whole /hub/ doc namespace turned out to be gone (#563).
    • What is not confirmed: that Continue itself scans outputs.continue.assistants-dir as a directory of assistants. understanding-configs.mdx describes Local Configuration as one global ~/.continue/config.yaml, with no project-scoped per-agent directory anywhere in the current docs.
    • Since the emitted file is a self-contained, valid config.yaml, point Continue at it explicitly instead: cn --config <dir>/<name>.yaml, or the IDE's config picker. Models and rules are omitted so user defaults apply. The rule-form emission (.continue/rules/agent-<name>.md) still happens either way.

Stdio MCP servers preserve cwd; every transport preserves connectionTimeout (milliseconds). Remote requestOptions preserves timeout, verifySsl, caBundlePath, proxy, clientCertificate, and headers. Portable headers fills requestOptions.headers; an explicit native header wins a duplicate key. x-continue overrides each corresponding top-level option.

Config keys

KeyDefaultNotes
outputs.continue.rules-dir.continue/rulesOne .md per rule, agent, and skill. Continue has no skill surface, so a skill lands here as skill-<name>.md.
outputs.continue.mcp-dir.continue/mcpServers
outputs.continue.assistants-diremptyopt-in

Import

agnostic-ai import continue reads rules from .continue/rules/ and reclassifies each file by filename prefix.

MCP servers import from .continue/mcpServers/:

  • *.yaml blocks containing exactly one server.
  • .json files parsed as JSONC. A JSON file can hold an mcpServers map or a bare server named after its filename.

Duplicate or unsafe server names across files fail before MCP specs are written. Connection options survive import and sync, and import undoes the Continue spellings described under MCP.

Verify

  1. Install the Continue extension in VS Code (or JetBrains).
  2. Check the tree: ls .continue/rules/ .continue/mcpServers/, grep "Generated by agnostic-ai" .continue/rules/*.md .continue/mcpServers/*.yaml for the provenance header, python -c "import yaml,sys; [yaml.safe_load(open(f)) for f in __import__('glob').glob('.continue/mcpServers/*.yaml')]".
  3. Open the project. Continue loads every .continue/rules/*.md; each appears in the rules picker with no "failed to parse" warnings. A rule with globs shows as active only while a matching file is in context.
  4. The MCP picker shows each .continue/mcpServers/<name>.yaml green.
  5. If outputs.continue.assistants-dir is set, each <dir>/<name>.yaml parses as a valid config.yaml (python -c "import yaml; yaml.safe_load(open('<dir>/<name>.yaml'))"). Native directory discovery is unconfirmed, so load one explicitly with cn --config <dir>/<name>.yaml to confirm Continue accepts it.