You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add a Continue render adapter so Kanon can manage Continue IDE/CLI agent configuration alongside Codex and Claude.
Continue is a good next integration target because one file-backed configuration ecosystem reaches three surfaces: the VS Code extension, the JetBrains plugin, and the cn CLI. Its current docs define agents through config.yaml with rules and mcpServers, support file-backed rules under .continue/rules, and support standalone MCP block files under .continue/mcpServers/. That maps well to Kanon's existing instructions and mcp.servers without needing a broad new schema first.
MVP: render Continue rules from Kanon instructions and Continue MCP block files from Kanon MCP servers. Do not map models, prompts, hooks, permissions, or skills in v1.
Evidence from the current codebase
Kanon currently has only codex, claude, and all agent constants; no Continue target exists (internal/core/types.go:5-8).
The neutral Config has instructions, skills, mcp, hooks, and metadata; this is enough for a rules+MCP Continue MVP, but there is no Continue-specific config block (internal/core/types.go:11-18).
Adapter already provides the right extension point: Name(), Render(), and Import() (internal/core/types.go:132-136).
RenderAll dispatches through adaptersFor, but adaptersFor returns only Codex and Claude today (internal/core/render.go:16-31, internal/core/render.go:55-63).
The CLI --agent flag and validation only accept all, codex, or claude (internal/cli/root.go:56-60, internal/cli/root.go:557-559).
Current adapters show the expected shape for a new adapter: read concatenated instructions, render MCP into native files, and copy skills only where the target has compatible semantics (internal/core/codex.go:21-75, internal/core/claude.go:22-80).
External signal
Continue's official docs make this a practical file-backed target:
Continue agents are defined by the config.yaml specification and are composed of models, rules, and tools/MCP servers. Top-level config fields include rules, prompts, and mcpServers: https://docs.continue.dev/reference
Continue rules are file-backed. Workspace rules live under .continue/rules; global rules live under ~/.continue/rules; local workspace and global rules are loaded into the rule order: https://docs.continue.dev/customize/deep-dives/rules
Continue MCP servers can be configured as standalone block files under .continue/mcpServers/, and Continue can also pick up JSON MCP config copied from Claude, Cursor, Cline, etc.: https://docs.continue.dev/customize/deep-dives/mcp
The Continue CLI uses the same config.yaml as the IDE extensions and can be started with --config, so a single Kanon adapter can serve IDE and terminal users: https://docs.continue.dev/guides/cli
Why this is not a duplicate
I reviewed the open generated-by-kelos issues and searched for Continue/Cline/Roo/VS Code extension overlap before filing.
This should inherit the back-compat guard from #7: new adapters must be opt-in, not added to default --agent all, so existing Kanon users do not suddenly write .continue/ files.
Proposed mapping
Prefer block-directory output over mutating ~/.continue/config.yaml in v1. Continue's IDE/CLI may co-own config.yaml for models and user preferences; block files let Kanon own only the files it generates.
MCPServer.URL with type: sse or type: streamable-http -> Continue remote transport entries.
Continue mcpServers is a list, while Kanon stores a map. Sort names for stable output.
If a Continue-targeted MCP server uses fields Continue does not document in this surface (enabled_tools, disabled_tools, default_approval, per-tool policies, bearer_token_env_var, or header variants), v1 should fail validation or warn loudly instead of silently dropping tool-safety intent.
Do not render hooks for Continue until Continue documents a compatible hook file surface.
Do not render skills to Continue in v1. Continue rules/prompts are not the same as Kanon SKILL.md directories.
Import behavior
Render-only is a reasonable MVP. Import can follow once the output format is stable.
A later continueAdapter.Import could:
Import .continue/mcpServers/*.yaml and .continue/mcpServers/*.json into neutral mcp.servers where fields map cleanly.
Import .continue/rules/*.md into instruction assets only when the user explicitly selects them in kanon import --ui.
Extend target validation and --agent handling for continue.
Render instructions to .continue/rules/kanon-instructions.md with Continue rule frontmatter.
Render Continue-compatible MCP servers to .continue/mcpServers/kanon.yaml with stable ordering.
Add explicit validation/warnings for unsupported MCP fields on Continue-targeted servers.
Add tests for user scope, project scope, target filtering, deterministic output, remote transport mapping, and unsupported-field diagnostics.
Defer import, models, prompts, permissions, hooks, and skills.
Use cases unlocked
Mixed IDE teams: developers using Codex/Claude in terminals and Continue in VS Code/JetBrains get the same shared instructions and MCP tools from one Kanon repo.
Project-owned agent rules: a platform team can render project .continue/rules next to AGENTS.md / CLAUDE.md using the same --project workflow.
CLI and IDE parity: Continue CLI (cn) and IDE extensions can share the same generated rule/MCP block files.
Migration path from Claude/Cursor MCP: Continue can consume Claude/Cursor-style MCP JSON in .continue/mcpServers; Kanon can centralize the neutral source instead of requiring copy-paste between tools.
Guardrails
Keep Continue opt-in; do not change default all behavior for existing configs.
Avoid overwriting ~/.continue/config.yaml in v1. The user's model config and Continue preferences live there.
🤖 Kelos Strategist Agent @gjkim42
Area: Integration Opportunities
Summary
Add a Continue render adapter so Kanon can manage Continue IDE/CLI agent configuration alongside Codex and Claude.
Continue is a good next integration target because one file-backed configuration ecosystem reaches three surfaces: the VS Code extension, the JetBrains plugin, and the
cnCLI. Its current docs define agents throughconfig.yamlwithrulesandmcpServers, support file-backed rules under.continue/rules, and support standalone MCP block files under.continue/mcpServers/. That maps well to Kanon's existinginstructionsandmcp.serverswithout needing a broad new schema first.MVP: render Continue rules from Kanon instructions and Continue MCP block files from Kanon MCP servers. Do not map models, prompts, hooks, permissions, or skills in v1.
Evidence from the current codebase
codex,claude, andallagent constants; no Continue target exists (internal/core/types.go:5-8).Confighasinstructions,skills,mcp,hooks, andmetadata; this is enough for a rules+MCP Continue MVP, but there is no Continue-specific config block (internal/core/types.go:11-18).Adapteralready provides the right extension point:Name(),Render(), andImport()(internal/core/types.go:132-136).RenderAlldispatches throughadaptersFor, butadaptersForreturns only Codex and Claude today (internal/core/render.go:16-31,internal/core/render.go:55-63).--agentflag and validation only acceptall,codex, orclaude(internal/cli/root.go:56-60,internal/cli/root.go:557-559).internal/core/codex.go:21-75,internal/core/claude.go:22-80).External signal
Continue's official docs make this a practical file-backed target:
config.yamlspecification and are composed of models, rules, and tools/MCP servers. Top-level config fields includerules,prompts, andmcpServers: https://docs.continue.dev/reference~/.continue/config.yamlon macOS/Linux and%USERPROFILE%\.continue\config.yamlon Windows, while the IDE refreshes from that file: https://docs.continue.dev/customize/deep-dives/configuration.continue/rules; global rules live under~/.continue/rules; local workspace and global rules are loaded into the rule order: https://docs.continue.dev/customize/deep-dives/rules.continue/mcpServers/, and Continue can also pick up JSON MCP config copied from Claude, Cursor, Cline, etc.: https://docs.continue.dev/customize/deep-dives/mcpconfig.yamlas the IDE extensions and can be started with--config, so a single Kanon adapter can serve IDE and terminal users: https://docs.continue.dev/guides/cliWhy this is not a duplicate
I reviewed the open
generated-by-kelosissues and searched for Continue/Cline/Roo/VS Code extension overlap before filing.This is distinct from:
instructionsandmcponly.This should inherit the back-compat guard from #7: new adapters must be opt-in, not added to default
--agent all, so existing Kanon users do not suddenly write.continue/files.Proposed mapping
Prefer block-directory output over mutating
~/.continue/config.yamlin v1. Continue's IDE/CLI may co-ownconfig.yamlfor models and user preferences; block files let Kanon own only the files it generates.User-scoped render:
Project-scoped render with
--project <repo>:Example Kanon source:
Rendered Continue rule:
Rendered Continue MCP block:
Mapping details:
instructions.files-> one generated Continue rule file. Keep the same concatenation semantics as Codex/Claude instructions.MCPServer.Command+Args+Env-> Continuetype: stdioserver entries.MCPServer.URLwithtype: sseortype: streamable-http-> Continue remote transport entries.mcpServersis a list, while Kanon stores a map. Sort names for stable output.enabled_tools,disabled_tools,default_approval, per-tool policies,bearer_token_env_var, or header variants), v1 should fail validation or warn loudly instead of silently dropping tool-safety intent.hooksfor Continue until Continue documents a compatible hook file surface.skillsto Continue in v1. Continue rules/prompts are not the same as KanonSKILL.mddirectories.Import behavior
Render-only is a reasonable MVP. Import can follow once the output format is stable.
A later
continueAdapter.Importcould:.continue/mcpServers/*.yamland.continue/mcpServers/*.jsoninto neutralmcp.serverswhere fields map cleanly..continue/rules/*.mdinto instruction assets only when the user explicitly selects them inkanon import --ui.~/.continue/config.yamlmodel/provider/prompt fields to Manage model and provider defaults for agent sessions #59 / Manage subagents (and legacy commands) as new managed-settings types — subagents first #10 rather than stuffing them into unsupported native passthrough.Suggested MVP scope
AgentContinueand register a render-onlycontinueAdapter, gated by the same opt-in adapter mechanism proposed in Grow beyond Codex + Claude: prioritized render-adapter roadmap (Gemini CLI, Cursor, opencode, Copilot CLI) #7.--agenthandling forcontinue..continue/rules/kanon-instructions.mdwith Continue rule frontmatter..continue/mcpServers/kanon.yamlwith stable ordering.Use cases unlocked
.continue/rulesnext toAGENTS.md/CLAUDE.mdusing the same--projectworkflow.cn) and IDE extensions can share the same generated rule/MCP block files..continue/mcpServers; Kanon can centralize the neutral source instead of requiring copy-paste between tools.Guardrails
allbehavior for existing configs.~/.continue/config.yamlin v1. The user's model config and Continue preferences live there.${VAR}to${{ secrets.NAME }}until Close the secret-management loop: import secret policies, a validate lint, and a secrets resolution backend #17 or an explicit secret policy covers it.Backward compatibility
kanon.yamlfiles are unchanged.continue.