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
globsconstrained to the directory and omitalwaysApply, allowing file matching to control inclusion. Unscoped rules retain their configuredglobs,alwaysApply, anddescription;x-continue.regexis available only withoutscope. See scoped selector limits. - MCP: each YAML under
.continue/mcpServers/is a Continue block file: aname+version+schema: v1wrapper with the server nested under anmcpServers:list (a flat single-server file does not load). Stdio emitscommand/args/env. Remote servers emittype/url/requestOptions, with noenv: 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: httplands astype: streamable-http, the only Streamable HTTP literal Continue's schema accepts (sseandstreamable-httpcarry over unchanged). Aheadersmap nests asrequestOptions.headers, the only place that branch reads headers from.import continueundoes 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 (commandon stdio,urlon a remote server), which trae, warp, antigravity and windsurf decline too. Both would match neither branch of the union and makeblockSchema.parsethrow, failing the whole file rather than skipping the entry.
- The spelling is Continue's rather than the spec's:
- Assistants: when
outputs.continue.assistants-diris set, each agent also emits as a YAML file at<dir>/<name>.yaml:name,version(0.0.1by default), andschema: v1at the top level, with the agent body wrapped as a singleprompts: [{name, description, prompt}]entry.- That shape matches Continue's own schema exactly (
promptSchemaandconfigYamlSchemaincontinuedev/continue'spackages/config-yaml/src/schemas/index.ts; docs.continue.dev/reference documents the samename/version/schema: v1top 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-diras a directory of assistants.understanding-configs.mdxdescribes 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.
- That shape matches Continue's own schema exactly (
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
| Key | Default | Notes |
|---|---|---|
outputs.continue.rules-dir | .continue/rules | One .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-dir | empty | opt-in |
Import
agnostic-ai import continue reads rules from .continue/rules/ and reclassifies each file by filename prefix.
MCP servers import from .continue/mcpServers/:
*.yamlblocks containing exactly one server..jsonfiles parsed as JSONC. A JSON file can hold anmcpServersmap 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
- Install the Continue extension in VS Code (or JetBrains).
- Check the tree:
ls .continue/rules/ .continue/mcpServers/,grep "Generated by agnostic-ai" .continue/rules/*.md .continue/mcpServers/*.yamlfor the provenance header,python -c "import yaml,sys; [yaml.safe_load(open(f)) for f in __import__('glob').glob('.continue/mcpServers/*.yaml')]". - Open the project. Continue loads every
.continue/rules/*.md; each appears in the rules picker with no "failed to parse" warnings. A rule withglobsshows as active only while a matching file is in context. - The MCP picker shows each
.continue/mcpServers/<name>.yamlgreen. - If
outputs.continue.assistants-diris set, each<dir>/<name>.yamlparses as a validconfig.yaml(python -c "import yaml; yaml.safe_load(open('<dir>/<name>.yaml'))"). Native directory discovery is unconfirmed, so load one explicitly withcn --config <dir>/<name>.yamlto confirm Continue accepts it.