diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md new file mode 100644 index 0000000..e7fb051 --- /dev/null +++ b/.planning/REQUIREMENTS.md @@ -0,0 +1,44 @@ +# Milestone v1.1: OpenClaude CLI Integration — Requirements + +## v1.1 Requirements + +### Provider Connection (CONN) +- [ ] **CONN-01**: OpenClaude가 Variet Engine(`http://:8000/v1`)에 OpenAI-compatible 프로바이더로 연결된다. +- [ ] **CONN-02**: 프로바이더 프로필(`.openclaude-profile.json`)이 Variet Engine 전용으로 저장된다. + +### Model Routing (ROUTE) +- [ ] **ROUTE-01**: 5-Tier agentRouting이 설정되어 에이전트 유형별(Explore, Plan, general-purpose 등) 모델이 자동 선택된다. +- [ ] **ROUTE-02**: `/engine/switch/{role}` API를 통해 OpenClaude 세션 내에서 모델 핫스왑이 트리거 가능하다. + +### Agent Loop Validation (AGENT) +- [ ] **AGENT-01**: OpenClaude CLI에서 프롬프트 → LLM 응답 → 도구 호출(bash, file read/write, grep, glob) → 코드 변경의 전체 루프가 동작한다. +- [ ] **AGENT-02**: 스트리밍 응답이 실시간으로 터미널에 출력된다. + +### Build & Deploy (BUILD) +- [ ] **BUILD-01**: OpenClaude CLI가 Machine B에서 `bun install && bun run build`로 빌드되고 `node dist/cli.mjs`로 실행 가능하다. +- [ ] **BUILD-02**: VS Code Extension이 `npx @vscode/vsce package`로 `.vsix` 패키징되어 Machine B의 VS Code에 설치 가능하다. +- [ ] **BUILD-03**: Extension 설정(`launchCommand`, `useOpenAIShim`)이 Variet Engine용으로 구성된다. + +## Future Requirements (Deferred) +- [ ] Discord Bot (discord.py) on Machine B for personal assistant tools. +- [ ] MCP Tools (SearXNG, Google Calendar, Gmail) integration on Machine B. +- [ ] Auto-start Variet Engine via Windows Task Scheduler or service on Machine A. + +## Out of Scope +- Running inference on Machine B (no GPU resources in this architecture). +- Exposing Machine A to the public internet (LAN only). +- Modifying OpenClaude core source code (use as-is from upstream). + +## Traceability + +| REQ-ID | Phase | Status | +|--------|-------|--------| +| CONN-01 | — | Pending | +| CONN-02 | — | Pending | +| ROUTE-01 | — | Pending | +| ROUTE-02 | — | Pending | +| AGENT-01 | — | Pending | +| AGENT-02 | — | Pending | +| BUILD-01 | — | Pending | +| BUILD-02 | — | Pending | +| BUILD-03 | — | Pending |