Guía10 min

Continue.dev: guía práctica del agente open source en VS Code

Resumen

Continue.dev es el agente de código open source que vive en VS Code, JetBrains y la CLI cn. Esta guía cubre instalación, modos Chat/Plan/Agent, config.yaml, reglas en .continue/rules, headless cn -p y el checklist para usarlo después del freeze 2.0.0 del repo.

GitHub
Editor con panel de agente Continue, selector de modos y un archivo config.yaml abierto

Qué resuelve

Esta pieza se queda en la decisión práctica: qué instalar, qué riesgo agrega y cómo aplicarlo sin romper operación.

Continue.dev es el agente de código open source que se mete en el editor que ya usas: extensión de VS Code, plugin de JetBrains y CLI cn. No te pide cambiar de IDE. Le das un modelo (OpenAI, Anthropic, Gemini, Ollama, un endpoint compatible), reglas locales y tools MCP, y trabaja en Chat, Plan o Agent. Licencia Apache 2.0, 2023–2026 Continue Dev, Inc.

El README de continuedev/continue declara el repo read-only y una release final 2.0.0 (junio 2026). No borra la herramienta: @continuedev/cli sigue en npm (1.5.47). Esta guía del hub Construir agentes cubre instalar, elegir modo, versionar config.yaml y usar cn -p. Superficie IDE: Cursor. Terminal: Aider u OpenCode. Contrato del repo: AGENTS.md.

Qué es Continue, en una frase útil

Continue no es un modelo. Es un harness: modelos + reglas + tools. El config.yaml de referencia lo dice en una línea: un agente se compone de models, rules y mcpServers. El editor (o cn) solo es la superficie.

Tres superficies, un contrato:

SuperficieCómo entraPara qué
VS CodeMarketplace Continue.continue u OpenVSXChat, Edit, Autocomplete, Agent
JetBrainsrelease de GitHub (el README recomienda la CLI)mismo agente, otro atajo
CLI cnnpm i -g @continuedev/cli o el install.shTUI interactiva o headless -p

El README raíz recomienda CLI en lugar del plugin de JetBrains. En VS Code el atajo documentado del sidebar es Cmd/Ctrl + L; en JetBrains, Cmd/Ctrl + J.

Instalación: editor y CLI

En VS Code instala Continue (Continue.continue) desde Marketplace u OpenVSX. Abre el sidebar, elige un agente y entra al engranaje para editar la config.

Para la CLI, Node 20+:

npm i -g @continuedev/cli
cn

macOS/Linux también tienen el script del repo:

curl -fsSL https://raw.githubusercontent.com/continuedev/continue/main/extensions/cli/scripts/install.sh | bash

Windows (PowerShell): irm .../install.ps1 | iex. Tras instalar: cn login si usas la cuenta de Continue, o define modelos en YAML con apiKey propia. cn logout cierra la sesión.

Tres modos: Chat, Plan, Agent

La guía oficial de Agent separa tres modos en el selector bajo el input (Cmd/Ctrl + . para ciclar):

ModoToolsAnalogíaÚsalo para
Chatningunacolega que explicaconceptos, comparar enfoques, review hablada
Plansolo lecturaarquitecto antes de reformarentender el repo, investigar un bug, plan
Agenttodascontratista con plano aprobadofeatures, fixes, tests y comandos

Si Agent o Plan salen Not Supported, el modelo o el provider no expone tools (o Continue no las cableó aún). Cambia de modelo, no insistas con el mismo.

En Agent el default es pedir permiso por tool. Políticas auto/ask/exclude viven con MCP. Contexto extra: @ y código resaltado. Autocomplete y Apply no reciben rules.

config.yaml: el contrato, no el Hub

config.json está deprecado. El schema vivo es YAML. Campos top-level de la referencia: name, version y schema (obligatorios), más models, context, rules, prompts, docs, mcpServers, data.

Un mínimo que arranca Chat + Agent con OpenAI:

name: My Config
version: 0.0.1
schema: v1

models:
  - name: GPT-4.1
    provider: openai
    model: gpt-4.1
    apiKey: <YOUR_OPENAI_API_KEY>
    roles: [chat, edit, apply, summarize]

provider y model son obligatorios por bloque. roles por defecto es [chat, edit, apply, summarize]; añade autocomplete, embed o rerank si ese modelo lo cumple. Para un servidor compatible (vLLM, LiteLLM, Ollama detrás de /v1):

models:
  - name: Local OpenAI-compat
    provider: openai
    model: llama3.1
    apiBase: http://localhost:8000/v1
    apiKey: local

La release 1.2.24 del VS Code extension (junio 2026) quitó los slugs del Hub del onboarding: el template nuevo pide definiciones explícitas de modelo. No copies un owner/slug de Hub en un YAML nuevo.

Diagrama de pipeline con config.yaml, reglas locales y tools MCP alimentando el agente

Reglas locales: .continue/rules

Las rules forman el system message de Agent, Chat y Edit. Se concatenan con saltos de línea en el orden del toolbar (icono de pluma). Markdown recomendado; YAML sigue válido.

  1. Crea .continue/rules/ en la raíz del workspace.
  2. Añade un .md con frontmatter name.
  3. Opcional: globs, regex, description, alwaysApply.
---
name: TypeScript conventions
globs: "**/*.{ts,tsx}"
alwaysApply: false
---

- pnpm only; nunca npm.
- Conventional Commits en español técnico.
- No inventes slugs; verifica el archivo.

alwaysApply: true entra siempre. false entra si los globs pegan o si el agente decide por description. Sin alwaysApply, el default es: entra si no hay globs, o si los globs pegan. En Agent puedes pedir create_rule_block si esa tool está habilitada.

Esto convive con AGENTS.md: AGENTS.md es el contrato del repo para cualquier agente; .continue/rules es el system message de esta extensión. No dupliques párrafos. El corto va en Continue; el canónico, en AGENTS.md.

CLI headless: cn -p para scripts

El README de extensions/cli documenta headless sin TUI: scripts, CI, Docker, extensiones que invocan terminal sin TTY.

cn -p "Generate a conventional commit name for the current git changes."
echo "Review this code" | cn -p
cn -p "Analyze the code" --format json
cn -p "Write a README" --silent

-p no abre UI. --format json es parseable. --silent recorta thinking tags. --resume retoma la última sesión de esa terminal; cn ls --json lista 10. También: cn login, logout, remote, serve. FORCE_NO_TTY fuerza el modo sin stdin.

En CI: prompt concreto, JSON, techo de tiempo, cero TUI. Rama + PR, nunca main — el mismo contrato que Claude Code vs Codex.

Panel de operaciones con CLI cn en headless, sesión resumible y salida JSON

Freeze 2.0.0: qué sigue siendo cierto

El README raíz (2026-09-07) deja el repo read-only. v2.0.0-vscode estable el 2026-06-19; v1.2.24 ya había quitado slugs de Hub y Generate Rule.

  • Instala Marketplace / npm / ese tarball. Cero features nuevas del monorepo.
  • Versiona config.yaml y .continue/rules en git.
  • JetBrains es secundario: el README empuja a cn.
  • Roadmap vivo: Cursor, Aider u OpenCode. Continue sirve cuando quieres modelo propio + editor actual + config en el repo.

Checklist para no romper el repo

  • Extensión VS Code o cn (Node 20+). No las dos peleando por el mismo YAML sin saber cuál gana.
  • config.yaml con name, version, schema: v1 y al menos un models[] explícito. Cero slugs de Hub.
  • API keys fuera del prompt: env / secretos del OS, no pegadas en el chat. Ver secretos para agentes.
  • Empieza en Plan si no conoces el repo; pasa a Agent con un ticket acotado.
  • Permiso por tool hasta que la política auto esté justificada.
  • Rules en .continue/rules/*.md con name y globs. Autocomplete no las lee.
  • cn -p en CI con --format json. Cero TUI en pipelines.
  • Diff + PR. Cero commit a main desde el agente.
  • Asume freeze 2.0.0: el valor está en tu YAML, no en el Hub.

FAQ

¿Continue sigue existiendo si el GitHub está read-only? Sí. El freeze es del monorepo. Marketplace, OpenVSX y @continuedev/cli 1.5.47 siguen sirviendo el binario 2.x. Lo que no llega son features nuevas de ese repo.

¿Chat y Agent usan el mismo modelo? Pueden. roles te deja separar: un modelo barato en autocomplete y otro con tools en chat/edit. Si Agent dice Not Supported, ese modelo no tiene tools.

¿Las rules sustituyen a AGENTS.md? No. Rules son system message de Continue. AGENTS.md es el contrato para cualquier agente que clone el repo.

¿Ollama? provider: openai + apiBase al /v1, o provider: ollama. Mismo contrato: name, provider, model.

Si aún no eliges editor, el curso gratis deja el loop mínimo antes del YAML.