Skip to content

Commit 0342e44

Browse files
committed
docs: add OpenCode install-opencode.sh docs, bump multi-cli-compat to v2.4.0
1 parent 4142426 commit 0342e44

9 files changed

Lines changed: 45 additions & 13 deletions

File tree

.claude-plugin/marketplace.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
},
77
"metadata": {
88
"description": "Catálogo vivo de features reusables para plugins multi-CLI, instalable como meta-plugin de desarrollo.",
9-
"version": "1.11.0"
9+
"version": "1.11.1"
1010
},
1111
"plugins": [
1212
{
1313
"name": "cli-plugin-template",
1414
"source": "./",
1515
"description": "Meta-plugin de desarrollo de plugins multi-CLI. Cataloga features reusables y los entrega on-demand (auditar, integrar, recomendar, promover) con un aviso proactivo en proyectos de plugin.",
16-
"version": "1.11.0",
16+
"version": "1.11.1",
1717
"author": {
1818
"name": "WSmithDR"
1919
},

.claude-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cli-plugin-template",
3-
"version": "1.11.0",
3+
"version": "1.11.1",
44
"description": "Meta-plugin de desarrollo de plugins multi-CLI. Cataloga features reusables y los entrega on-demand (auditar, integrar, recomendar, promover) con un aviso proactivo en proyectos de plugin.",
55
"author": {
66
"name": "WSmithDR",

.codex-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cli-plugin-template",
33
"description": "Meta-plugin de desarrollo de plugins multi-CLI. Cataloga features reusables y los entrega on-demand (auditar, integrar, recomendar, promover) con un aviso proactivo en proyectos de plugin.",
4-
"version": "1.11.0",
4+
"version": "1.11.1",
55
"skills": "./skills/"
66
}

.copilot-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
"name": "cli-plugin-template",
33
"displayName": "cli-plugin-template",
44
"description": "Meta-plugin de desarrollo de plugins multi-CLI. Cataloga features reusables y los entrega on-demand (auditar, integrar, recomendar, promover) con un aviso proactivo en proyectos de plugin.",
5-
"version": "1.11.0",
5+
"version": "1.11.1",
66
"skills": "./skills/"
77
}

.cursor-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
"name": "cli-plugin-template",
33
"displayName": "cli-plugin-template",
44
"description": "Meta-plugin de desarrollo de plugins multi-CLI. Cataloga features reusables y los entrega on-demand (auditar, integrar, recomendar, promover) con un aviso proactivo en proyectos de plugin.",
5-
"version": "1.11.0",
5+
"version": "1.11.1",
66
"skills": "./skills/"
77
}

README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,24 @@ update por "misma versión":
5858
En una sesión activa, aplicá sin reiniciar con `/reload-plugins`. Para verificar la versión
5959
instalada, corré `/cli-plugin-template-health`.
6060

61+
### OpenCode (alternativa)
62+
63+
Si usás **OpenCode** como CLI, el catálogo se instala como plugin global via script:
64+
65+
```bash
66+
bash bin/install-opencode.sh
67+
```
68+
69+
Esto agrega a `~/.config/opencode/opencode.json`:
70+
- El JS plugin del catálogo (Stop hook para feedbacks pendientes en cualquier proyecto)
71+
- Las skills del catálogo (disponibles globalmente)
72+
73+
Para removerlo:
74+
75+
```bash
76+
bash bin/install-opencode.sh --uninstall
77+
```
78+
6179
### Capacidades
6280

6381
Una vez instalado en un proyecto de plugin:

features/multi-cli-compat/README.md

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,8 @@ export default async () => ({
224224
4. Si tus skills nombran tools, copiá y mantené `files/tool-mapping.md`.
225225
5. Omití `model:` en el frontmatter de agents.
226226
6. Para CLIs sin marketplace, distribuí con `files/install-skills.sh` (symlinks).
227+
7. Para **OpenCode** como plugin global, ofrecé un `install-opencode.sh` que registre
228+
el JS plugin + skills paths en `~/.config/opencode/opencode.json`.
227229
228230
## Evolución: fuente única de verdad (cli-config.yaml + generador)
229231
@@ -236,9 +238,13 @@ YAML y un generador que produce todos los formatos nativos.
236238
cli-config.yaml # fuente única de verdad
237239
238240
generate-cli-configs.py # generador (Python stdlib + PyYAML)
239-
├── .mcp.json # Claude Code
240-
├── opencode.json # OpenCode
241-
└── gemini-extension.json # Gemini CLI
241+
├── .claude-plugin/plugin.json # Claude Code
242+
├── .claude-plugin/marketplace.json # Marketplace
243+
├── .codex-plugin/plugin.json # Codex CLI
244+
├── .copilot-plugin/plugin.json # GitHub Copilot
245+
├── .cursor-plugin/plugin.json # Cursor
246+
├── opencode.json # OpenCode
247+
└── gemini-extension.json # Gemini CLI
242248
```
243249
244250
### cli-config.yaml
@@ -314,8 +320,10 @@ es fundamentalmente distinto y no se puede unificar en YAML.
314320
315321
### Referencia real
316322
317-
Ver `cli-config.yaml` + `bin/dev/generate-cli-configs.py` en [ankify](https://github.com/WSmithDR/ankify)
318-
— implementación con MCP servers de anki, github y obsidian para 3 CLIs.
323+
- **cli-plugin-template** (este repo): `cli-config.yaml` + `bin/dev/generate-cli-configs.py`
324+
— implementación canónica, se come su propio dogfood.
325+
- [ankify](https://github.com/WSmithDR/ankify): implementación con MCP servers de anki, github
326+
y obsidian para 3 CLIs.
319327
320328
## Tests
321329
@@ -326,10 +334,16 @@ skills/MCP aparecen y que las instrucciones se cargan en ambos.
326334
327335
- **`model: inherit`** rompe OpenCode/otros → omitir el campo.
328336
- **`hooks/hooks.json`** lo honra solo Claude Code; no asumas hooks en otros CLIs.
337+
- **Stop hook** → Claude Code usa `hooks/hooks.json:Stop`; OpenCode equivalente via
338+
`event("global.disposed")` en el JS plugin. Ver `features/multi-cli-compat/files/opencode-plugin.js`.
339+
- **OpenCode global install** → el catálogo incluye `bin/install-opencode.sh` que registra
340+
plugin JS + skills paths en `~/.config/opencode/opencode.json`.
329341
- Copiar solo `.mcp.json` NO te da multi-CLI si tus skills nombran tools — necesitás el mapping.
330342
331343
## Changelog
332344
345+
- **2.4.0** — generador expandido a 7 manifests (todos los CLIs + marketplace). Stop hook
346+
OpenCode via `event("global.disposed")`. OpenCode global install: `bin/install-opencode.sh`.
333347
- **2.3.0** — mapa detallado de hooks Claude Code ↔ OpenCode (limitaciones: PreToolUse y Stop
334348
no existen en OpenCode; soluciones documentadas con `tool.execute.after` + `messages.transform`).
335349
Documentado que OpenCode plugin debe ser `.js` (no `.ts`) y requiere `"type": "module"` en

features/multi-cli-compat/meta.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: multi-cli-compat
2-
version: 2.3.0
2+
version: 2.4.0
33
cli_compat: [claude-code, opencode, gemini-cli, codex, cursor, copilot, lsp]
44
depends_on: []
55
description: >

gemini-extension.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cli-plugin-template",
3-
"version": "1.11.0",
3+
"version": "1.11.1",
44
"description": "Meta-plugin de desarrollo de plugins multi-CLI. Cataloga features reusables y los entrega on-demand (auditar, integrar, recomendar, promover) vía skills.",
55
"contextFileName": "GEMINI.md"
66
}

0 commit comments

Comments
 (0)