Start Debugging

Cursor 3.9 empaqueta la configuración de tu agente en plugins portables

Cursor 3.9 incorpora un sistema de plugins y una página Customize unificada para que skills, reglas, servidores MCP, comandos y hooks viajen juntos como una unidad versionada.

Cursor 3.9 llegó el 22 de junio de 2026, y lo más destacado no es un cambio de modelo ni un apply más rápido. Es fontanería: un formato de plugin real más una única página Customize que reúne plugins, skills, MCP, subagentes, reglas, comandos y hooks en una sola pantalla que administras a nivel de usuario, equipo o workspace.

Si has configurado un agente de Cursor para un equipo, sabes por qué esto importa. Las piezas que hacen útil a un agente en tu base de código solían vivir en lugares separados: las reglas en archivos .mdc, los servidores MCP en su propia configuración, los comandos en otro sitio, los hooks atornillados al final. Incorporar a un compañero implicaba replicarlo todo a mano. Un plugin convierte ese conjunto en un único artefacto versionado y compartible.

Qué es realmente un plugin

Un plugin es un directorio con un manifiesto en .cursor-plugin/plugin.json. Todo lo demás es convención:

my-stack/
├── .cursor-plugin/
│   └── plugin.json     # manifest
├── skills/             # subdirs with SKILL.md
├── rules/              # .mdc rule files
├── commands/           # slash commands
├── hooks/hooks.json
└── mcp.json            # MCP server definitions

El manifiesto solo requiere name (kebab-case en minúsculas). Cada ruta de componente es opcional, y si la omites Cursor descubre automáticamente las carpetas predeterminadas de arriba:

{
  "name": "enterprise-plugin",
  "version": "1.2.0",
  "description": "Security scanning and compliance checks",
  "author": { "name": "ACME DevTools", "email": "devtools@acme.com" },
  "keywords": ["enterprise", "security", "compliance"],
  "rules": "rules/",
  "skills": "skills/",
  "commands": "commands/",
  "hooks": "hooks/hooks.json",
  "mcpServers": "mcp.json"
}

Los servidores MCP usan la misma forma que ya conoces de Cursor y Claude Desktop, así que las configuraciones existentes encajan directamente:

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres"],
      "env": { "POSTGRES_CONNECTION_STRING": "${POSTGRES_URL}" }
    }
  }
}

Los hooks también van en el paquete. Un plugin puede forzar un paso de formateo después de cada edición o restringir llamadas peligrosas al shell sin que nadie edite la configuración local:

{
  "hooks": {
    "afterFileEdit": [{ "command": "./scripts/format-code.sh" }],
    "beforeShellExecution": [
      { "command": "./scripts/validate-shell.sh", "matcher": "rm|curl|wget" }
    ]
  }
}

La distribución es la verdadera característica

La página Customize muestra una tabla de clasificación de los plugins, skills y MCP más usados en tu equipo, y cualquiera de ellos se instala con un clic. Los marketplaces de equipo ahora importan repositorios de plugins desde GitLab, BitBucket o Azure DevOps, no solo GitHub, así que un registro interno de la empresa ya no obliga a elegir un proveedor. Los plugins también pueden llevar canvases prediseñados, plantillas de configuración compartidas que un compañero abre y reutiliza, con los canvases de Hex y Atlassian como primeros ejemplos.

El patrón refleja hacia dónde se dirigen Claude Code y el conjunto más amplio de herramientas para agentes: la unidad de reutilización deja de ser un único archivo de reglas y pasa a ser un paquete portable que codifica cómo quiere tu equipo que se comporte el agente. Si has estado copiando y pegando bloques MCP y reglas .mdc entre máquinas, fíjalos en un plugin y deja de hacerlo.

Consulta la referencia de plugins y el changelog de 3.9 para la lista completa de campos.

Comments

Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.

< Volver