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. **경로 컨벤션** — 각 런타임은 서로 다른 디렉터리에 설정을 저장한다

View File

@@ -6,7 +6,7 @@
## 명령어 구문
- **Claude Code / Copilot / OpenCode / Kilo:** `/msd-command-name [args]` (하이픈 형식)
- **Claude Code / OpenCode:** `/msd-command-name [args]` (하이픈 형식)
- **Codex:** `$msd-command-name [args]`
사용 중인 런타임에 따라 인스톨러가 해당 런타임의 명령어 디렉토리에 올바른 형식을 자동으로 작성합니다.
@@ -217,7 +217,7 @@ WebSearch에서 가져온 패키지는 `[ASSUMED]`(`[VERIFIED]`가 아님)로
| 인수 / 플래그 | 필수 | 설명 |
|-----------------|----------|-------------|
| `N` | **예** | 계획 및 리뷰할 단계 번호 |
| 리뷰어 플래그 | 아니요 | 모든 리뷰어 레인 플래그를 그대로 전달: `--claude`, `--codex`, `--coderabbit`, `--opencode`, `--qwen`, `--cursor`, `--agy` / `--antigravity`, `--ollama`, `--lm-studio`, `--llama-cpp`, `--kimi-code` |
| 리뷰어 플래그 | 아니요 | 모든 리뷰어 레인 플래그를 그대로 전달: `--claude`, `--codex`, `--coderabbit`, `--opencode`, `--cursor`, `--agy` / `--antigravity`, `--ollama`, `--lm-studio`, `--llama-cpp` |
| `--all` | 아니요 | 구성된 모든 리뷰어를 실행합니다. 레인은 기본적으로 **순차적으로** 디스패치되며, `review.parallel_lanes`를 `true`로 설정하면 단일 리뷰 패스 내에서 동시에 디스패치됩니다 |
| `--max-cycles N` | 아니요 | 사이클 상한 재정의 (기본값 3) |
@@ -1246,11 +1246,9 @@ AI 시스템 구축을 포함하는 단계에 대한 AI-SPEC.md 디자인 계약
| `--claude` | Claude CLI 검토 포함 (별도 세션) |
| `--codex` | Codex CLI 검토 포함 |
| `--coderabbit` | CodeRabbit 검토 포함 |
| `--opencode` | OpenCode 검토 포함 (GitHub Copilot을 통해) |
| `--qwen` | Qwen Code 검토 포함 (Alibaba Qwen 모델) |
| `--opencode` | OpenCode 검토 포함 |
| `--cursor` | Cursor 에이전트 검토 포함 |
| `--agy` / `--antigravity` | Antigravity CLI 검토 포함 (Google 자격증명으로 무료) |
| `--kimi-code` | Kimi Code CLI 검토 포함 (Moonshot AI) |
| `--ollama` | Ollama 서버 검토 포함 |
| `--lm-studio` | LM Studio 서버 검토 포함 |
| `--llama-cpp` | llama.cpp 서버 검토 포함 |

View File

@@ -299,7 +299,7 @@ quick 태스크 브랜칭 예시:
유효한 재정의 값: `opus`, `sonnet`, `haiku`, `inherit`, 또는 완전히 정규화된 모델 ID (예: `"openai/o3"`, `"google/gemini-2.5-pro"`).
### 비 Claude 런타임 (Codex, OpenCode, Antigravity CLI, Kilo)
### 비 Claude 런타임 (Codex, OpenCode, Antigravity CLI)
비 Claude 런타임에 MSD를 설치하면 인스톨러가 자동으로 `~/.msd/defaults.json`에 `resolve_model_ids: "omit"`을 설정합니다. 이로 인해 MSD는 모든 에이전트에 빈 model 파라미터를 반환하며 각 에이전트는 런타임에 설정된 모델을 사용합니다. 기본 사용 시 추가 설정은 필요하지 않습니다.
@@ -334,7 +334,7 @@ quick 태스크 브랜칭 예시:
|----|------|----------|
| `false` (기본값) | Claude 별칭 반환 (`opus`, `sonnet`, `haiku`) | 네이티브 Anthropic API를 사용하는 Claude Code |
| `true` | 별칭을 전체 Claude 모델 ID로 매핑 (`claude-opus-4-8`) | 전체 ID가 필요한 API를 사용하는 Claude Code |
| `"omit"` | 빈 문자열 반환 (런타임이 기본값 선택) | 비 Claude 런타임 (Codex, OpenCode, Antigravity CLI, Kilo) |
| `"omit"` | 빈 문자열 반환 (런타임이 기본값 선택) | 비 Claude 런타임 (Codex, OpenCode, Antigravity CLI) |
### 프로필 철학

View File

@@ -72,7 +72,6 @@
- [UI 페이즈 자동 감지](#54-ui-phase-auto-detection)
- [멀티 런타임 설치 선택](#55-multi-runtime-installer-selection)
- [v1.29 기능](#v129-기능)
- [Windsurf 런타임 지원](#56-windsurf-런타임-지원)
- [국제화 문서](#57-국제화-문서)
- [v1.31 기능](#v131-기능)
- [스키마 드리프트 감지](#59-스키마-드리프트-감지)
@@ -102,7 +101,6 @@
- [Pause-Work 확장](#82-pause-work-확장)
- [응답 언어 설정](#83-응답-언어-설정)
- [수동 업데이트 절차](#84-수동-업데이트-절차)
- [신규 런타임 지원 (Trae, Cline, Augment Code)](#85-신규-런타임-지원-trae-cline-augment-code)
---
@@ -918,7 +916,7 @@ fix(03-01): correct auth token expiry
**목적:** 여러 AI 코딩 에이전트 런타임에서 MSD를 실행합니다.
**요구사항.**
- REQ-RUNTIME-01: Claude Code, OpenCode, Kilo, Codex, Copilot, Antigravity를 지원해야 합니다.
- REQ-RUNTIME-01: Claude Code, OpenCode, Codex, Antigravity를 지원해야 합니다.
- REQ-RUNTIME-02: 설치 프로그램은 런타임별로 콘텐츠를 변환해야 합니다(도구 이름, 경로, 프론트매터).
- REQ-RUNTIME-03: 설치 프로그램은 대화형 및 비대화형(`--claude --global`) 모드를 모두 지원해야 합니다.
- REQ-RUNTIME-04: 설치 프로그램은 전역 및 로컬 설치를 모두 지원해야 합니다.
@@ -927,12 +925,12 @@ fix(03-01): correct auth token expiry
**런타임 변환.**
| 측면 | Claude Code | OpenCode | Kilo | Codex | Copilot | Antigravity |
|--------|------------|----------|-------|-------|---------|-------------|
| 명령어 | 슬래시 명령어 | 슬래시 명령어 | 슬래시 명령어 | Skills(TOML) | 슬래시 명령어 | Skills |
| 에이전트 형식 | Claude native | `mode: subagent` | `mode: subagent` | Skills | Tool mapping | Skills |
| 훅 이벤트 | `PostToolUse` | N/A | N/A | N/A | N/A | N/A |
| 구성 | `settings.json` | `opencode.json(c)` | `kilo.json(c)` | TOML | Instructions | Config |
| 측면 | Claude Code | OpenCode | Codex | Antigravity |
|--------|------------|----------|-------|-------------|
| 명령어 | 슬래시 명령어 | 슬래시 명령어 | Skills(TOML) | Skills |
| 에이전트 형식 | Claude native | `mode: subagent` | Skills | Skills |
| 훅 이벤트 | `PostToolUse` | N/A | N/A | N/A |
| 구성 | `settings.json` | `opencode.json(c)` | TOML | Config |
---
@@ -1068,9 +1066,9 @@ fix(03-01): correct auth token expiry
### 42. Cross-AI Peer Review
**명령어:** `/msd-review --phase N [--claude] [--codex] [--coderabbit] [--opencode] [--qwen] [--cursor] [--agy] [--antigravity] [--ollama] [--lm-studio] [--llama-cpp] [--kimi-code] [--all]`
**명령어:** `/msd-review --phase N [--claude] [--codex] [--coderabbit] [--opencode] [--cursor] [--agy] [--antigravity] [--ollama] [--lm-studio] [--llama-cpp] [--all]`
**목적:** 외부 AI CLI(Claude, Codex, CodeRabbit, OpenCode, Qwen Code, Cursor, Antigravity, Kimi Code)와 로컬 OpenAI 호환 서버(Ollama, LM Studio, llama.cpp)를 호출하여 페이즈 계획을 독립적으로 검토합니다. 검토자별 피드백이 담긴 구조화된 REVIEWS.md를 생성합니다.
**목적:** 외부 AI CLI(Claude, Codex, CodeRabbit, OpenCode, Cursor, Antigravity)와 로컬 OpenAI 호환 서버(Ollama, LM Studio, llama.cpp)를 호출하여 페이즈 계획을 독립적으로 검토합니다. 검토자별 피드백이 담긴 구조화된 REVIEWS.md를 생성합니다.
**요구사항.**
- REQ-REVIEW-01: 시스템에서 사용 가능한 AI CLI를 감지해야 합니다.
@@ -1346,23 +1344,6 @@ Claude가 MSD 워크플로우 컨텍스트 밖에서 파일 편집을 시도하
## v1.29 기능
### 56. Windsurf 런타임 지원
**대상:** `npx @golem15/msd-core`
**목적:** Windsurf AI IDE 지원을 추가합니다.
**요구사항.**
- REQ-WINDSURF-01: 설치 프로그램은 `--windsurf` 플래그를 통한 Windsurf 설치를 지원해야 합니다.
- REQ-WINDSURF-02: Windsurf 규칙 형식에 맞는 프롬프트 파일을 생성해야 합니다.
**프로세스.**
1. **감지** — Windsurf 설치 상태 확인
2. **변환** — MSD 프롬프트를 Windsurf 규칙 형식으로 변환
3. **설치** — Windsurf 구성 디렉토리에 MSD 설정
---
### 57. 국제화 문서
**대상:** `docs/` 디렉토리
@@ -1827,16 +1808,3 @@ Claude가 MSD 워크플로우 컨텍스트 밖에서 파일 편집을 시도하
**요구사항.**
- REQ-MANUAL-01: 문서는 단계별 수동 업데이트 절차를 설명해야 합니다.
- REQ-MANUAL-02: 절차는 npm 접근 없이 작동해야 합니다.
---
### 85. 신규 런타임 지원 (Trae, Cline, Augment Code)
**대상:** `npx @golem15/msd-core`
**목적:** Trae IDE, Cline, Augment Code 런타임으로 MSD 설치를 확장합니다.
**요구사항.**
- REQ-TRAE-01: 설치 프로그램은 Trae IDE 설치를 위한 `--trae` 플래그를 지원해야 합니다.
- REQ-CLINE-01: 설치 프로그램은 `.clinerules` 구성을 통해 Cline을 지원해야 합니다.
- REQ-AUGMENT-01: 설치 프로그램은 스킬 변환 및 구성 관리를 통해 Augment Code를 지원해야 합니다.

View File

@@ -428,7 +428,7 @@
| `roadmap.cjs` | ROADMAP.md 파싱, 단계 추출, 계획 진행도 |
| `runtime-artifact-layout.cjs` | 런타임 아티팩트 레이아웃 모듈 — 지원되는 각 런타임의 아티팩트 디렉터리 형태(명령어, 에이전트, 스킬) 해석; 런타임별 아티팩트 배치를 위한 단일 진실 소스(#3663) |
| `runtime-name-policy.cjs` | 런타임 이름 정규화 정책 — 경로 구성 및 표시에 사용되는 런타임 식별자를 위한 표준 토큰 위생 처리 |
| `runtime-homes.cjs` | 표준 런타임 → 전역 설정/스킬 디렉터리 매핑; Hermes 중첩 레이아웃 및 Cline 규칙 기반 제외를 포함한 15개 런타임에 대한 일급 지원(#3126) |
| `runtime-homes.cjs` | 표준 런타임 → 전역 설정/스킬 디렉터리 매핑; 지원되는 런타임에 대한 일급 지원(#3126) |
| `runtime-slash.cjs` | 런타임 인식 슬래시 명령어 포매터 — 사용자 대면 출력 및 영속 아티팩트에서 `/msd-<cmd>`(스킬 기반 런타임) 및 `$msd-<cmd>`(codex) 내보내기를 위한 단일 진실 소스(#3584) |
| `schema-detect.cjs` | ORM 패턴 스키마 드리프트 감지(Prisma, Drizzle, Supabase, TypeORM, Payload); `detectSchemaFiles`, `detectSchemaOrm`, `checkSchemaDrift`, `SCHEMA_PATTERNS`, `ORM_INFO` 내보내기 |
| `secrets.cjs` | 통합 키를 위한 시크릿 설정 마스킹 관례(`****<last-4>`); `SECRET_CONFIG_KEYS`, `isSecretKey`, `maskSecret`, `maskIfSecret` 내보내기 |

View File

@@ -35,7 +35,7 @@ GitHub / Linear / Jira 이슈에서 MSD를 직접 구동하는 방법은
MSD는 지원되는 모든 런타임에 **동일한 스킬 세트**를 제공하며, 하이픈 형식의 슬래시 표기를 사용합니다:
- **하이픈 형식** — `/msd-command-name` — Claude Code, Copilot, OpenCode, Kilo, Cursor, Windsurf, Augment, Antigravity, Trae에서 사용됩니다.
- **하이픈 형식** — `/msd-command-name` — Claude Code, OpenCode, Cursor, Antigravity에서 사용됩니다.
설치 프로그램은 사용자가 대상으로 하는 각 런타임의 명령어 디렉터리에 이 형식을 작성합니다.
@@ -675,7 +675,7 @@ MSD 서브에이전트는 별도의 컨텍스트 창에서 실행됩니다 —
전체 감사, 하네스 레퍼런스, `model_profile`과의 구성 노트는 번들된 `context-budget.md` 레퍼런스의 [MCP 도구 스키마 비용](../../msd-core/references/context-budget.md#mcp-tool-schema-cost-harness-concern)을 참조하세요.
### 비 Claude 런타임 사용 (Codex, OpenCode, Antigravity CLI, Kilo)
### 비 Claude 런타임 사용 (Codex, OpenCode, Antigravity CLI)
> **Codex CLI 최소 지원 버전: `0.130.0`** (이슈 [#3562](https://github.com/open-gsd/gsd-core/issues/3562)).
@@ -720,31 +720,12 @@ MSD 설치 프로그램을 실행할 수 없다면, `agents/`의 소스 파일
npx @golem15/msd-core@latest --opencode --global
```
### Cline용 설치
```bash
npx @golem15/msd-core --cline --global # applies to all projects
npx @golem15/msd-core --cline --local # this project only
```
### CodeBuddy용 설치
```bash
npx @golem15/msd-core --codebuddy --global
```
### Qwen Code용 설치
```bash
npx @golem15/msd-core --qwen --global
```
### 프리릴리스 에디션 설치
설치 프로그램 실행 전에 런타임의 `*_CONFIG_DIR` 환경 변수를 프리릴리스 디렉터리로 설정하세요:
```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
```
**지원 런타임의 환경 변수 레퍼런스:**
@@ -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 | (Codex CLI에 따름) | `--config-dir` 플래그 |
| Copilot | `~/.copilot` | `COPILOT_CONFIG_DIR` |
| Cursor | `~/.cursor` | `CURSOR_CONFIG_DIR` |
| Windsurf | `~/.codeium/windsurf` | `WINDSURF_CONFIG_DIR` |
| Antigravity | 자동 감지 | `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` |
### 비 Anthropic 프로바이더와 Claude Code 사용

View File

@@ -58,7 +58,7 @@
**Codex와 OpenCode의 중요 사항:** 이러한 런타임은 설치 시 해결된 모델을 각 에이전트의 정적 설정에 임베드합니다. `model_overrides` 편집 후 변경 사항이 적용되도록 인스톨러를 다시 실행하세요:
```bash
npx @golem15/msd-core@latest --codex --global # 또는 --opencode, --kilo 등
npx @golem15/msd-core@latest --codex --global # 또는 --opencode 등
```
---
@@ -154,7 +154,7 @@ npx @golem15/msd-core@latest --codex --global # 또는 --opencode, --kilo 등
## 비 Anthropic 런타임에서 MSD 사용
Codex, OpenCode, Antigravity CLI, 또는 Kilo용으로 MSD를 설치한 경우 인스톨러가 이미 설정에 `resolve_model_ids: "omit"`을 설정했습니다. 이는 MSD가 Anthropic 모델 ID 해결을 건너뛰고 런타임이 자체 기본 모델을 선택하도록 합니다. 기본 사용 시 수동 설정이 필요 없습니다.
Codex, OpenCode, 또는 Antigravity CLI용으로 MSD를 설치한 경우 인스톨러가 이미 설정에 `resolve_model_ids: "omit"`을 설정했습니다. 이는 MSD가 Anthropic 모델 ID 해결을 건너뛰고 런타임이 자체 기본 모델을 선택하도록 합니다. 기본 사용 시 수동 설정이 필요 없습니다.
**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
```
스킬은 `~/.config/kilo/`(XDG) 또는 `~/.kilo/`에 저장됩니다. OpenCode 스타일의 플랫 마크다운 명령 형식을 사용합니다.
**설치 디렉터리 재정의:**
```bash
KILO_CONFIG_DIR=~/.config/kilo-alt npx @golem15/msd-core@latest --kilo --global
```
---
### Codex
```bash
@@ -90,22 +74,6 @@ npx @golem15/msd-core@latest --codex --global
---
### GitHub Copilot
```bash
npx @golem15/msd-core@latest --copilot --global
```
스킬은 `~/.copilot/`에 저장됩니다. MSD는 에이전트 `.md` 파일 및 저장소 지시 파일로 설치됩니다.
**설치 디렉터리 재정의:**
```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
```
스킬은 `~/.codeium/windsurf/`에 저장됩니다. MSD는 스킬, 에이전트, 워크스페이스 규칙을 설치합니다.
**설치 디렉터리 재정의:**
```bash
WINDSURF_CONFIG_DIR=~/.codeium/windsurf-alt npx @golem15/msd-core@latest --windsurf --global
```
---
### Cline
Cline은 규칙 기반 통합을 사용합니다. MSD는 슬래시 명령이 아닌 `.clinerules`로 설치됩니다.
```bash
# 전역 설치 (모든 프로젝트)
npx @golem15/msd-core@latest --cline --global
# 로컬 설치 (이 프로젝트만)
npx @golem15/msd-core@latest --cline --local
```
전역 설치는 `~/.cline/`에 저장됩니다. 로컬 설치는 `./.cline/`에 저장됩니다. 규칙은 Cline에 의해 자동으로 로드되며 커스텀 슬래시 명령은 등록되지 않습니다.
---
### CodeBuddy
```bash
npx @golem15/msd-core@latest --codebuddy --global
```
스킬은 `~/.codebuddy/skills/msd-*/SKILL.md`에 저장됩니다.
---
### Qwen Code
Qwen Code는 Claude Code 2.1.88+와 동일한 오픈 스킬 표준을 사용합니다.
```bash
npx @golem15/msd-core@latest --qwen --global
```
스킬은 `~/.qwen/skills/msd-*/SKILL.md`에 저장됩니다.
**설치 디렉터리 재정의:**
```bash
QWEN_CONFIG_DIR=~/.qwen-alt npx @golem15/msd-core@latest --qwen --global
```
---
### Augment Code
```bash
npx @golem15/msd-core@latest --augment --global
```
스킬은 `~/.augment/`에 저장됩니다. MSD는 스킬과 에이전트를 설치합니다. 훅 또는 상태 표시줄 소유권은 없습니다.
---
### 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
```
스킬은 `~/.trae/`에 저장됩니다. MSD는 스킬, 에이전트, 규칙 참조를 설치합니다.
---
## 로컬 설치 vs 전역 설치
위의 모든 예시는 사용자 계정 전체에 MSD를 한 번 설치하는 `--global`을 사용합니다. 단일 프로젝트로 범위를 제한하려면 `--global`을 `--local`로 바꾸세요:
@@ -232,10 +120,10 @@ npx @golem15/msd-core@latest --claude --local
## 프리릴리스 에디션 설치 (Next / Nightly / Insiders / Preview)
런타임의 프리릴리스 에디션(Windsurf Next, Cursor Nightly, VS Code Insiders, Codex 프리뷰 채널 등)은 인접한 설정 디렉터리에서 읽습니다. 인스톨러 실행 전에 해당하는 `*_CONFIG_DIR` 환경 변수를 설정하세요:
런타임의 프리릴리스 에디션(Cursor Nightly, VS Code Insiders, Codex 프리뷰 채널 등)은 인접한 설정 디렉터리에서 읽습니다. 인스톨러 실행 전에 해당하는 `*_CONFIG_DIR` 환경 변수를 설정하세요:
```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
```
인스톨러 프롬프트에서 해당하는 안정적인 런타임을 선택하세요. MSD는 프리릴리스 에디션을 별도의 명명된 런타임으로 열거하지 않습니다. 이 환경 변수 메커니즘을 통한 지원은 최선의 방식이며 릴리스 CI에서 별도로 테스트되지 않습니다.

View File

@@ -8,7 +8,7 @@
## 어떤 리뷰어를 사용할지 결정
MSD Core는 Claude(별도 세션), Codex CLI, CodeRabbit, OpenCode, Qwen Code, Cursor, Antigravity CLI, Ollama, LM Studio, llama.cpp의 조합으로 리뷰 요청을 라우팅할 수 있습니다.
MSD Core는 Claude(별도 세션), Codex CLI, CodeRabbit, OpenCode, Cursor, Antigravity CLI, Ollama, LM Studio, llama.cpp의 조합으로 리뷰 요청을 라우팅할 수 있습니다.
각 리뷰어는 `PLAN.md` 파일에 대해 동일한 구조화된 프롬프트를 독립적으로 실행합니다. 서로 다른 모델은 서로 다른 맹점을 가지고 있으므로 멀티 리뷰어 합의가 단일 리뷰어보다 더 많은 문제를 발견합니다.
@@ -141,7 +141,6 @@ Ollama 또는 LM Studio를 로컬에서 실행하는 경우 서버에 접근할
| Antigravity가 이미 설치되어 있는 경우 | `--agy`는 항상 좋은 시작 리뷰어 |
| 무료 멀티 리뷰어 커버리지를 원하는 경우 | `--agy` (Google 자격 증명) + `--claude` |
| OpenAI 중심 프로젝트인 경우 | OpenAI 모델 관점을 위해 `--codex` 추가 |
| GitHub Copilot 모델을 원하는 경우 | `--opencode` 추가 |
| API 비용을 완전히 피하려는 경우 | 로컬 모델로 Ollama를 설정하고 `--ollama` 사용 |
| 릴리스 전 최대 커버리지가 필요한 경우 | `/msd-plan-review-convergence N --all` |
| 빠르게 반복하며 빠른 피드백을 원하는 경우 | CLI 하나 선택: `/msd-review --phase N --agy` |