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.
3.9 KiB
3.9 KiB
id, title, group
| id | title | group |
|---|---|---|
| 36 | Multi-Runtime Support | Infrastructure Features |
Purpose: Run MSD across multiple AI coding agent runtimes.
Requirements:
- REQ-RUNTIME-01: System MUST support Claude Code, OpenCode, Codex, Antigravity, Cursor
- REQ-RUNTIME-02: Installer MUST transform content per runtime (tool names, paths, frontmatter)
- REQ-RUNTIME-03: Installer MUST support interactive and non-interactive (
--claude --global) modes - REQ-RUNTIME-04: Installer MUST support both global and local installation
- REQ-RUNTIME-05: Uninstall MUST cleanly remove all MSD files without affecting other configurations
- REQ-RUNTIME-06: Installer MUST handle platform differences (Windows, macOS, Linux, WSL, Docker)
- REQ-RUNTIME-07: Runtimes with lifecycle hook support MUST register per-turn context-headroom tracking events at install time
- REQ-RUNTIME-08: Native packaging manifests MUST be version-stamped and enable runtime-native install/update/uninstall flows
Runtime Transformations:
| Aspect | Claude Code | OpenCode | Codex | Antigravity | Cursor |
|---|---|---|---|---|---|
| Commands | Slash commands | Slash commands | Skills (TOML) | Skills | Skills + Slash commands |
| Agent format | Claude native | mode: subagent |
Skills | Skills | Skills |
| Skills emission | N/A | On-demand SKILL.md (1.4.0) | /skills picker (1.4.0) |
N/A | SKILL.md |
| Hook events | SessionStart, PreToolUse, PostToolUse, SubagentStop, Stop, PreCompact, FileChanged |
N/A | SessionStart, SubagentStart, Stop, PostToolUse |
N/A | sessionStart, postToolUse |
| Config | settings.json |
opencode.json(c) |
TOML | Config | Config |
Cursor artifact surfaces: msd install --cursor writes two artifact kinds:
~/.cursor/skills/msd-<name>/SKILL.md— rich skills with YAML frontmatter, Cursor tool-name mapping, and adapter context header (existing surface)~/.cursor/commands/msd-<name>.md— plain markdown slash commands (no frontmatter) invocable via/in the Agent input (Cursor 1.6+)
Native skills emission (1.4.0): One runtime now emits MSD as on-demand native skills (skills/<name>/SKILL.md) at install time, in addition to their existing command and agent surfaces. Skills respect the active install profile and are removed on uninstall.
- OpenCode — emits skills alongside its existing surfaces
New slash-command surfaces (1.4.0):
- Cursor (Cursor >= 1.6) —
.cursor/commands/msd-<name>.mdso MSD appears in the/command menu
Cross-runtime lifecycle hooks (1.4.0): Each supported runtime registers lifecycle hook events for per-turn context-headroom tracking and workflow state management. Notable registrations:
- Claude Code:
SubagentStop,Stop,PreCompact(context-headroom warnings),FileChanged(hot-reloads.planning/config.jsonmid-session) - Codex:
SubagentStart,Stop,PostToolUse(new in 1.4.0); on Windows theSessionStarthook entry gains acommandWindowsfield so the.cmdshim is used for native execution - Cursor:
sessionStart(injects workflow state),postToolUse(nudges.planningupdates)
Runtime-specific enrichments (1.4.0):
- Codex emits
service_tier: flexfor light-tier agents; MSD skills appear in the Codex/skillspicker viaSKILL.md(noagents/openai.yamlsidecar is emitted — doing so caused duplicate autocomplete entries, #1326)
Native packaging:
- Claude Code: MSD Core ships a
.claude-plugin/plugin.jsonmanifest, enabling installation and lifecycle management viaclaude plugin install|enable|disable|update msd-core. Commands load under the/msd-core:namespace (e.g./msd-core:plan-phase), avoiding slash-command collisions with the classic npm installer which uses/msd:. Always-on guard and update hooks are wired automatically viahooks/hooks.json. The plugin path is additive — the npm installer (npx @golem15/msd-core) remains fully supported.