Continue (continue)
Set up this tool
Continue is no longer actively maintained. agnostic-ai still writes its rules, skills, and MCP servers under .continue/, plus optional assistant files.
First rule
Install the client using the official setup guide, then open your project in it.
Select continue in agnostic-ai.yaml, then follow First rule to add the shared commit-prefix rule and sync it. With the default paths, it reaches .continue/rules/conventional-commits.md.
Agents become rule content by default. Optional assistant files are standalone configs, not automatically discovered subagents.
For existing files, check what import continue reads before syncing.
Verify
Run agnostic-ai sync --check and inspect .continue/rules/conventional-commits.md for the commit-prefix rule. Open the project in Continue. Find the rule in the rules picker, then ask for a commit subject for a small fix; it should use fix:.
Next, add a skill.
Output
.continue/rules/<name>.md
.continue/skills/<name>/SKILL.md # one folder per skill, bundled assets included
.continue/mcpServers/<name>.yaml # one per MCP entry
.continue/assistants/<name>.yaml # one per agent, only when assistants-dir is set
Native mappings
Field mappings, discovery, and compatibility
- Rule activation: a scoped rule matches its scope directory plus its
globsorpaths, and gets noalwaysApply. A rule with no directory scope keepsglobs,alwaysApply, anddescription. A comma-separatedglobsstring becomes an array, because Continue reads a string as one pattern.x-continue.regexworks only withoutscope. See file-pattern limits for directory rules. - Skills:
.continue/skills/<name>/SKILL.mdand bundled files are copied unchanged. The IDE extension andcnread this folder and.claude/skills/. Continue requiresnameanddescription, and offers the other files on demand (loadMarkdownSkills.ts). It does not merge names across the two folders, so with theclaudetarget each skill shows up twice.- A skill has only
nameanddescription, and every skill is offered to the model, so none can be kept user-only.disable-model-invocationis dropped with a note, and commands are skipped.invokablebelongs to prompts, not skills.
- A skill has only
- MCP: each file is a Continue block (
name,version,schema: v1) with the server under anmcpServers:list. A flat single-server file does not load.- Stdio servers get
command/args/env/cwd. Remote servers gettype/url/requestOptions, andenv(stdio only) is dropped with a sync note. type: httpbecomestype: streamable-http, the only Streamable HTTP value Continue's schema accepts.sseandstreamable-httpare unchanged.headersmoves torequestOptions.headers.import continuereverses both.- Every transport keeps
connectionTimeout(milliseconds). RemoterequestOptionskeepstimeout,verifySsl,caBundlePath,proxy,clientCertificate, andheaders. An explicit native header wins a duplicate key.x-continueoverrides each matching top-level option. - No file is written, with a sync note, for
type: ws(Continue has no websocket transport) or for an entry missingcommand(stdio) orurl(remote). Either would make Continue reject the whole file.
- Stdio servers get
- Assistants: with
outputs.continue.assistants-dirset, each agent also gets<dir>/<name>.yamlwithname,version(default0.0.1),schema: v1, and the body as oneprompts: [{name, description, prompt}]entry, per Continue's schema (reference).- Continue may not scan this directory. Its config docs describe one global
~/.continue/config.yamland no project-level agent directory. - Each file is a standalone
config.yamlforcn --config <dir>/<name>.yamlor the IDE's config picker. It has no models or rules, so your defaults apply. - The rule form (
.continue/rules/agent-<name>.md) is written either way.
- Continue may not scan this directory. Its config docs describe one global
Config keys
| Key | Default | Notes |
|---|---|---|
outputs.continue.rules-dir | .continue/rules | One .md per rule and agent. |
outputs.continue.skills-dir | .continue/skills | |
outputs.continue.mcp-dir | .continue/mcpServers | |
outputs.continue.assistants-dir | empty | opt-in |
Import
agnostic-ai import continue reads .continue/rules/ and sorts each file into a spec kind by filename prefix. Native globs and regex values (strings or arrays, including empty arrays and patterns with commas) are kept under x-continue.
- Scope: a subfolder named after a project directory sets the rule's scope. The rule then matches the scope directory plus its patterns. A scoped
regexor scoped emptyglobsarray is reported as unsupported. To filter by file only, omitscopeand keep the source file outside any folder that sets scope. - Native activation:
x-continue.globsandx-continue.regexkeep the rule's activation exactly, as long as there is no portablescope. A rule in a subfolder stays in that folder, even when the folder names no project directory. An explicitscopeswitches to scope plus patterns, with its selector limits. - Skills: from
.continue/skills/with bundled files. - MCP: from
.continue/mcpServers/:*.yamlblocks with one server, and.jsonfiles (read as JSONC) with anmcpServersmap or a single server named after the file. A duplicate or unsafe name fails before any spec is written. Connection options survive import and sync.
MCP import replaces literal Sync removes the env and header values with ${NAME} references and tells you which variables to set. Continue's ${{ secrets.NAME }} comes back as ${NAME}. Sync writes Continue's secret syntax in stdio env and args and in remote url and requestOptions.headers, including x-continue overrides. The IDE reads secrets from a project .env, .continue/.env, or ~/.continue/.env file. The CLI also reads process environment variables. See Continue's secrets guide and secret resolution. Keep those files out of Git.Skill rules from older versions
.continue/rules/skill-<name>.md files it wrote in older versions. Import still reads a skill-<name>.md rule as a skill.
Protected paths
Not enforced. This target takes no settings specs, so sync reports a spec with a protected block as unsupported. See protected-path alternatives.