zugzbot 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +99 -23
- package/bin/init.js +8 -6
- package/package.json +2 -3
- package/.utils/docs_opencode/acp.md +0 -165
- package/.utils/docs_opencode/acp.pdf +0 -0
- package/.utils/docs_opencode/agents.md +0 -803
- package/.utils/docs_opencode/agents.pdf +0 -0
- package/.utils/docs_opencode/commands.md +0 -354
- package/.utils/docs_opencode/commands.pdf +0 -0
- package/.utils/docs_opencode/custom-tools.md +0 -209
- package/.utils/docs_opencode/custom-tools.pdf +0 -0
- package/.utils/docs_opencode/ecosystem.md +0 -81
- package/.utils/docs_opencode/ecosystem.pdf +0 -0
- package/.utils/docs_opencode/formatters.md +0 -142
- package/.utils/docs_opencode/formatters.pdf +0 -0
- package/.utils/docs_opencode/keybinds.md +0 -205
- package/.utils/docs_opencode/keybinds.pdf +0 -0
- package/.utils/docs_opencode/lsp.md +0 -202
- package/.utils/docs_opencode/lsp.pdf +0 -0
- package/.utils/docs_opencode/mcp-servers.md +0 -565
- package/.utils/docs_opencode/mcp-servers.pdf +0 -0
- package/.utils/docs_opencode/models.md +0 -234
- package/.utils/docs_opencode/models.pdf +0 -0
- package/.utils/docs_opencode/permissions.md +0 -248
- package/.utils/docs_opencode/permissions.pdf +0 -0
- package/.utils/docs_opencode/plugins.md +0 -409
- package/.utils/docs_opencode/plugins.pdf +0 -0
- package/.utils/docs_opencode/rules.md +0 -189
- package/.utils/docs_opencode/rules.pdf +0 -0
- package/.utils/docs_opencode/sdk.md +0 -522
- package/.utils/docs_opencode/sdk.pdf +0 -0
- package/.utils/docs_opencode/server.md +0 -324
- package/.utils/docs_opencode/server.pdf +0 -0
- package/.utils/docs_opencode/skills.md +0 -235
- package/.utils/docs_opencode/skills.pdf +0 -0
- package/.utils/docs_opencode/themes.md +0 -378
- package/.utils/docs_opencode/themes.pdf +0 -0
- package/.utils/docs_opencode/tools.md +0 -364
- package/.utils/docs_opencode/tools.pdf +0 -0
- package/.utils/export_opencode_session.py +0 -242
- package/.utils/toggle_model.py +0 -208
package/README.md
CHANGED
|
@@ -1,63 +1,139 @@
|
|
|
1
1
|
# 🤖 Zugzbot Harness
|
|
2
2
|
|
|
3
|
-
> El instalador definitivo de arneses SDD (Spec-Driven Development) para proyectos
|
|
3
|
+
> El instalador definitivo de arneses **SDD (Spec-Driven Development)** para proyectos potenciados por OpenCode.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**Zugzbot Harness** es un ecosistema autónomo de agentes de inteligencia artificial y herramientas diseñados para programar de forma rigurosa, segura y 100% autodirigida. El corazón de este arnés es la metodología **SDD**, un flujo de trabajo estructurado en el que ningún agente escribe una sola línea de código sin antes validar un contrato estricto de especificación.
|
|
6
|
+
|
|
7
|
+
Este repositorio ha sido empaquetado como un instalador interactivo global de NPM para que puedas inyectar este poderoso entorno de desarrollo en cualquier proyecto nuevo o existente en cuestión de segundos.
|
|
6
8
|
|
|
7
9
|
---
|
|
8
10
|
|
|
9
11
|
## 🚀 Instalación y Uso Rápido
|
|
10
12
|
|
|
11
|
-
Para
|
|
13
|
+
Para inyectar el arnés de Zugzbot en cualquier directorio o proyecto de tu computadora, simplemente abre una terminal en la carpeta raíz de tu proyecto de destino y ejecuta:
|
|
12
14
|
|
|
13
15
|
```bash
|
|
14
16
|
npx zugzbot
|
|
15
17
|
```
|
|
16
18
|
|
|
17
|
-
¡Eso es todo! El instalador
|
|
18
|
-
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
19
|
+
¡Eso es todo! El instalador automatizado copiará de forma no destructiva y fusionará los siguientes recursos en tu proyecto:
|
|
20
|
+
|
|
21
|
+
* 📁 **`.opencode/`** — El núcleo del sistema: agentes, comandos, skills y herramientas personalizadas (incluyendo el catálogo offline de **Oh My Design** con 246 marcas).
|
|
22
|
+
* ⚙️ **`opencode.json`** — La configuración maestra de seguridad, variables de entorno, plugins y servidores MCP de tu bot.
|
|
23
|
+
* 🖥️ **`tui.json`** — Configuración personalizada para la interfaz interactiva de terminal (TUI).
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 🏗️ ¿Cómo Funciona el Arnés? (Arquitectura bajo el capó)
|
|
28
|
+
|
|
29
|
+
El arnés se compone de tres pilares fundamentales que garantizan un desarrollo libre de errores, regresiones o improvisaciones:
|
|
30
|
+
|
|
31
|
+
### 1. Las 5 Fases del Ciclo SDD (Spec-Driven Development)
|
|
32
|
+
El desarrollo se ejecuta secuencialmente a través de cinco fases estrictas, controladas por el estado global de la sesión (`sdd_get_state` y `sdd_set_phase`):
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
┌──────────────┐ ┌────────────────┐ ┌────────────────────┐ ┌─────────────────┐ ┌───────────────┐
|
|
36
|
+
│ F0_DETECT │ ───> │ F1_CONTRACT │ ───> │ F2_IMPLEMENTATION │ ───> │ F3_VERIFICATION │ ───> │ F4_DEPLOYMENT │
|
|
37
|
+
└──────────────┘ └────────────────┘ └────────────────────┘ └─────────────────┘ └───────────────┘
|
|
38
|
+
Descubrimiento Especificación Codificación Validación Despliegue
|
|
39
|
+
Stack & Diseño Crear contrato Fuerza de Coder & UI Unit/Visual tests Docker/Build
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
* **`F0_DETECT` (Descubrimiento)**: Se analiza el código actual, se detecta el stack base (ej. Next.js 16 + Tailwind v4 o FastAPI + Pydantic) y se busca la marca visual deseada (Toss, Stripe, Vercel, etc.) usando el catálogo de diseño.
|
|
43
|
+
* **`F1_CONTRACT` (Especificación)**: El agente redactor genera un archivo estricto de contrato en `.openspec/specs/XXXX_contract.json` (OpenAPI, esquemas de entrada/salida, requerimientos de UI exactos y casos de prueba detallados). El desarrollo no avanza hasta que este contrato esté validado y sellado.
|
|
44
|
+
* **`F2_IMPLEMENTATION` (Codificación)**: El programador arranca la infraestructura y codifica los archivos ajustándose estrictamente a los tipos, rutas y componentes del contrato aprobado en la fase F1.
|
|
45
|
+
* **`F3_VERIFICATION` (Validación)**: Se corren pruebas unitarias, de integración y visuales (utilizando Playwright). El compilador de TypeScript (`tsc`) y el linter (`eslint`) actúan como gates de control Shift-Left automáticos.
|
|
46
|
+
* **`F4_DEPLOYMENT` (Despliegue)**: Se genera la build de producción, se limpia el entorno de Docker de forma agresiva y se levanta la aplicación localmente en contenedores optimizados.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
### 2. El Ecosistema de Sub-Agentes Autónomos
|
|
51
|
+
|
|
52
|
+
`opencode.json` registra y configura un equipo especializado de agentes, cada uno con prompts personalizados, temperaturas específicas y permisos de seguridad acotados para evitar efectos colaterales no deseados:
|
|
53
|
+
|
|
54
|
+
* 👤 **`sdd-orchestrator` (El Director)**: Es el coordinador de alto nivel del flujo completo. Lee el Brain, coordina las transiciones de fases y delega las tareas técnicas a los sub-agentes correspondientes. No tiene permisos de escritura o ejecución de comandos directos para garantizar la seguridad.
|
|
55
|
+
* ✍️ **`sdd-spec-writer` (El Arquitecto)**: Redacta y valida de forma matemática las especificaciones OpenAPI y los escenarios de prueba en `.openspec/specs/`.
|
|
56
|
+
* 💻 **`sdd-coder` (El Desarrollador)**: Implementa la lógica de backend y los componentes de frontend (Shadcn/Tailwind) respetando al 100% los contratos de F1. Tiene permisos controlados para ejecutar linters y comandos de compilación.
|
|
57
|
+
* 🧪 **`sdd-tester` (El Auditor de Calidad)**: Diseña las suites de pruebas y las ejecuta de forma concurrente, recopilando evidencias visuales, reportes y traces.
|
|
58
|
+
* 🚢 **`sdd-deployer` (El DevOps)**: Gestiona la infraestructura, empaquetado multi-stage, configuraciones de red y levantamiento local mediante contenedores Docker.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
### 3. Servidores MCP (Model Context Protocol) de Clase Mundial
|
|
63
|
+
|
|
64
|
+
El arnés inyecta y habilita automáticamente varios servidores MCP avanzados en tu espacio de trabajo para dar soporte contextual al bot:
|
|
65
|
+
|
|
66
|
+
* 📚 **`oh-my-design` (MCP de Diseño Offline)**:
|
|
67
|
+
Servidor oficial que empaqueta **246 marcas de diseño icónicas** (Toss, Stripe, Supabase, Linear, etc.). Permite buscar especificaciones estéticas (`DESIGN.md`), paletas de colores exactas, tipografía y plantillas HTML interactivas de previsualización 100% offline (sin llamadas a APIs ni coste de tokens).
|
|
68
|
+
* 🎨 **`shadcn` (MCP de Interfaz de Usuario)**:
|
|
69
|
+
Permite explorar, buscar e instalar de forma instantánea componentes del registro oficial de Shadcn UI (botones, inputs, cards, dashboards completos) directamente desde la terminal.
|
|
70
|
+
* 🔍 **`context7` (MCP de Consultas de Documentación)**:
|
|
71
|
+
Realiza búsquedas contextuales de APIs actualizadas para librerías y frameworks directamente en la nube, previniendo que los agentes utilicen sintaxis obsoletas o inventadas.
|
|
72
|
+
* 🎭 **`playwright` (MCP de Navegador y Automatización)**:
|
|
73
|
+
Ejecuta pruebas visuales de extremo a extremo, realiza capturas de pantalla, toma videos de interacciones y genera traces de auditoría visuales para guardarlos ordenadamente en `.openspec/`.
|
|
74
|
+
* ✨ **`lucide-icons` (MCP de Iconos)**:
|
|
75
|
+
Valida de forma exacta nombres de iconos de Lucide React y obtiene ejemplos de código JSX listos para copiar y pegar.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 🧠 Sistema de Memoria Compartida (Shared Brain)
|
|
80
|
+
|
|
81
|
+
Para evitar la pérdida de contexto entre turnos y agentes, el arnés implementa un sistema de memoria centralizado en `.openspec/brain.md` (o archivo similar configurado), gestionado por las herramientas `brain_save_memory` y `brain_read_memory`.
|
|
82
|
+
|
|
83
|
+
* **Guardar Lecciones**: Cuando un agente soluciona un bug complejo de ruteo, un error visual en Tailwind, o define una decisión clave de arquitectura, la registra de forma concisa y acumulativa con marca de tiempo en categorías como `learnings`, `design`, `routing`, o `errors`.
|
|
84
|
+
* **Lectura al Inicio**: Al arrancar una nueva sesión, el orquestador lee selectivamente las categorías de memoria activa para absorber aprendizajes previos y evitar cometer el mismo error dos veces.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## 🔄 Modo Autopiloto (/loop)
|
|
89
|
+
|
|
90
|
+
El arnés de Zugzbot viene preparado de forma nativa para soportar el **Modo Autopiloto** mediante el comando `/loop` en OpenCode.
|
|
91
|
+
|
|
92
|
+
Cuando `loopMode === true`:
|
|
93
|
+
1. **Cero Preguntas**: Los agentes tienen estrictamente prohibido usar la herramienta `question` para interrumpir el flujo. Toman decisiones óptimas por defecto de forma autónoma.
|
|
94
|
+
2. **Enforcer de Barrera**: Cualquier intento de lanzar preguntas al usuario es cancelado mecánicamente por el plugin de OpenCode.
|
|
95
|
+
3. **Bucle de Corrección Continua**: Si una fase de pruebas o compilación falla, el arnés realiza rollbacks incrementales, autodiagnostica el error con las herramientas de validación, corrige el código y vuelve a probar de forma recursiva hasta lograr la estabilidad.
|
|
22
96
|
|
|
23
97
|
---
|
|
24
98
|
|
|
25
|
-
## 🛠️ Desarrollo Local
|
|
99
|
+
## 🛠️ Desarrollo Local (Para Desarrolladores del Arnés)
|
|
26
100
|
|
|
27
|
-
Si deseas realizar modificaciones en este
|
|
101
|
+
Si deseas realizar modificaciones en este instalador o probar el código localmente:
|
|
28
102
|
|
|
29
|
-
1. Clona
|
|
103
|
+
1. Clona el repositorio:
|
|
30
104
|
```bash
|
|
31
105
|
git clone https://github.com/Danielisla96/zugzbot.git
|
|
32
106
|
cd zugzbot
|
|
33
107
|
```
|
|
34
|
-
2.
|
|
108
|
+
2. Instala las dependencias y crea el enlace local global:
|
|
35
109
|
```bash
|
|
110
|
+
npm install
|
|
36
111
|
npm link
|
|
37
112
|
```
|
|
38
|
-
3.
|
|
113
|
+
3. Prueba el instalador en cualquier directorio ejecutando directamente:
|
|
114
|
+
```bash
|
|
115
|
+
zugzbot
|
|
116
|
+
```
|
|
39
117
|
|
|
40
118
|
---
|
|
41
119
|
|
|
42
|
-
## 📦
|
|
120
|
+
## 📦 Publicación de Actualizaciones en NPM
|
|
43
121
|
|
|
44
|
-
|
|
122
|
+
Para publicar una nueva versión de Zugzbot en el registro público de NPM:
|
|
45
123
|
|
|
46
|
-
1.
|
|
124
|
+
1. Incrementa la versión en el `package.json` de la raíz (ej. `1.0.1`).
|
|
125
|
+
2. Compila el servidor standalone de `oh-my-design` (si modificaste código TypeScript del MCP) ejecutando en la carpeta `.opencode/oh-my-design/packages/mcp`:
|
|
47
126
|
```bash
|
|
48
|
-
npm
|
|
127
|
+
npm run build
|
|
49
128
|
```
|
|
50
|
-
|
|
129
|
+
3. Inicia sesión y publica desde la raíz de tu proyecto:
|
|
51
130
|
```bash
|
|
131
|
+
npm login
|
|
52
132
|
npm publish --access public
|
|
53
133
|
```
|
|
54
134
|
|
|
55
|
-
Cada vez que quieras subir una nueva actualización:
|
|
56
|
-
1. Incrementa la versión en el `package.json` (ej: `1.0.1`).
|
|
57
|
-
2. Ejecuta `npm publish`.
|
|
58
|
-
|
|
59
135
|
---
|
|
60
136
|
|
|
61
137
|
## 📄 Licencia
|
|
62
138
|
|
|
63
|
-
Este proyecto
|
|
139
|
+
Este proyecto se distribuye bajo la licencia **MIT**. Siéntete libre de clonarlo, modificarlo y adaptarlo para construir tus propios equipos de agentes automatizados.
|
package/bin/init.js
CHANGED
|
@@ -24,15 +24,17 @@ const targetDir = process.cwd();
|
|
|
24
24
|
const itemsToCopy = [
|
|
25
25
|
{ name: '.opencode', src: join(pkgRoot, '.opencode'), dest: join(targetDir, '.opencode'), type: 'dir' },
|
|
26
26
|
{ name: 'opencode.json', src: join(pkgRoot, 'opencode.json'), dest: join(targetDir, 'opencode.json'), type: 'file' },
|
|
27
|
-
{ name: 'tui.json', src: join(pkgRoot, 'tui.json'), dest: join(targetDir, 'tui.json'), type: 'file' }
|
|
28
|
-
{ name: '.utils', src: join(pkgRoot, '.utils'), dest: join(targetDir, '.utils'), type: 'dir' }
|
|
27
|
+
{ name: 'tui.json', src: join(pkgRoot, 'tui.json'), dest: join(targetDir, 'tui.json'), type: 'file' }
|
|
29
28
|
];
|
|
30
29
|
|
|
31
|
-
// Helper to filter out node_modules and .git files
|
|
30
|
+
// Helper to filter out node_modules and .git files relative to the package root
|
|
32
31
|
const filterFunc = (srcPath) => {
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
const relativeSrc = relative(pkgRoot, srcPath);
|
|
33
|
+
const isIgnored = relativeSrc.split(/[/\\]/).some(part =>
|
|
34
|
+
part === 'node_modules' ||
|
|
35
|
+
part === '.git' ||
|
|
36
|
+
part === '.openspec'
|
|
37
|
+
);
|
|
36
38
|
return !isIgnored;
|
|
37
39
|
};
|
|
38
40
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zugzbot",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Fácil instalador del arnés SDD de Zugzbot para proyectos OpenCode",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -10,8 +10,7 @@
|
|
|
10
10
|
"bin/",
|
|
11
11
|
".opencode/",
|
|
12
12
|
"opencode.json",
|
|
13
|
-
"tui.json"
|
|
14
|
-
".utils/"
|
|
13
|
+
"tui.json"
|
|
15
14
|
],
|
|
16
15
|
"engines": {
|
|
17
16
|
"node": ">=16.0.0"
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
# Soporte ACP
|
|
2
|
-
|
|
3
|
-
Utilice OpenCode en cualquier editor compatible con ACP.
|
|
4
|
-
|
|
5
|
-
OpenCode admite el [Agent Client Protocol](https://agentclientprotocol.com) o (ACP), lo que le permite usarlo directamente en editores e IDE compatibles.
|
|
6
|
-
|
|
7
|
-
> [!TIP]
|
|
8
|
-
> Para obtener una lista de editores y herramientas compatibles con ACP, consulte el [informe de progreso de ACP](https://zed.dev/blog/acp-progress-report#available-now).
|
|
9
|
-
|
|
10
|
-
ACP es un protocolo abierto que estandariza la comunicación entre editores de código y agentes de codificación de IA.
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## [Configuración](#configuración)
|
|
15
|
-
|
|
16
|
-
Para usar OpenCode a través de ACP, configure su editor para ejecutar el comando `opencode acp`.
|
|
17
|
-
|
|
18
|
-
El comando inicia OpenCode como un subproceso compatible con ACP que se comunica con su editor a través de JSON-RPC a través de stdio.
|
|
19
|
-
|
|
20
|
-
A continuación se muestran ejemplos de editores populares que admiten ACP.
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
### [Zed](#zed)
|
|
25
|
-
|
|
26
|
-
Agregue a su configuración [Zed](https://zed.dev) (`~/.config/zed/settings.json`):
|
|
27
|
-
|
|
28
|
-
**File**: ~/.config/zed/settings.json
|
|
29
|
-
|
|
30
|
-
```json
|
|
31
|
-
{
|
|
32
|
-
"agent_servers": {
|
|
33
|
-
"OpenCode": {
|
|
34
|
-
"command": "opencode",
|
|
35
|
-
"args": ["acp"]
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
Para abrirlo, use la acción `agent: new thread` en la **Paleta de comandos**.
|
|
42
|
-
|
|
43
|
-
También puedes vincular un atajo de teclado editando tu `keymap.json`:
|
|
44
|
-
|
|
45
|
-
**File**: keymap.json
|
|
46
|
-
|
|
47
|
-
```json
|
|
48
|
-
[
|
|
49
|
-
{
|
|
50
|
-
"bindings": {
|
|
51
|
-
"cmd-alt-o": [
|
|
52
|
-
"agent::NewExternalAgentThread",
|
|
53
|
-
{
|
|
54
|
-
"agent": {
|
|
55
|
-
"custom": {
|
|
56
|
-
"name": "OpenCode",
|
|
57
|
-
"command": {
|
|
58
|
-
"command": "opencode",
|
|
59
|
-
"args": ["acp"]
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
]
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
]
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
### [JetBrains IDEs](#jetbrains-ides)
|
|
73
|
-
|
|
74
|
-
Agregue a su [JetBrains IDE](https://www.jetbrains.com/) acp.json de acuerdo con la [documentación](https://www.jetbrains.com/help/ai-assistant/acp.html):
|
|
75
|
-
|
|
76
|
-
**File**: acp.json
|
|
77
|
-
|
|
78
|
-
```json
|
|
79
|
-
{
|
|
80
|
-
"agent_servers": {
|
|
81
|
-
"OpenCode": {
|
|
82
|
-
"command": "/absolute/path/bin/opencode",
|
|
83
|
-
"args": ["acp"]
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
Para abrirlo, use el nuevo agente ‘OpenCode’ en el selector de agentes de AI Chat.
|
|
90
|
-
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
### [Avante.nvim](#avantenvim)
|
|
94
|
-
|
|
95
|
-
Agregue a su configuración [Avante.nvim](https://github.com/yetone/avante.nvim):
|
|
96
|
-
|
|
97
|
-
**File**:
|
|
98
|
-
|
|
99
|
-
```lua
|
|
100
|
-
{
|
|
101
|
-
acp_providers = {
|
|
102
|
-
["opencode"] = {
|
|
103
|
-
command = "opencode",
|
|
104
|
-
args = { "acp" }
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
Si necesita pasar variables de entorno:
|
|
111
|
-
|
|
112
|
-
**File**:
|
|
113
|
-
|
|
114
|
-
```lua
|
|
115
|
-
{
|
|
116
|
-
acp_providers = {
|
|
117
|
-
["opencode"] = {
|
|
118
|
-
command = "opencode",
|
|
119
|
-
args = { "acp" },
|
|
120
|
-
env = {
|
|
121
|
-
OPENCODE_API_KEY = os.getenv("OPENCODE_API_KEY")
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
---
|
|
129
|
-
|
|
130
|
-
### [CodeCompanion.nvim](#codecompanionnvim)
|
|
131
|
-
|
|
132
|
-
Para usar OpenCode como agente ACP en [CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim), agregue lo siguiente a su configuración de Neovim:
|
|
133
|
-
|
|
134
|
-
**File**:
|
|
135
|
-
|
|
136
|
-
```lua
|
|
137
|
-
require("codecompanion").setup({
|
|
138
|
-
interactions = {
|
|
139
|
-
chat = {
|
|
140
|
-
adapter = {
|
|
141
|
-
name = "opencode",
|
|
142
|
-
model = "claude-sonnet-4",
|
|
143
|
-
},
|
|
144
|
-
},
|
|
145
|
-
},
|
|
146
|
-
})
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
Esta configuración configura CodeCompanion para usar OpenCode como agente ACP para el chat.
|
|
150
|
-
|
|
151
|
-
Si necesita pasar variables de entorno (como `OPENCODE_API_KEY`), consulte [Configuración de adaptadores: variables de entorno](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) en la documentación de CodeCompanion.nvim para obtener detalles completos.
|
|
152
|
-
|
|
153
|
-
## [Soporte](#soporte)
|
|
154
|
-
|
|
155
|
-
OpenCode funciona igual a través de ACP que en la terminal. Todas las funciones son compatibles:
|
|
156
|
-
|
|
157
|
-
> [!NOTE]
|
|
158
|
-
> Algunos comandos de barra integrados como `/undo` y `/redo` no son compatibles actualmente.
|
|
159
|
-
|
|
160
|
-
- Herramientas integradas (operaciones de archivos, comandos de terminal, etc.)
|
|
161
|
-
- Herramientas personalizadas y comandos de barra
|
|
162
|
-
- Servidores MCP configurados en su configuración OpenCode
|
|
163
|
-
- Reglas específicas del proyecto de `AGENTS.md`
|
|
164
|
-
- Formateadores y linters personalizados
|
|
165
|
-
- Sistema de agentes y permisos.
|
|
Binary file
|