Skip to main content

project-overview

cc-office project overview — current phase (Claude Code web client with protocol alignment to the VS Code extension) plus the long-term RPG roadmap (Code Quest). Use when asking what this project does, planning architecture, understanding which features are built vs planned, or framing new features.

설치로 이동

소스 정보

저장소
recca0120/code-quest
최근 소스 활동
2026년 5월 16일 08:03
감지된 SKILL.md 언어
중국어
스타
11
포크
2

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
project-overview
description
cc-office project overview — current phase (Claude Code web client with protocol alignment to the VS Code extension) plus the long-term RPG roadmap (Code Quest). Use when asking what this project does, planning architecture, understanding which features are built vs planned, or framing new features.
# cc-office — 專案總覽 ## TL;DR **當下**:cc-office 是 Claude Code CLI 的 web 客戶端,對齊官方 VS Code extension 的 protocol — ChatPanel / PermissionModePicker / SessionContext / Storybook 覆蓋、design tokens、Tailwind scale 等。 **長期願景(roadmap)**:把 Claude Code 的使用體驗包裝成 RPG 遊戲(Code Quest / CodeLand),**此願景目前尚未實作**,相關 skill(`battle-management`、`map-system`)描述的是目標,不是現況。 做決策時以當下 client 為準;roadmap 內容當 reference,不當 spec 套用。 --- ## 當前架構(已實作) ``` ┌──────────────────────────────────────────┐ │ Client (apps/web) │ ← React + Vite │ - ChatPanel / Permission UI │ │ - SessionContext / ChannelProvider │ │ - Storybook stories, Tailwind v4 tokens │ └──────────────────┬───────────────────────┘ │ WebSocket /ws ┌──────────────────▼───────────────────────┐ │ Server (apps/server) │ ← Node + Inversify │ - WsTransport + middleware pipeline │ │ - socket handlers, ChannelManager │ │ - SessionStore (Drizzle / SQLite) │ │ - 對齊 Claude Code extension protocol │ └──────────────────┬───────────────────────┘ │ WebSocket /summoner (RPC) ┌──────────────────▼───────────────────────┐ │ Summoner (apps/summoner) │ ← 獨立 process,本地端執行 │ - Agent: 接收 server RPC 指令 │ │ - ChildProcessProvider (spawn CLI) │ │ - LocalFilesystemService / LocalGitService │ │ - createConnectionLoop 自動重連 │ └──────────────────┬───────────────────────┘ │ child_process ┌──────────────────▼───────────────────────┐ │ Claude / Gemini CLI │ └──────────────────────────────────────────┘ ``` ### 部署模式 Server 可部署在雲端或遠端主機,Summoner 在**本地端**獨立執行: ```bash # 1. 啟動 server(遠端) pnpm --filter server start # 2. 本地跑 summoner,連回 server pnpm --filter @code-quest/summoner start --server <url> --token <token> # 3. 瀏覽器開 client ``` Summoner 負責所有本地操作(檔案讀寫、git、spawn CLI),server 只做路由和狀態管理。 ### Packages | Package | 職責 | |---|---| | `apps/web` | React 19 UI,WebSocket 連線,Storybook,Tailwind v4 | | `apps/server` | Express + WsTransport,DI container,session 持久化 | | `apps/summoner` | 獨立 agent process — ws client 連回 server,本地執行 CLI / fs / git | | `packages/schemas` | 跨 package 的型別、zod schema、service interface | | `packages/transport` | 同構 WebSocket 傳輸(WsTransport, Envelope, Pipeline, resumable socket) | | `packages/broadcaster` | DataSource / CachedDataSource / Broadcaster — push snapshot 給 summoner agent | | `packages/watch` | WatchService 介面,LocalWatchService(chokidar),RemoteWatchService(RPC) | | `packages/filesystem` | LocalFilesystemService / RemoteFilesystemService | | `packages/git` | LocalGitService / RemoteGitService | | `packages/openspec` | LocalOpenspecService / OpenspecService 介面 | | `packages/diff-file` | LocalDiffFileService / DiffFileService 介面 | | `packages/utils` | 共用工具(mime type、log config、name validator) | | `packages/db-schema` | Drizzle ORM table 定義(SQLite + MySQL) | | `packages/test-kit` | 共用 test fake 和 segment builder | ### 關鍵設計原則(當前) - **Protocol alignment**:跟 Claude Code VS Code extension 的 stream JSON / control request / permission 流程對齊;以實際 CLI output 為真相來源(`docs/protocol/`) - **Multi-provider**:Claude / Gemini 透過 summoner adapter 抽象 - **Transport 解耦**:WsTransport + Envelope protocol + middleware pipeline(auth / heartbeat / resumable),handler 透過 TypedSocket 抽象不依賴具體傳輸層 - **分離式部署**:server 在雲端,summoner 在本地端,透過 WebSocket RPC 通訊 - **Session lifecycle**:spawn → channel → resume;session 可跨 window 共享、可從 DB 還原 --- ## 長期願景:Code Quest(Roadmap,**尚未實作**) 把 Claude Code 使用體驗包裝成 RPG — CodeLand 世界、11 核心系統、HP/MP/EXP/Gold、戰鬥觸發規則、pixel art 視覺 — 完整設計詳見 `rpg-roadmap` skill,相關子系統詳見 `battle-management` / `map-system`。 **為何先做 client**:RPG 層需要穩定的「跟 Claude CLI 對話」底層。先把 client ↔ server ↔ CLI 的 protocol 做紮實,RPG 才有上層可以蓋。`docs/ui-design/` 與 roadmap skill 都是設計草稿,**不是驗證過的 spec**。 --- ## 使用建議 - 問「專案現在長什麼樣、目前架構」→ 本 skill 的「當前架構」段 - 問「session / protocol / handler / UI 怎麼寫」→ 對應的 domain skill(`socket-io`、`parser-development`、`fake-summoner-*`、`tailwind-v4`…) - 問「RPG / 戰鬥 / 地圖」→ 對應 roadmap skill,但先跟使用者確認是要設計 roadmap 還是落地實作 遇到現況跟 `docs/ui-design/` 或 roadmap skill 衝突時:**現況優先**,roadmap 當參考。
GitHub에서 보기