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 @@
## 시스템 개요
MSD Core는 사용자와 AI 코딩 에이전트(Claude Code, Kimi CLI, OpenCode, Kilo, Codex, Copilot, Antigravity, Trae, Cline, Augment Code) 사이에 위치하는 **메타 프롬프팅 프레임워크**이다. 다음을 제공한다:
MSD Core는 사용자와 AI 코딩 에이전트(Claude Code, OpenCode, Codex, Antigravity, Cursor) 사이에 위치하는 **메타 프롬프팅 프레임워크**이다. 다음을 제공한다:
1. **컨텍스트 엔지니어링** — 작업별로 AI에게 필요한 모든 것을 제공하는 구조화된 결과물([컨텍스트 엔지니어링](explanation/context-engineering.md) 참조)
2. **다중 에이전트 오케스트레이션** — 신선한 컨텍스트 윈도우로 전문화된 에이전트를 생성하는 얇은 오케스트레이터([다중 에이전트 오케스트레이션](explanation/multi-agent-orchestration.md) 참조)
@@ -112,9 +112,8 @@ MSD Core는 사용자와 AI 코딩 에이전트(Claude Code, Kimi CLI, OpenCode,
사용자 대면 진입점. 각 파일은 YAML 전문(name, description, allowed-tools)과 워크플로우를 부트스트랩하는 프롬프트 본문을 포함한다. 명령어는 다음과 같이 설치된다:
- **Claude Code:** 커스텀 슬래시 명령어 (하이픈 형식, `/msd-command-name`)
- **OpenCode / Kilo:** 슬래시 명령어 (하이픈 형식, `/msd-command-name`)
- **OpenCode:** 슬래시 명령어 (하이픈 형식, `/msd-command-name`)
- **Codex:** Skills (`$msd-command-name`)
- **Copilot:** 슬래시 명령어 (하이픈 형식, `/msd-command-name`)
- **Antigravity:** Skills
**전체 명령어 수:** 권위 있는 개수와 전체 목록은 [`docs/INVENTORY.md`](INVENTORY.md#commands)를 참조하라.
@@ -482,18 +481,9 @@ UI-SPEC.md (단계별) ───────────────────
다른 런타임의 동등한 경로:
- **OpenCode:** `~/.config/opencode/` 전역 또는 `./.opencode/` 로컬
- **Kilo:** `~/.config/kilo/` 전역 또는 `./.kilo/` 로컬
- **Codex:** `~/.codex/` 전역 또는 `./.codex/` 로컬
- **Copilot:** `~/.copilot/` 전역 또는 `./.github/` 로컬
- **Antigravity:** 자동 감지된 전역 루트 (`~/.gemini/antigravity/`, `~/.gemini/antigravity-ide/`, 또는 `~/.gemini/antigravity-cli/`) 또는 `./.agent/` 로컬
- **Cursor:** `~/.cursor/` 전역 또는 `./.cursor/` 로컬
- **Windsurf:** `~/.codeium/windsurf/` 전역 또는 `./.windsurf/` 로컬
- **Augment Code:** `~/.augment/` 전역 또는 `./.augment/` 로컬
- **Trae:** `~/.trae/` 전역 또는 `./.trae/` 로컬
- **Qwen Code:** `~/.qwen/` 전역 또는 `./.qwen/` 로컬
- **Hermes Agent:** `~/.hermes/` 전역 또는 `./.hermes/` 로컬
- **CodeBuddy:** `~/.codebuddy/` 전역 또는 `./.codebuddy/` 로컬
- **Cline:** `~/.cline/` 전역 또는 프로젝트 루트 `.clinerules` 로컬
### 프로젝트 파일 (`.planning/`)
@@ -567,24 +557,15 @@ UI-SPEC.md (단계별) ───────────────────
인스톨러(`bin/install.js`, ~10,700줄)는 다음을 처리한다:
1. **런타임 감지** — 대화형 프롬프트 또는 CLI 플래그 (`--claude`, `--opencode`, `--kimi`, `--kilo`, `--codex`, `--copilot`, `--antigravity`, `--cursor`, `--windsurf`, `--augment`, `--trae`, `--qwen`, `--hermes`, `--codebuddy`, `--cline`, `--all`)
1. **런타임 감지** — 대화형 프롬프트 또는 CLI 플래그 (`--claude`, `--opencode`, `--codex`, `--antigravity`, `--cursor`, `--all`)
2. **위치 선택** — 전역(`--global`) 또는 로컬(`--local`)
3. **파일 배포** — commands, skills, workflows, references, templates, agents, hooks 복사
4. **런타임 적응** — 런타임별 파일 내용 변환:
- Claude Code: 그대로 사용
- OpenCode: 명령어/에이전트를 OpenCode 호환 플랫 명령어 + 서브에이전트 형식으로 변환
- Kilo: Kilo 설정 경로로 OpenCode 변환 파이프라인 재사용
- Codex: commands에서 TOML config + skills 생성
- Copilot: 도구 이름 매핑 (Read→read, Bash→execute 등)
- Antigravity: Google 모델 등가물을 사용한 skills-first; 훅 이벤트 이름 조정 (`PostToolUse` 대신 `AfterTool`)
- Cursor: Cursor 규칙 참조를 사용한 skills-first
- Windsurf: Windsurf 규칙 참조를 사용한 skills-first
- Trae: `settings.json` 또는 훅 통합 없이 `~/.trae` / `./.trae`에 skills-first 설치
- Qwen Code: Qwen 브랜드 경로 및 프롬프트 재작성을 사용한 skills-first
- Hermes Agent: `skills/msd/` 하의 범주 기반 스킬
- CodeBuddy: CodeBuddy 경로 및 프롬프트 재작성을 사용한 skills-first
- Cline: 규칙 기반 통합을 위한 `.clinerules` 작성
- Augment Code: 전체 스킬 변환 및 설정 관리를 사용한 skills-first
5. **경로 정규화** — `~/.claude/` 경로를 런타임별 경로로 교체
6. **설정 통합** — 런타임의 `settings.json`에 훅 등록
7. **패치 백업** — v1.17부터 로컬 수정 파일을 `msd-local-patches/`에 백업하여 `/msd-update --reapply`에 사용
@@ -701,33 +682,23 @@ MSD는 통합된 명령어/워크플로우 아키텍처를 통해 여러 AI 코
| --- | --- | --- | --- | --- | --- |
| Claude Code | `~/.claude` | `./.claude` | 전역 `skills/msd-*/SKILL.md`; 로컬 `commands/msd/*.md` | `agents/msd-*.md` | `settings.json` 훅 및 statusLine 항목 |
| OpenCode | `~/.config/opencode` | `./.opencode` | `command/msd-*.md` | `agents/msd-*.md` | `opencode.json` 또는 `opencode.jsonc`; MSD 훅 없음 |
| Kilo | `~/.config/kilo` | `./.kilo` | `command/msd-*.md` | `agents/msd-*.md` | `kilo.json` 또는 `kilo.jsonc`; MSD 훅 없음 |
| Codex | `~/.codex` | `./.codex` | `skills/msd-*/SKILL.md` | `agents/` 소스 마크다운 + 에이전트별 TOML | `config.toml` `[agents.msd-*]`, `[features].hooks` (정규; 레거시 별칭 `codex_hooks`는 인식되며 재설치 시 마이그레이션됨, #3566), 훅 테이블 |
| GitHub Copilot | `~/.copilot` | `./.github` | `skills/msd-*/SKILL.md` 및 `copilot-instructions.md` | `.agent.md` 파일 | MSD 훅 또는 statusline 없음 |
| Antigravity | 자동 감지: `~/.gemini/antigravity`, `~/.gemini/antigravity-ide`, 또는 `~/.gemini/antigravity-cli` | `./.agent` | `skills/msd-*/SKILL.md` | `agents/msd-*.md` | MSD가 설치 시 Gemini 스타일 `settings.json` 훅 항목 |
| Cursor | `~/.cursor` | `./.cursor` | `skills/msd-*/SKILL.md` | `agents/msd-*.md` | `rules/` 하의 규칙 참조; MSD 훅 없음 |
| Windsurf | `~/.codeium/windsurf` | `./.windsurf` | `skills/msd-*/SKILL.md` | `agents/msd-*.md` | `rules/` 하의 규칙 참조; MSD 훅 없음 |
| Augment Code | `~/.augment` | `./.augment` | `skills/msd-*/SKILL.md` | `agents/msd-*.md` | MSD 훅 또는 statusline 없음 |
| Trae | `~/.trae` | `./.trae` | `skills/msd-*/SKILL.md` | `agents/msd-*.md` | `rules/` 하의 규칙 참조; MSD 훅 없음 |
| Qwen Code | `~/.qwen` | `./.qwen` | `skills/msd-*/SKILL.md` | `agents/msd-*.md` | 지원되는 경우 공통 MSD 설정 및 훅 항목 |
| Hermes Agent | `~/.hermes` | `./.hermes` | `skills/msd/DESCRIPTION.md` 및 `skills/msd/msd-*/SKILL.md` | `agents/msd-*.md` | 지원되는 경우 공통 MSD 설정 및 훅 항목 |
| CodeBuddy | `~/.codebuddy` | `./.codebuddy` | `skills/msd-*/SKILL.md` | `agents/msd-*.md` | 지원되는 경우 공통 MSD 설정 및 훅 항목 |
| Cline | `~/.cline` | 프로젝트 루트 | `.clinerules` | 규칙만 | MSD 훅 또는 statusline 없음 |
### 업스트림 계약 소스
런타임 설치 기대는 가용한 경우 기본 문서에 대해 확인된다. 현재 소스 스냅샷은 2026-05-11:
- Claude Code: Anthropic 슬래시 명령어, 설정, 훅, 서브에이전트 문서.
- OpenCode 및 Kilo: OpenCode 설정 문서 및 Kilo 커스텀 서브에이전트 문서.
- Qwen Code: 명령어/설정 문서; Qwen 명령어 문서는 2026-05-06에 마지막으로 업데이트됨.
- OpenCode: OpenCode 설정 문서.
- Codex: OpenAI Codex 문서 및 `config-schema.json`; 인스톨러는 에이전트 테이블 형태를 위한 Codex 0.124.0 호환성도 포함.
- Copilot, Cursor, Cline, Augment, Hermes, CodeBuddy: 커스텀 지시, 규칙, 스킬, 설정을 위한 벤더 문서.
- Antigravity, Windsurf, Trae: 소스가 제한된 행. 인스톨러는 현재 호환성 심을 문서화하며, 마이그레이션은 설정을 재작성하기 전에 해당 소스를 새로 고쳐야 한다.
- Cursor: 커스텀 지시, 규칙, 스킬, 설정을 위한 벤더 문서.
- Antigravity: 소스가 제한된 행. 인스톨러는 현재 호환성 심을 문서화하며, 마이그레이션은 설정을 재작성하기 전에 해당 소스를 새로 고쳐야 한다.
### 추상화 포인트
1. **도구 이름 매핑** — 각 런타임은 고유한 도구 이름을 가진다 (예: Claude의 `Bash` → Copilot의 `execute`)
1. **도구 이름 매핑** — 각 런타임은 고유한 도구 이름을 가진다 (예: Claude의 `Bash` → Codex의 도구 이름)
2. **훅 이벤트 이름** — Claude는 `PostToolUse`를 사용하고 Antigravity는 `AfterTool`을 사용한다
3. **에이전트 전문** — 각 런타임은 고유한 에이전트 정의 형식을 가진다
4. **경로 컨벤션** — 각 런타임은 서로 다른 디렉터리에 설정을 저장한다