refactor: drop 12 runtimes, keep Claude, Codex, OpenCode, Cursor, ZCode, Antigravity

Removes kilo, kimi, kimi-code, copilot, windsurf, augment, trae, qwen, hermes,
cline, codebuddy and pi end to end: capability descriptors, installer branches
and converters (bin/install.js 14.9k -> 11.2k lines), TypeScript converters,
hook surfaces and runtime homes, review lanes qwen/kimi-code, the two pi
migrations, Kimi payload normalization in the hook guards, dead hostBehaviors
vocabulary, launcher home probes, fixtures, runtime-specific tests and the
prose that presented them as supported.

Installer output for the six kept runtimes is byte-identical to before the
prune. The Kimi tool-vocabulary tests in workflow-guard, read-guard and
read-injection-scanner are left in place pending a decision.
This commit is contained in:
Jakub Zych
2026-10-06 20:02:40 +02:00
parent 12ee75a509
commit 6cfa0c55d2
509 changed files with 1869 additions and 47737 deletions

View File

@@ -21,7 +21,7 @@
## Visão Geral do Sistema
O MSD Core é um **framework de meta-prompting** que fica entre o usuário e os agentes de codificação com IA (Claude Code, Kimi CLI, OpenCode, Kilo, Codex, Copilot, Antigravity, Trae, Cline, Augment Code). Ele fornece:
O MSD Core é um **framework de meta-prompting** que fica entre o usuário e os agentes de codificação com IA (Claude Code, OpenCode, Codex, Antigravity, Cursor). Ele fornece:
1. **Engenharia de contexto** — Artefatos estruturados que fornecem à IA tudo o que ela precisa por tarefa (consulte [Engenharia de contexto](explanation/context-engineering.md))
2. **Orquestração multi-agente** — Orquestradores leves que criam agentes especializados com janelas de contexto novas (consulte [Orquestração multi-agente](explanation/multi-agent-orchestration.md))
@@ -114,9 +114,8 @@ Múltiplas camadas previnem modos comuns de falha:
Pontos de entrada voltados ao usuário. Cada arquivo contém frontmatter YAML (name, description, allowed-tools) e um corpo de prompt que inicializa o workflow. Os comandos são instalados como:
- **Claude Code:** Comandos slash customizados (forma com hífen, `/msd-command-name`)
- **OpenCode / Kilo:** Comandos slash (forma com hífen, `/msd-command-name`)
- **OpenCode:** Comandos slash (forma com hífen, `/msd-command-name`)
- **Codex:** Skills (`$msd-command-name`)
- **Copilot:** Comandos slash (forma com hífen, `/msd-command-name`)
- **Antigravity:** Skills
**Total de comandos:** consulte [`docs/INVENTORY.md`](INVENTORY.md#commands) para a contagem oficial e o roster completo.
@@ -497,18 +496,9 @@ UI-SPEC.md (por fase) ───────────────────
Caminhos equivalentes para outros runtimes:
- **OpenCode:** `~/.config/opencode/` global ou `./.opencode/` local
- **Kilo:** `~/.config/kilo/` global ou `./.kilo/` local
- **Codex:** `~/.codex/` global ou `./.codex/` local
- **Copilot:** `~/.copilot/` global ou `./.github/` local
- **Antigravity:** raiz global detectada automaticamente (`~/.gemini/antigravity/`, `~/.gemini/antigravity-ide/`, ou `~/.gemini/antigravity-cli/`) ou `./.agent/` local
- **Cursor:** `~/.cursor/` global ou `./.cursor/` local
- **Windsurf:** `~/.codeium/windsurf/` global ou `./.windsurf/` local
- **Augment Code:** `~/.augment/` global ou `./.augment/` local
- **Trae:** `~/.trae/` global ou `./.trae/` local
- **Qwen Code:** `~/.qwen/` global ou `./.qwen/` local
- **Hermes Agent:** `~/.hermes/` global ou `./.hermes/` local
- **CodeBuddy:** `~/.codebuddy/` global ou `./.codebuddy/` local
- **Cline:** `~/.cline/` global ou `.clinerules` local na raiz do projeto
### Arquivos do Projeto (`.planning/`)
@@ -593,24 +583,15 @@ os helpers de ida e volta `readMappedCommit` e `writeMappedCommit`.
O instalador (`bin/install.js`, ~10.700 linhas) trata de:
1. **Detecção de runtime** — Prompt interativo ou flags CLI (`--claude`, `--opencode`, `--kimi`, `--kilo`, `--codex`, `--copilot`, `--antigravity`, `--cursor`, `--windsurf`, `--augment`, `--trae`, `--qwen`, `--hermes`, `--codebuddy`, `--cline`, `--all`)
1. **Detecção de runtime** — Prompt interativo ou flags CLI (`--claude`, `--opencode`, `--codex`, `--antigravity`, `--cursor`, `--all`)
2. **Seleção de local** — Global (`--global`) ou local (`--local`)
3. **Implantação de arquivos** — Copia comandos, skills, workflows, referências, templates, agentes e hooks
4. **Adaptação de runtime** — Transforma o conteúdo de arquivos por runtime:
- Claude Code: Usa como está
- OpenCode: Converte comandos/agentes para o formato de comando plano + subagente compatível com OpenCode
- Kilo: Reutiliza o pipeline de conversão do OpenCode com os caminhos de configuração do Kilo
- Codex: Gera config TOML + skills a partir de comandos
- Copilot: Mapeia nomes de ferramentas (Read→read, Bash→execute, etc.)
- Antigravity: Skills em primeiro lugar com equivalentes de modelo do Google; ajusta nomes de eventos de hook (`AfterTool` em vez de `PostToolUse`)
- Cursor: Skills em primeiro lugar com referências de regras do Cursor
- Windsurf: Skills em primeiro lugar com referências de regras do Windsurf
- Trae: Instalação skills-first em `~/.trae` / `./.trae` sem `settings.json` ou integração de hooks
- Qwen Code: Skills em primeiro lugar com reescritas de caminho e prompt com marca Qwen
- Hermes Agent: Skills por categoria em `skills/msd/`
- CodeBuddy: Skills em primeiro lugar com reescritas de caminho e prompt do CodeBuddy
- Cline: Escreve `.clinerules` para integração baseada em regras
- Augment Code: Skills em primeiro lugar com conversão completa de skills e gerenciamento de configuração
5. **Normalização de caminhos** — Substitui caminhos `~/.claude/` por caminhos específicos do runtime
6. **Integração de configurações** — Registra hooks no `settings.json` do runtime
7. **Backup de patches** — Desde a v1.17, faz backup de arquivos modificados localmente em `msd-local-patches/` para `/msd-update --reapply`
@@ -733,18 +714,9 @@ A propriedade específica de migração e os snapshots de fonte vivem em
| --- | --- | --- | --- | --- | --- |
| Claude Code | `~/.claude` | `./.claude` | `skills/msd-*/SKILL.md` global; `commands/msd/*.md` local | `agents/msd-*.md` | Entradas de hook e statusLine em `settings.json` |
| OpenCode | `~/.config/opencode` | `./.opencode` | `command/msd-*.md` | `agents/msd-*.md` | `opencode.json` ou `opencode.jsonc`; sem hooks do MSD |
| Kilo | `~/.config/kilo` | `./.kilo` | `command/msd-*.md` | `agents/msd-*.md` | `kilo.json` ou `kilo.jsonc`; sem hooks do MSD |
| Codex | `~/.codex` | `./.codex` | `skills/msd-*/SKILL.md` | markdown de origem de agentes mais TOML por agente | `config.toml` `[agents.msd-*]`, `[features].hooks` (canônico; alias legado `codex_hooks` é reconhecido e migrado no reinstall, #3566) e tabelas de hooks |
| GitHub Copilot | `~/.copilot` | `./.github` | `skills/msd-*/SKILL.md` e `copilot-instructions.md` | arquivos `.agent.md` | Sem hooks ou statusline do MSD |
| Antigravity | detectado automaticamente: `~/.gemini/antigravity`, `~/.gemini/antigravity-ide`, ou `~/.gemini/antigravity-cli` | `./.agent` | `skills/msd-*/SKILL.md` | `agents/msd-*.md` | Entradas de hook `settings.json` no estilo Gemini quando instalado pelo MSD |
| Cursor | `~/.cursor` | `./.cursor` | `skills/msd-*/SKILL.md` | `agents/msd-*.md` | Referências de regras em `rules/`; sem hooks do MSD |
| Windsurf | `~/.codeium/windsurf` | `./.windsurf` | `skills/msd-*/SKILL.md` | `agents/msd-*.md` | Referências de regras em `rules/`; sem hooks do MSD |
| Augment Code | `~/.augment` | `./.augment` | `skills/msd-*/SKILL.md` | `agents/msd-*.md` | Sem hooks ou statusline do MSD |
| Trae | `~/.trae` | `./.trae` | `skills/msd-*/SKILL.md` | `agents/msd-*.md` | Referências de regras em `rules/`; sem hooks do MSD |
| Qwen Code | `~/.qwen` | `./.qwen` | `skills/msd-*/SKILL.md` | `agents/msd-*.md` | Configurações comuns do MSD e entradas de hook onde suportado |
| Hermes Agent | `~/.hermes` | `./.hermes` | `skills/msd/DESCRIPTION.md` mais `skills/msd/msd-*/SKILL.md` | `agents/msd-*.md` | Configurações comuns do MSD e entradas de hook onde suportado |
| CodeBuddy | `~/.codebuddy` | `./.codebuddy` | `skills/msd-*/SKILL.md` | `agents/msd-*.md` | Configurações comuns do MSD e entradas de hook onde suportado |
| Cline | `~/.cline` | raiz do projeto | `.clinerules` | Somente regras | Sem hooks ou statusline do MSD |
### Fontes do Contrato Upstream
@@ -752,15 +724,14 @@ As expectativas de instalação por runtime são verificadas contra documentaç
disponível. O snapshot de fonte atual é 2026-05-11:
- Claude Code: Documentação de comandos slash, configurações, hooks e subagentes da Anthropic.
- OpenCode e Kilo: Documentação de configuração do OpenCode e documentação de subagente customizado do Kilo.
- Qwen Code: Documentação de comandos/configuração; a documentação de comandos do Qwen foi atualizada pela última vez em 2026-05-06.
- OpenCode: Documentação de configuração do OpenCode.
- Codex: Documentação do OpenAI Codex e `config-schema.json`; o instalador também carrega compatibilidade com o Codex 0.124.0 para o formato de tabela de agentes.
- Copilot, Cursor, Cline, Augment, Hermes e CodeBuddy: Documentação do fornecedor para instruções customizadas, regras, skills ou configuração.
- Antigravity, Windsurf e Trae: Linhas com fontes limitadas. O instalador documenta os shims de compatibilidade atuais, e as migrações devem atualizar essas fontes antes de reescrever sua configuração.
- Cursor: Documentação do fornecedor para instruções customizadas, regras, skills ou configuração.
- Antigravity: Linha com fontes limitadas. O instalador documenta os shims de compatibilidade atuais, e as migrações devem atualizar essas fontes antes de reescrever sua configuração.
### Pontos de Abstração
1. **Mapeamento de nomes de ferramentas** — Cada runtime tem seus próprios nomes de ferramentas (ex.: `Bash` do Claude → `execute` do Copilot)
1. **Mapeamento de nomes de ferramentas** — Cada runtime tem seus próprios nomes de ferramentas
2. **Nomes de eventos de hook** — Claude usa `PostToolUse`, Antigravity usa `AfterTool`
3. **Frontmatter de agente** — Cada runtime tem seu próprio formato de definição de agente
4. **Convenções de caminho** — Cada runtime armazena a configuração em diretórios diferentes

View File

@@ -6,7 +6,7 @@
## Sintaxe de Comandos
- **Claude Code / Copilot / OpenCode / Kilo:** `/msd-command-name [args]` (forma com hífen)
- **Claude Code / OpenCode:** `/msd-command-name [args]` (forma com hífen)
- **Codex:** `$msd-command-name [args]`
Independente do runtime utilizado, o instalador escreve a forma correta no diretório de comandos do seu runtime.
@@ -217,7 +217,7 @@ Loop de convergência de planos cross-AI — replaneja com feedback de revisão
| Argumento / Flag | Obrigatório | Descrição |
|------------------|-------------|-----------|
| `N` | **Sim** | Número da fase a planejar e revisar |
| Flags de revisor | Não | Repassa todas as flags de lane de revisor: `--claude`, `--codex`, `--coderabbit`, `--opencode`, `--qwen`, `--cursor`, `--agy` / `--antigravity`, `--ollama`, `--lm-studio`, `--llama-cpp`, `--kimi-code` |
| Flags de revisor | Não | Repassa todas as flags de lane de revisor: `--claude`, `--codex`, `--coderabbit`, `--opencode`, `--cursor`, `--agy` / `--antigravity`, `--ollama`, `--lm-studio`, `--llama-cpp` |
| `--all` | Não | Executa todos os revisores configurados. As lanes são despachadas **sequencialmente** por padrão; defina `review.parallel_lanes` como `true` para despachá-las simultaneamente em uma única passagem de revisão |
| `--max-cycles N` | Não | Substitui o limite de ciclos (padrão 3) |
@@ -1243,11 +1243,9 @@ Revisão por pares cross-AI de planos de fase a partir de CLIs de IA externas.
| `--claude` | Inclui revisão pelo Claude CLI (sessão separada) |
| `--codex` | Inclui revisão pelo Codex CLI |
| `--coderabbit` | Inclui revisão pelo CodeRabbit |
| `--opencode` | Inclui revisão pelo OpenCode (via GitHub Copilot) |
| `--qwen` | Inclui revisão pelo Qwen Code (modelos Alibaba Qwen) |
| `--opencode` | Inclui revisão pelo OpenCode |
| `--cursor` | Inclui revisão pelo agente Cursor |
| `--agy` / `--antigravity` | Inclui revisão pelo Antigravity CLI (gratuito com credenciais Google) |
| `--kimi-code` | Inclui revisão pelo Kimi Code CLI (Moonshot AI) |
| `--ollama` | Inclui revisão pelo servidor Ollama |
| `--lm-studio` | Inclui revisão pelo servidor LM Studio |
| `--llama-cpp` | Inclui revisão pelo servidor llama.cpp |

View File

@@ -143,7 +143,7 @@ O MSD armazena as configurações do projeto em `.planning/config.json`. Criado
| `mode` | enum | `interactive`, `yolo` | `interactive` | `yolo` aprova decisões automaticamente; `interactive` confirma em cada etapa |
| `granularity` | enum | `coarse`, `standard`, `fine` | `standard` | Controla a quantidade de fases: `coarse` (3-5), `standard` (5-8), `fine` (8-12) |
| `model_profile` | enum | `quality`, `balanced`, `budget`, `adaptive`, `inherit` | `balanced` | Nível de modelo para cada agente (consulte [Perfis de Modelo](#model-profiles)). `adaptive` foi adicionado conforme [#1713](https://github.com/open-gsd/gsd-core/issues/1713) / [#1806](https://github.com/open-gsd/gsd-core/issues/1806) e resolve da mesma forma que os outros níveis em perfis com reconhecimento de runtime. |
| `runtime` | string | `claude`, `codex`, ou qualquer string | (nenhum) | Runtime ativo para [resolução de perfil com reconhecimento de runtime](#runtime-aware-profiles-2517). Quando definido, os níveis de perfil (opus/sonnet/haiku) resolvem para IDs de modelo nativos do runtime. Atualmente, apenas o caminho de instalação do Codex emite IDs de modelo por agente a partir deste resolvedor; outros runtimes (`opencode`, `gemini`, `qwen`, `copilot`, …) consomem o resolvedor no momento do spawn e ganham suporte a caminho de instalação dedicado em [#2612](https://github.com/open-gsd/gsd-core/issues/2612). Quando não definido (padrão), o comportamento não se altera em relação às versões anteriores. Adicionado na v1.39 |
| `runtime` | string | `claude`, `codex`, ou qualquer string | (nenhum) | Runtime ativo para [resolução de perfil com reconhecimento de runtime](#runtime-aware-profiles-2517). Quando definido, os níveis de perfil (opus/sonnet/haiku) resolvem para IDs de modelo nativos do runtime. Atualmente, apenas o caminho de instalação do Codex emite IDs de modelo por agente a partir deste resolvedor; outros runtimes (`opencode`, `gemini`, …) consomem o resolvedor no momento do spawn e ganham suporte a caminho de instalação dedicado em [#2612](https://github.com/open-gsd/gsd-core/issues/2612). Quando não definido (padrão), o comportamento não se altera em relação às versões anteriores. Adicionado na v1.39 |
| `model_profile_overrides.<runtime>.<tier>` | string \| object | substituição de nível por runtime | (nenhum) | Substitui o mapeamento de nível com reconhecimento de runtime para um `(runtime, tier)` específico. O nível é um de `opus`, `sonnet`, `haiku`. O valor é uma string de ID de modelo (por exemplo, `"gpt-5-pro"`) ou `{ model, reasoning_effort }`. Consulte [Perfis com Reconhecimento de Runtime](#runtime-aware-profiles-2517). Adicionado na v1.39 |
| `model_policy.provider` | string | `openai`, `anthropic`, `anthropic-fable`, `google`, `qwen`, `generic` | (nenhum) | Declara o provedor de modelo. Provedores conhecidos (`openai`, `anthropic`, `anthropic-fable`, `google`, `qwen`) desbloqueiam predefinições baseadas em catálogo. `generic` trata todos os IDs de modelo como strings opacas — sem inferência de prefixo, sem padrões de esforço de raciocínio. `model_policy.runtime_tiers` resolve antes do legado `model_profile_overrides`. Consulte [Predefinições de Política de Modelo](#model-policy-presets-model_policy--added-in-v142). Adicionado na v1.42 ([#49](https://github.com/open-gsd/gsd-core/issues/49)) |
| `model_policy.budget` | enum | `high`, `medium`, `low` | (nenhum) | Seleciona um nível de orçamento ao usar um provedor conhecido. O MSD materializa a predefinição de catálogo correspondente em mapeamentos de nível explícitos no momento da resolução. Ignorado quando `provider` é `generic` ou `custom`. Adicionado na v1.42 ([#49](https://github.com/open-gsd/gsd-core/issues/49)) |
@@ -700,14 +700,13 @@ Configure a seleção de modelo por CLI para `/msd-review`. Quando definido, sub
| `review.models.claude` | string | (padrão da CLI) | Modelo usado quando o revisor `--claude` é invocado |
| `review.models.codex` | string | (padrão da CLI) | Modelo usado quando o revisor `--codex` é invocado |
| `review.models.opencode` | string | (padrão da CLI) | Modelo usado quando o revisor `--opencode` é invocado |
| `review.models.qwen` | string | (padrão da CLI) | Modelo usado quando o revisor `--qwen` é invocado |
| `review.models.cursor` | string | (padrão da CLI) | Modelo usado quando o revisor `--cursor` é invocado |
| `review.models.ollama` | string | (padrão do servidor) | Nome do modelo passado ao Ollama quando o revisor `--ollama` é invocado. Se não definido, o primeiro modelo disponível reportado pelo servidor é usado (por exemplo `llama3`). Defina para uma tag específica: `msd config-set review.models.ollama codellama` |
| `review.models.lm_studio` | string | (padrão do servidor) | Nome do modelo passado ao LM Studio quando o revisor `--lm-studio` é invocado. Se não definido, o primeiro modelo disponível reportado pelo servidor é usado. |
| `review.models.llama_cpp` | string | (padrão do servidor) | Nome do modelo passado ao llama.cpp quando o revisor `--llama-cpp` é invocado. Se não definido, o primeiro modelo reportado por `/v1/models` é usado. |
| `review.default_reviewers` | string[] \| null | (todos os revisores detectados) | Subconjunto de revisores padrão para `/msd-review` sem flags. Exemplo: `["codex","claude"]`. Flags explícitas e `--all` substituem esta configuração. |
| `review.max_prompt_tokens` | number\|null | null | Máximo padrão de tokens estimados para o prompt de revisão montado. Quando definido, o prompt é cortado deterministicamente antes de ser enviado a cada revisor. Substituições por revisor via `review.max_prompt_tokens_per_reviewer` têm precedência. null = sem corte (comportamento atual). |
| `review.max_prompt_tokens_per_reviewer` | object | {} | Substituições de orçamento de tokens por revisor. As chaves são slugs de revisor (ollama, llama_cpp, lm_studio, claude, codex, opencode, qwen, cursor). Os valores substituem `review.max_prompt_tokens` para aquele revisor. Recomendado para servidores de modelos locais. |
| `review.max_prompt_tokens_per_reviewer` | object | {} | Substituições de orçamento de tokens por revisor. As chaves são slugs de revisor (ollama, llama_cpp, lm_studio, claude, codex, opencode, cursor). Os valores substituem `review.max_prompt_tokens` para aquele revisor. Recomendado para servidores de modelos locais. |
| `review.ollama_host` | string | `http://localhost:11434` | URL base do servidor Ollama. Substitua quando executar o Ollama em uma porta não padrão ou host remoto: `msd config-set review.ollama_host http://192.168.1.10:11434` |
| `review.lm_studio_host` | string | `http://localhost:1234` | URL base do servidor local LM Studio. Substitua quando usar uma porta não padrão. |
| `review.llama_cpp_host` | string | `http://localhost:8080` | URL base do servidor llama.cpp (`llama-server`). Substitua quando usar uma porta não padrão. |
@@ -722,8 +721,7 @@ Servidores de modelos locais (Ollama, llama.cpp, LM Studio) geralmente aceitam m
{
"review": {
"models": {
"agy": "gemini-3.1-pro-preview",
"qwen": "qwen-max"
"agy": "gemini-3.1-pro-preview"
}
}
}
@@ -808,7 +806,7 @@ Valores de substituição válidos: `opus`, `sonnet`, `haiku`, `inherit` ou qual
ou `~/.msd/defaults.json` (global). Entradas por projeto ganham em conflito e
entradas globais sem conflito são preservadas, então você pode ajustar o modelo de um único
agente em um repositório sem redefinir os padrões globais. Isso se aplica
uniformemente em Claude Code, Codex, OpenCode, Kilo e outros
uniformemente em Claude Code, Codex, OpenCode e outros
runtimes suportados. No Codex e OpenCode, o modelo resolvido é incorporado
na configuração estática de cada agente no momento da instalação — `spawn_agent` e
a interface `task` do OpenCode não aceitam um parâmetro `model` inline, então
@@ -1095,7 +1093,7 @@ Use `node msd-tools.cjs resolve-execution <agent-type> [--effort <level>] [--fas
---
### Runtimes Não-Claude (Codex, OpenCode, Antigravity CLI, Kilo)
### Runtimes Não-Claude (Codex, OpenCode, Antigravity CLI)
> **Versão mínima suportada do Codex CLI: `0.130.0`** (issue [#3562](https://github.com/open-gsd/gsd-core/issues/3562)).
>
@@ -1134,7 +1132,7 @@ A intenção é a mesma que os níveis de perfil do Claude -- use um modelo mais
|-------|----------|----------|
| `false` (padrão) | Retorna aliases Claude (`opus`, `sonnet`, `haiku`) | Claude Code com API Anthropic nativa |
| `true` | Mapeia aliases para IDs completos de modelo Claude (`claude-opus-4-8`) | Claude Code com API que requer IDs completos |
| `"omit"` | Retorna string vazia (runtime escolhe seu padrão) | Runtimes não-Claude (Codex, OpenCode, Antigravity CLI, Kilo) |
| `"omit"` | Retorna string vazia (runtime escolhe seu padrão) | Runtimes não-Claude (Codex, OpenCode, Antigravity CLI) |
### Perfis com Reconhecimento de Runtime (#2517)
@@ -1149,11 +1147,8 @@ A saída JSON de `resolve-model` inclui `reasoning_effort` quando o nível de ru
| `claude` | `claude-opus-4-8` | `claude-sonnet-5` | `claude-haiku-4-5` | (não usado) |
| `codex` | `gpt-5.6-sol` | `gpt-5.6-terra` | `gpt-5.6-luna` | `xhigh` / `medium` / `medium` |
| `gemini` | `gemini-3-pro` | `gemini-3-flash` | `gemini-2.5-flash-lite` | (não usado) |
| `qwen` | `qwen3-max-2026-01-23` | `qwen3-coder-plus` | `qwen3-coder-next` | (não usado) |
| `opencode` | `anthropic/claude-opus-4-8` | `anthropic/claude-sonnet-5` | `anthropic/claude-haiku-4-5` | (não usado) |
| `copilot` | `claude-opus-4-8` | `claude-sonnet-5` | `claude-haiku-4-5` | (não usado) |
| `hermes` | `anthropic/claude-opus-4-8` | `anthropic/claude-sonnet-5` | `anthropic/claude-haiku-4-5` | (não usado) |
| Grupo B (`kilo`, `cline`, `cursor`, `windsurf`, `augment`, `trae`, `codebuddy`, `antigravity`) | (sem padrão integrado — seu runtime trata da seleção de modelo) | | | |
| Grupo B (`cursor`, `zcode`, `antigravity`) | (sem padrão integrado — seu runtime trata da seleção de modelo) | | | |
**Exemplo Codex** — uma configuração, modelos em nível, sem bloco grande de `model_overrides`:

View File

@@ -57,7 +57,6 @@ Para catálogo completo e detalhamento exaustivo, consulte [FEATURES.md em ingl
- **`--diagnose` flag** — modo diagnóstico sem modificações no `/msd-debug` (v1.32)
- **`/msd-manager --analyze-deps`** — detecta dependências entre fases (v1.32)
- **Response language config** — `response_language` para saída consistente em idioma (v1.32)
- **Novos runtimes** — Trae IDE, Cline, Augment Code (v1.32)
- **Manual update** — procedimento de atualização sem npm (v1.32)
---

View File

@@ -428,7 +428,7 @@ Listagem completa: `msd-core/bin/lib/*.cjs`.
| `roadmap.cjs` | Análise de ROADMAP.md, extração de fases, progresso de plano |
| `runtime-artifact-layout.cjs` | Módulo de layout de artefatos de runtime — resolve as formas do diretório de artefatos (comandos, agentes, habilidades) para cada runtime suportado; fonte única de verdade para posicionamento de artefatos por runtime (#3663) |
| `runtime-name-policy.cjs` | Política de normalização de nome de runtime — sanitização canônica de token para identificadores de runtime usados na construção de caminhos e exibição |
| `runtime-homes.cjs` | Mapeamento canônico de runtime → diretório de configuração/habilidades global; suporte de primeira classe para todos os 15 runtimes incluindo layout aninhado Hermes e exclusão baseada em regras Cline (#3126) |
| `runtime-homes.cjs` | Mapeamento canônico de runtime → diretório de configuração/habilidades global; suporte de primeira classe para todos os runtimes suportados |
| `runtime-slash.cjs` | Formatador de comando slash com reconhecimento de runtime — fonte única de verdade para emitir `/msd-<cmd>` (runtimes baseados em habilidades) e `$msd-<cmd>` (codex) em saída voltada ao usuário e artefatos persistidos (#3584) |
| `schema-detect.cjs` | Detecção de drift de esquema para padrões ORM (Prisma, Drizzle, Supabase, TypeORM, Payload); exporta `detectSchemaFiles`, `detectSchemaOrm`, `checkSchemaDrift`, `SCHEMA_PATTERNS`, `ORM_INFO` |
| `secrets.cjs` | Convenção de mascaramento de configuração de segredo (`****<last-4>`) para chaves de integração; exporta `SECRET_CONFIG_KEYS`, `isSecretKey`, `maskSecret`, `maskIfSecret` |

View File

@@ -35,7 +35,7 @@ execute → verify → review → ship usando as primitivas MSD existentes.
O MSD fornece **o mesmo conjunto de habilidades** para todos os runtimes suportados, usando a grafia com hífen para o slash-command:
- **Forma com hífen** — `/msd-command-name` — usada por Claude Code, Copilot, OpenCode, Kilo, Cursor, Windsurf, Augment, Antigravity e Trae.
- **Forma com hífen** — `/msd-command-name` — usada por Claude Code, OpenCode, Cursor e Antigravity.
O instalador grava essa forma no diretório de comandos de cada runtime que você especificar.
@@ -675,7 +675,7 @@ Cada servidor desabilitado remove seu esquema de cada turno subsequente. Reduzir
Para a auditoria completa, referência do harness e a nota de composição com `model_profile`, consulte [Custo de esquema de ferramentas MCP](../../msd-core/references/context-budget.md#mcp-tool-schema-cost-harness-concern) na referência `context-budget.md` incluída.
### Usando runtimes não-Claude (Codex, OpenCode, Antigravity CLI, Kilo)
### Usando runtimes não-Claude (Codex, OpenCode, Antigravity CLI)
> **Versão mínima suportada do Codex CLI: `0.130.0`** (issue [#3562](https://github.com/open-gsd/gsd-core/issues/3562)).
@@ -720,31 +720,12 @@ Se você não puder executar o instalador do MSD, não poderá usar os arquivos
npx @golem15/msd-core@latest --opencode --global
```
### Instalando para o Cline
```bash
npx @golem15/msd-core --cline --global # applies to all projects
npx @golem15/msd-core --cline --local # this project only
```
### Instalando para o CodeBuddy
```bash
npx @golem15/msd-core --codebuddy --global
```
### Instalando para o Qwen Code
```bash
npx @golem15/msd-core --qwen --global
```
### Instalando para edições de pré-lançamento
Defina a variável de ambiente `*_CONFIG_DIR` do runtime para o diretório de pré-lançamento antes de executar o instalador:
```bash
WINDSURF_CONFIG_DIR=~/.codeium/windsurf-next npx @golem15/msd-core@latest --windsurf --global
CURSOR_CONFIG_DIR=~/.cursor-next npx @golem15/msd-core@latest --cursor --global
```
**Referência de variáveis de ambiente para runtimes suportados:**
@@ -754,16 +735,8 @@ WINDSURF_CONFIG_DIR=~/.codeium/windsurf-next npx @golem15/msd-core@latest --wind
| Claude Code | `~/.claude` | `CLAUDE_CONFIG_DIR` |
| OpenCode | `XDG_CONFIG_HOME/opencode` | `OPENCODE_CONFIG_DIR` |
| Codex | (per Codex CLI) | `--config-dir` flag |
| Copilot | `~/.copilot` | `COPILOT_CONFIG_DIR` |
| Cursor | `~/.cursor` | `CURSOR_CONFIG_DIR` |
| Windsurf | `~/.codeium/windsurf` | `WINDSURF_CONFIG_DIR` |
| Antigravity | auto-detected | `ANTIGRAVITY_CONFIG_DIR` |
| Augment | `~/.augment` | `AUGMENT_CONFIG_DIR` |
| Trae | `~/.trae` | `TRAE_CONFIG_DIR` |
| Qwen Code | `~/.qwen` | `QWEN_CONFIG_DIR` |
| Kilo | `~/.config/kilo` | `KILO_CONFIG_DIR` |
| CodeBuddy | `~/.codebuddy` | `CODEBUDDY_CONFIG_DIR` |
| Cline | `~/.cline` | `CLINE_CONFIG_DIR` |
### Usando o Claude Code com provedores não-Anthropic

View File

@@ -58,7 +58,7 @@ Valores válidos: `opus`, `sonnet`, `haiku`, `inherit` ou qualquer ID de modelo
**Importante para Codex e OpenCode:** Esses runtimes incorporam o modelo resolvido na configuração estática de cada agente no momento da instalação. Após editar `model_overrides`, execute novamente o instalador para que a alteração entre em vigor:
```bash
npx @golem15/msd-core@latest --codex --global # ou --opencode, --kilo, etc.
npx @golem15/msd-core@latest --codex --global # ou --opencode, etc.
```
---
@@ -154,7 +154,7 @@ Cada tentativa usa `tier_models[default_tier]` independentemente do resultado
## Usando o MSD em runtimes não-Anthropic
Se você instalou o MSD para Codex, OpenCode, Antigravity CLI ou Kilo, o instalador já definiu `resolve_model_ids: "omit"` na sua configuração. Isso instrui o MSD a pular a resolução de IDs de modelo Anthropic e deixar o runtime escolher seu próprio modelo padrão. Nenhuma configuração manual é necessária para o caso básico.
Se você instalou o MSD para Codex, OpenCode, ou Antigravity CLI, o instalador já definiu `resolve_model_ids: "omit"` na sua configuração. Isso instrui o MSD a pular a resolução de IDs de modelo Anthropic e deixar o runtime escolher seu próprio modelo padrão. Nenhuma configuração manual é necessária para o caso básico.
**Se você quiser modelos por nível no Codex:**

View File

@@ -62,22 +62,6 @@ OPENCODE_CONFIG_DIR=~/.config/opencode-alt npx @golem15/msd-core@latest --openco
---
### Kilo
```bash
npx @golem15/msd-core@latest --kilo --global
```
As habilidades são instaladas em `~/.config/kilo/` (XDG) ou `~/.kilo/`. Usa o mesmo formato de comando markdown plano no estilo OpenCode.
**Substituir o diretório de instalação:**
```bash
KILO_CONFIG_DIR=~/.config/kilo-alt npx @golem15/msd-core@latest --kilo --global
```
---
### Codex
```bash
@@ -90,22 +74,6 @@ As habilidades são instaladas em `~/.codex/skills/msd-*/SKILL.md`. Os agentes s
---
### GitHub Copilot
```bash
npx @golem15/msd-core@latest --copilot --global
```
As habilidades são instaladas em `~/.copilot/`. O MSD é instalado como arquivos de agente `.md` e arquivos de instrução de repositório.
**Substituir o diretório de instalação:**
```bash
COPILOT_CONFIG_DIR=~/.copilot-alt npx @golem15/msd-core@latest --copilot --global
```
---
### Cursor
```bash
@@ -122,76 +90,6 @@ CURSOR_CONFIG_DIR=~/.cursor-alt npx @golem15/msd-core@latest --cursor --global
---
### Windsurf
```bash
npx @golem15/msd-core@latest --windsurf --global
```
As habilidades são instaladas em `~/.codeium/windsurf/`. O MSD instala habilidades, agentes e regras de workspace.
**Substituir o diretório de instalação:**
```bash
WINDSURF_CONFIG_DIR=~/.codeium/windsurf-alt npx @golem15/msd-core@latest --windsurf --global
```
---
### Cline
O Cline usa uma integração baseada em regras — o MSD é instalado como `.clinerules` em vez de slash commands.
```bash
# Instalação global (todos os projetos)
npx @golem15/msd-core@latest --cline --global
# Instalação local (apenas este projeto)
npx @golem15/msd-core@latest --cline --local
```
Instalações globais escrevem em `~/.cline/`. Instalações locais escrevem em `./.cline/`. As regras são carregadas automaticamente pelo Cline — nenhum slash command personalizado é registrado.
---
### CodeBuddy
```bash
npx @golem15/msd-core@latest --codebuddy --global
```
As habilidades são instaladas em `~/.codebuddy/skills/msd-*/SKILL.md`.
---
### Qwen Code
O Qwen Code usa o mesmo padrão de habilidades abertas do Claude Code 2.1.88+.
```bash
npx @golem15/msd-core@latest --qwen --global
```
As habilidades são instaladas em `~/.qwen/skills/msd-*/SKILL.md`.
**Substituir o diretório de instalação:**
```bash
QWEN_CONFIG_DIR=~/.qwen-alt npx @golem15/msd-core@latest --qwen --global
```
---
### Augment Code
```bash
npx @golem15/msd-core@latest --augment --global
```
As habilidades são instaladas em `~/.augment/`. O MSD instala habilidades e agentes. Sem posse de hook ou statusline.
---
### Antigravity
```bash
@@ -208,16 +106,6 @@ ANTIGRAVITY_CONFIG_DIR=~/.gemini/antigravity-alt npx @golem15/msd-core@latest --
---
### Trae
```bash
npx @golem15/msd-core@latest --trae --global
```
As habilidades são instaladas em `~/.trae/`. O MSD instala habilidades, agentes e referências de regras.
---
## Instalação local vs global
Todos os exemplos acima usam `--global`, que instala o MSD uma vez para a sua conta de usuário. Para limitar uma instalação a um único projeto, substitua `--global` por `--local`:
@@ -232,10 +120,10 @@ Uma instalação local escreve no diretório `.claude/` na raiz do seu projeto.
## Instalando edições de pré-lançamento (Next / Nightly / Insiders / Preview)
As edições de pré-lançamento dos ambientes (Windsurf Next, Cursor Nightly, VS Code Insiders, canais de preview do Codex, etc.) leem de um diretório de configuração irmão. Defina a variável de ambiente `*_CONFIG_DIR` correspondente antes de executar o instalador:
As edições de pré-lançamento dos ambientes (Cursor Nightly, VS Code Insiders, canais de preview do Codex, etc.) leem de um diretório de configuração irmão. Defina a variável de ambiente `*_CONFIG_DIR` correspondente antes de executar o instalador:
```bash
WINDSURF_CONFIG_DIR=~/.codeium/windsurf-next npx @golem15/msd-core@latest --windsurf --global
CURSOR_CONFIG_DIR=~/.cursor-nightly npx @golem15/msd-core@latest --cursor --global
```
Selecione o ambiente estável correspondente no prompt do instalador. O MSD não enumera as edições de pré-lançamento como ambientes nomeados separados — elas são suportadas com melhor esforço por meio desse mecanismo de variável de ambiente e não são testadas separadamente no CI de lançamento.

View File

@@ -8,7 +8,7 @@
## Decidir quais revisores usar
O MSD Core pode encaminhar solicitações de revisão para qualquer combinação de: Claude (sessão separada), Codex CLI, CodeRabbit, OpenCode, Qwen Code, Cursor, Antigravity CLI, Ollama, LM Studio e llama.cpp.
O MSD Core pode encaminhar solicitações de revisão para qualquer combinação de: Claude (sessão separada), Codex CLI, CodeRabbit, OpenCode, Cursor, Antigravity CLI, Ollama, LM Studio e llama.cpp.
Cada revisor executa o mesmo prompt estruturado contra seus arquivos `PLAN.md` de forma independente. Como diferentes modelos têm diferentes pontos cegos, o consenso de múltiplos revisores detecta mais problemas do que qualquer revisor individual.
@@ -141,7 +141,6 @@ Isso executa `plan-phase → review → replan → re-review` por até três cic
| Você já tem o Antigravity instalado | `--agy` é sempre um bom revisor inicial |
| Você quer cobertura gratuita com múltiplos revisores | `--agy` (credenciais Google) + `--claude` |
| Seu projeto é fortemente baseado em OpenAI | adicione `--codex` para uma perspectiva de modelo OpenAI |
| Você quer o modelo do GitHub Copilot | adicione `--opencode` |
| Você quer evitar custos de API completamente | configure o Ollama com um modelo local e use `--ollama` |
| Você precisa de cobertura máxima antes de um lançamento | `/msd-plan-review-convergence N --all` |
| Você está iterando rapidamente e quer feedback rápido | escolha um CLI: `/msd-review --phase N --agy` |