diff --git a/.codex/skills/workflow-lite-plan-execute/SKILL.md b/.codex/skills/workflow-lite-plan-execute/SKILL.md index ac849662..88239935 100644 --- a/.codex/skills/workflow-lite-plan-execute/SKILL.md +++ b/.codex/skills/workflow-lite-plan-execute/SKILL.md @@ -1,44 +1,40 @@ --- name: workflow-lite-plan-execute -description: Unified lightweight planning skill with mode selection (Lite Plan, Multi-CLI Plan, Lite Fix). Supports exploration, diagnosis, multi-CLI collaboration, and shared execution via lite-execute. +description: Lightweight planning and execution skill. Exploration → Clarification → Planning → Confirmation → Execution via lite-execute. allowed-tools: spawn_agent, wait, send_input, close_agent, AskUserQuestion, Read, Write, Edit, Bash, Glob, Grep, mcp__ace-tool__search_context --- # Planning Workflow -Unified lightweight planning skill that consolidates multiple planning approaches into a single entry point with mode selection. Default mode: **Lite Plan**. All planning modes share a common execution phase (lite-execute). +Lightweight planning skill: Lite Plan produces an implementation plan, then hands off to Lite Execute for task execution. ## Architecture Overview ``` -┌──────────────────────────────────────────────────────────┐ -│ Planning Workflow Orchestrator (SKILL.md) │ -│ → Parse args → Mode selection → Load phase → Execute │ -└────────────┬─────────────────────────────────────────────┘ - │ Mode Selection (default: Lite Plan) - ┌────────┼────────┬──────────┐ - ↓ ↓ ↓ ↓ (shared) -┌────────┐ ┌────────┐ ┌────────┐ ┌────────────┐ -│Phase 1 │ │Phase 2 │ │Phase 3 │ │ Phase 4 │ -│ Lite │ │Multi- │ │ Lite │ │ Lite │ -│ Plan │ │CLI Plan│ │ Fix │ │ Execute │ -└────────┘ └────────┘ └────────┘ └────────────┘ - │ │ │ ↑ - └──────────┴──────────┴───────────┘ - (all hand off to Phase 4) +┌──────────────────────────────────────────────────┐ +│ Planning Workflow Orchestrator (SKILL.md) │ +│ → Parse args → Lite Plan → Lite Execute │ +└────────────┬─────────────────────────────────────┘ + │ + ┌────────┴────────┐ + ↓ ↓ +┌────────┐ ┌────────────┐ +│Phase 1 │────→│ Phase 4 │ +│ Lite │ │ Lite │ +│ Plan │ │ Execute │ +└────────┘ └────────────┘ ``` ## Key Design Principles -1. **Mode Selection First**: User chooses planning approach before any work begins -2. **Shared Execution**: All planning modes produce `executionContext` consumed by Phase 4 (lite-execute) -3. **Progressive Phase Loading**: Only load the selected planning phase + execution phase -4. **Auto-Continue**: Planning phase completes → automatically loads execution phase -5. **Default Lite Plan**: When no mode specified, use Lite Plan (most common) +1. **Shared Execution**: Lite Plan produces `executionContext` consumed by Phase 4 (lite-execute) +2. **Progressive Phase Loading**: Only load phase docs when about to execute +3. **Auto-Continue**: Planning completes → automatically loads execution phase +4. **Default Auto Mode**: When `--yes`, skip confirmations and auto-approve plan ## Auto Mode -When `--yes` or `-y`: Skip mode selection (use default or flag-specified mode), auto-approve plan, skip clarifications. +When `--yes` or `-y`: Auto-approve plan, skip clarifications, use default execution settings. ## Usage @@ -47,17 +43,13 @@ Skill(skill="workflow-lite-plan-execute", args="") Skill(skill="workflow-lite-plan-execute", args="[FLAGS] \"\"") # Flags ---mode lite-plan|multi-cli|lite-fix Planning mode selection (default: lite-plan) -y, --yes Skip all confirmations (auto mode) --e, --explore Force exploration (lite-plan only) ---hotfix Fast hotfix mode (lite-fix only) +-e, --explore Force exploration phase # Examples -Skill(skill="workflow-lite-plan-execute", args="\"Implement JWT authentication\"") # Default: lite-plan -Skill(skill="workflow-lite-plan-execute", args="--mode multi-cli \"Refactor payment module\"") # Multi-CLI planning -Skill(skill="workflow-lite-plan-execute", args="--mode lite-fix \"Login fails with 500 error\"") # Bug fix mode -Skill(skill="workflow-lite-plan-execute", args="-y \"Add user profile page\"") # Auto mode -Skill(skill="workflow-lite-plan-execute", args="--mode lite-fix --hotfix \"Production DB timeout\"") # Hotfix mode +Skill(skill="workflow-lite-plan-execute", args="\"Implement JWT authentication\"") +Skill(skill="workflow-lite-plan-execute", args="-y \"Add user profile page\"") +Skill(skill="workflow-lite-plan-execute", args="-e \"Refactor payment module\"") ``` ## Subagent API Reference @@ -129,30 +121,15 @@ close_agent({ id: agentId }) ``` Input Parsing: - ├─ Extract flags: --mode, --yes, --explore, --hotfix + ├─ Extract flags: --yes, --explore └─ Extract task description (string or file path) -Mode Selection: - └─ Decision: - ├─ --mode lite-plan (or no --mode flag) → Read phases/01-lite-plan.md - ├─ --mode multi-cli → Read phases/02-multi-cli-plan.md - ├─ --mode lite-fix → Read phases/03-lite-fix.md - └─ No flag + not --yes → AskUserQuestion (default: Lite Plan) +Planning Phase: + └─ Phase 1: Lite Plan + └─ Ref: phases/01-lite-plan.md + └─ Output: executionContext (plan.json + explorations + selections) -Planning Phase (one of): - ├─ Phase 1: Lite Plan - │ └─ Ref: phases/01-lite-plan.md - │ └─ Output: executionContext (plan.json + explorations + selections) - │ - ├─ Phase 2: Multi-CLI Plan - │ └─ Ref: phases/02-multi-cli-plan.md - │ └─ Output: executionContext (plan.json + synthesis rounds + selections) - │ - └─ Phase 3: Lite Fix - └─ Ref: phases/03-lite-fix.md - └─ Output: executionContext (fix-plan.json + diagnoses + selections) - -Execution Phase (always): +Execution Phase: └─ Phase 4: Lite Execute └─ Ref: phases/04-lite-execute.md └─ Input: executionContext from planning phase @@ -164,64 +141,33 @@ Execution Phase (always): | Phase | Document | Purpose | |-------|----------|---------| | 1 | [phases/01-lite-plan.md](phases/01-lite-plan.md) | Lightweight planning with exploration, clarification, and plan generation | -| 2 | [phases/02-multi-cli-plan.md](phases/02-multi-cli-plan.md) | Multi-CLI collaborative planning with ACE context and cross-verification | -| 3 | [phases/03-lite-fix.md](phases/03-lite-fix.md) | Bug diagnosis and fix planning with severity-based workflow | | 4 | [phases/04-lite-execute.md](phases/04-lite-execute.md) | Shared execution engine: task grouping, batch execution, code review | -## Mode Selection Logic +## Orchestrator Logic ```javascript // Flag parsing const autoYes = $ARGUMENTS.includes('--yes') || $ARGUMENTS.includes('-y') -const modeFlag = extractFlag($ARGUMENTS, '--mode') // 'lite-plan' | 'multi-cli' | 'lite-fix' | null +const forceExplore = $ARGUMENTS.includes('--explore') || $ARGUMENTS.includes('-e') +const taskDescription = extractTaskDescription($ARGUMENTS) -// Mode determination -let selectedMode - -if (modeFlag) { - // Explicit mode flag - selectedMode = modeFlag -} else if (autoYes) { - // Auto mode: default to lite-plan - selectedMode = 'lite-plan' -} else { - // Interactive: ask user - const selection = AskUserQuestion({ - questions: [{ - question: "Select planning approach:", - header: "Mode", - multiSelect: false, - options: [ - { label: "Lite Plan (Recommended)", description: "Lightweight planning with exploration and clarification" }, - { label: "Multi-CLI Plan", description: "Multi-model collaborative planning (Gemini + Codex + Claude)" }, - { label: "Lite Fix", description: "Bug diagnosis and fix planning with severity assessment" } - ] - }] - }) - selectedMode = parseSelection(selection) // Map to 'lite-plan' | 'multi-cli' | 'lite-fix' -} - -// Load phase document -const phaseDoc = { - 'lite-plan': 'phases/01-lite-plan.md', - 'multi-cli': 'phases/02-multi-cli-plan.md', - 'lite-fix': 'phases/03-lite-fix.md' -}[selectedMode] - -Read(phaseDoc) // Load selected planning phase +// Phase 1: Lite Plan +Read('phases/01-lite-plan.md') // Execute planning phase... + // After planning completes: -Read('phases/04-lite-execute.md') // Load execution phase +Read('phases/04-lite-execute.md') +// Execute execution phase with executionContext from Phase 1 ``` ## Data Flow ``` -Planning Phase (01/02/03) +Phase 1: Lite Plan │ ├─ Produces: executionContext = { - │ planObject: plan.json or fix-plan.json, - │ explorationsContext / diagnosisContext / synthesis rounds, + │ planObject: plan.json, + │ explorationsContext, │ clarificationContext, │ executionMethod: "Agent" | "Codex" | "Auto", │ codeReviewTool: "Skip" | "Gemini Review" | ..., @@ -230,7 +176,7 @@ Planning Phase (01/02/03) │ } │ ↓ -Execution Phase (04) +Phase 4: Lite Execute │ ├─ Consumes: executionContext ├─ Task grouping → Batch creation → Parallel/sequential execution @@ -240,10 +186,10 @@ Execution Phase (04) ## TodoWrite Pattern -**Initialization** (after mode selection): +**Initialization**: ```json [ - {"content": "Mode: {selectedMode} - Planning", "status": "in_progress", "activeForm": "Planning ({selectedMode})"}, + {"content": "Lite Plan - Planning", "status": "in_progress", "activeForm": "Planning"}, {"content": "Execution (Phase 4)", "status": "pending", "activeForm": "Executing tasks"} ] ``` @@ -251,7 +197,7 @@ Execution Phase (04) **After planning completes**: ```json [ - {"content": "Mode: {selectedMode} - Planning", "status": "completed", "activeForm": "Planning ({selectedMode})"}, + {"content": "Lite Plan - Planning", "status": "completed", "activeForm": "Planning"}, {"content": "Execution (Phase 4)", "status": "in_progress", "activeForm": "Executing tasks"} ] ``` @@ -260,20 +206,17 @@ Phase-internal sub-tasks are managed by each phase document (attach/collapse pat ## Core Rules -1. **Planning phases NEVER execute code** - all execution delegated to Phase 4 -2. **Only ONE planning phase runs** per invocation (Phase 1, 2, or 3) -3. **Phase 4 ALWAYS runs** after planning completes -4. **executionContext is the contract** between planning and execution phases -5. **Progressive loading**: Read phase doc ONLY when about to execute -6. **No cross-phase loading**: Don't load Phase 2 if user selected Phase 1 -7. **Explicit Lifecycle**: Always close_agent after wait completes to free resources +1. **Planning phase NEVER executes code** - all execution delegated to Phase 4 +2. **Phase 4 ALWAYS runs** after planning completes +3. **executionContext is the contract** between planning and execution phases +4. **Progressive loading**: Read phase doc ONLY when about to execute +5. **Explicit Lifecycle**: Always close_agent after wait completes to free resources ## Error Handling | Error | Resolution | |-------|------------| -| Unknown --mode value | Default to lite-plan with warning | -| Planning phase failure | Display error, offer retry or mode switch | +| Planning phase failure | Display error, offer retry | | executionContext missing | Error: planning phase did not produce context | | Phase file not found | Error with file path for debugging | diff --git a/.codex/skills/workflow-test-fix-cycle/SKILL.md b/.codex/skills/workflow-test-fix-cycle/SKILL.md index 2c9f84ac..9ee9674e 100644 --- a/.codex/skills/workflow-test-fix-cycle/SKILL.md +++ b/.codex/skills/workflow-test-fix-cycle/SKILL.md @@ -1,6 +1,6 @@ --- name: workflow-test-fix-cycle -description: End-to-end test-fix workflow: generate test sessions with progressive layers (L0-L3), then execute iterative fix cycles until pass rate >= 95%. Combines test-fix-gen and test-cycle-execute into a unified pipeline. Triggers on "workflow:test-fix-cycle". +description: End-to-end test-fix workflow generate test sessions with progressive layers (L0-L3), then execute iterative fix cycles until pass rate >= 95%. Combines test-fix-gen and test-cycle-execute into a unified pipeline. Triggers on "workflow:test-fix-cycle". allowed-tools: spawn_agent, wait, send_input, close_agent, AskUserQuestion, Read, Write, Edit, Bash, Glob, Grep --- diff --git a/ccw/docs-site/.docusaurus/codeTranslations.json b/ccw/docs-site/.docusaurus/codeTranslations.json index 9e26dfee..5de58a22 100644 --- a/ccw/docs-site/.docusaurus/codeTranslations.json +++ b/ccw/docs-site/.docusaurus/codeTranslations.json @@ -1 +1,84 @@ -{} \ No newline at end of file +{ + "theme.AnnouncementBar.closeButtonAriaLabel": "关闭", + "theme.BackToTopButton.buttonAriaLabel": "回到顶部", + "theme.CodeBlock.copied": "复制成功", + "theme.CodeBlock.copy": "复制", + "theme.CodeBlock.copyButtonAriaLabel": "复制代码到剪贴板", + "theme.CodeBlock.wordWrapToggle": "切换自动换行", + "theme.DocSidebarItem.collapseCategoryAriaLabel": "折叠侧边栏分类 '{label}'", + "theme.DocSidebarItem.expandCategoryAriaLabel": "展开侧边栏分类 '{label}'", + "theme.ErrorPageContent.title": "页面已崩溃。", + "theme.ErrorPageContent.tryAgain": "重试", + "theme.IconExternalLink.ariaLabel": "(opens in new tab)", + "theme.NavBar.navAriaLabel": "主导航", + "theme.NotFound.p1": "我们找不到您要找的页面。", + "theme.NotFound.p2": "请联系原始链接来源网站的所有者,并告知他们链接已损坏。", + "theme.NotFound.title": "找不到页面", + "theme.TOCCollapsible.toggleButtonLabel": "本页总览", + "theme.admonition.caution": "警告", + "theme.admonition.danger": "危险", + "theme.admonition.info": "信息", + "theme.admonition.note": "备注", + "theme.admonition.tip": "提示", + "theme.admonition.warning": "注意", + "theme.blog.archive.description": "历史博文", + "theme.blog.archive.title": "历史博文", + "theme.blog.author.noPosts": "该作者尚未撰写任何文章。", + "theme.blog.author.pageTitle": "{authorName} - {nPosts}", + "theme.blog.authorsList.pageTitle": "作者", + "theme.blog.authorsList.viewAll": "查看所有作者", + "theme.blog.paginator.navAriaLabel": "博文列表分页导航", + "theme.blog.paginator.newerEntries": "较新的博文", + "theme.blog.paginator.olderEntries": "较旧的博文", + "theme.blog.post.paginator.navAriaLabel": "博文分页导航", + "theme.blog.post.paginator.newerPost": "较新一篇", + "theme.blog.post.paginator.olderPost": "较旧一篇", + "theme.blog.post.plurals": "{count} 篇博文", + "theme.blog.post.readMore": "阅读更多", + "theme.blog.post.readMoreLabel": "阅读 {title} 的全文", + "theme.blog.post.readingTime.plurals": "阅读需 {readingTime} 分钟", + "theme.blog.sidebar.navAriaLabel": "最近博文导航", + "theme.blog.tagTitle": "{nPosts} 含有标签「{tagName}」", + "theme.colorToggle.ariaLabel": "切换浅色/暗黑模式(当前为{mode})", + "theme.colorToggle.ariaLabel.mode.dark": "暗黑模式", + "theme.colorToggle.ariaLabel.mode.light": "浅色模式", + "theme.colorToggle.ariaLabel.mode.system": "system mode", + "theme.common.editThisPage": "编辑此页", + "theme.common.headingLinkTitle": "{heading}的直接链接", + "theme.common.skipToMainContent": "跳到主要内容", + "theme.contentVisibility.draftBanner.message": "此页面是草稿,仅在开发环境中可见,不会包含在正式版本中。", + "theme.contentVisibility.draftBanner.title": "草稿页", + "theme.contentVisibility.unlistedBanner.message": "此页面未列出。搜索引擎不会对其索引,只有拥有直接链接的用户才能访问。", + "theme.contentVisibility.unlistedBanner.title": "未列出页", + "theme.docs.DocCard.categoryDescription.plurals": "{count} 个项目", + "theme.docs.breadcrumbs.home": "主页面", + "theme.docs.breadcrumbs.navAriaLabel": "页面路径", + "theme.docs.paginator.navAriaLabel": "文件选项卡", + "theme.docs.paginator.next": "下一页", + "theme.docs.paginator.previous": "上一页", + "theme.docs.sidebar.closeSidebarButtonAriaLabel": "关闭导航栏", + "theme.docs.sidebar.collapseButtonAriaLabel": "收起侧边栏", + "theme.docs.sidebar.collapseButtonTitle": "收起侧边栏", + "theme.docs.sidebar.expandButtonAriaLabel": "展开侧边栏", + "theme.docs.sidebar.expandButtonTitle": "展开侧边栏", + "theme.docs.sidebar.navAriaLabel": "文档侧边栏", + "theme.docs.sidebar.toggleSidebarButtonAriaLabel": "切换导航栏", + "theme.docs.tagDocListPageTitle": "{nDocsTagged}「{tagName}」", + "theme.docs.tagDocListPageTitle.nDocsTagged": "{count} 篇文档带有标签", + "theme.docs.versionBadge.label": "版本:{versionLabel}", + "theme.docs.versions.latestVersionLinkLabel": "最新版本", + "theme.docs.versions.latestVersionSuggestionLabel": "最新的文档请参阅 {latestVersionLink} ({versionLabel})。", + "theme.docs.versions.unmaintainedVersionLabel": "此为 {siteTitle} {versionLabel} 版的文档,现已不再积极维护。", + "theme.docs.versions.unreleasedVersionLabel": "此为 {siteTitle} {versionLabel} 版尚未发行的文档。", + "theme.lastUpdated.atDate": "于 {date} ", + "theme.lastUpdated.byUser": "由 {user} ", + "theme.lastUpdated.lastUpdatedAtBy": "最后{byUser}{atDate}更新", + "theme.navbar.mobileDropdown.collapseButton.collapseAriaLabel": "Collapse the dropdown", + "theme.navbar.mobileDropdown.collapseButton.expandAriaLabel": "Expand the dropdown", + "theme.navbar.mobileLanguageDropdown.label": "选择语言", + "theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": "← 回到主菜单", + "theme.navbar.mobileVersionsDropdown.label": "选择版本", + "theme.tags.tagsListLabel": "标签:", + "theme.tags.tagsPageLink": "查看所有标签", + "theme.tags.tagsPageTitle": "标签" +} \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/__mdx-loader-dependency.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/__mdx-loader-dependency.json index 1f53d98b..44ca291c 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/__mdx-loader-dependency.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/__mdx-loader-dependency.json @@ -1 +1 @@ -{"options":{"path":"docs","routeBasePath":"/","sidebarPath":"D:\\Claude_dms3\\ccw\\docs-site\\sidebars.ts","editUrl":"https://github.com/ccw/docs/tree/main/","editCurrentVersion":false,"editLocalizedFiles":false,"tagsBasePath":"tags","include":["**/*.{md,mdx}"],"exclude":["**/_*.{js,jsx,ts,tsx,md,mdx}","**/_*/**","**/*.test.{js,jsx,ts,tsx}","**/__tests__/**"],"sidebarCollapsible":true,"sidebarCollapsed":true,"docsRootComponent":"@theme/DocsRoot","docVersionRootComponent":"@theme/DocVersionRoot","docRootComponent":"@theme/DocRoot","docItemComponent":"@theme/DocItem","docTagsListComponent":"@theme/DocTagsListPage","docTagDocListComponent":"@theme/DocTagDocListPage","docCategoryGeneratedIndexComponent":"@theme/DocCategoryGeneratedIndexPage","remarkPlugins":[],"rehypePlugins":[],"recmaPlugins":[],"beforeDefaultRemarkPlugins":[],"beforeDefaultRehypePlugins":[],"admonitions":true,"showLastUpdateTime":false,"showLastUpdateAuthor":false,"includeCurrentVersion":true,"disableVersioning":false,"versions":{},"breadcrumbs":true,"onInlineTags":"warn","id":"default"},"versionsMetadata":[{"versionName":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","path":"/docs/","tagsPath":"/docs/tags","editUrl":"https://github.com/ccw/docs/tree/main/docs","isLast":true,"routePriority":-1,"sidebarFilePath":"D:\\Claude_dms3\\ccw\\docs-site\\sidebars.ts","contentPath":"D:\\Claude_dms3\\ccw\\docs-site\\docs"}]} \ No newline at end of file +{"options":{"path":"docs","routeBasePath":"/","sidebarPath":"D:\\Claude_dms3\\ccw\\docs-site\\sidebars.ts","editUrl":"https://github.com/ccw/docs/tree/main/","editCurrentVersion":false,"editLocalizedFiles":false,"tagsBasePath":"tags","include":["**/*.{md,mdx}"],"exclude":["**/_*.{js,jsx,ts,tsx,md,mdx}","**/_*/**","**/*.test.{js,jsx,ts,tsx}","**/__tests__/**"],"sidebarCollapsible":true,"sidebarCollapsed":true,"docsRootComponent":"@theme/DocsRoot","docVersionRootComponent":"@theme/DocVersionRoot","docRootComponent":"@theme/DocRoot","docItemComponent":"@theme/DocItem","docTagsListComponent":"@theme/DocTagsListPage","docTagDocListComponent":"@theme/DocTagDocListPage","docCategoryGeneratedIndexComponent":"@theme/DocCategoryGeneratedIndexPage","remarkPlugins":[],"rehypePlugins":[],"recmaPlugins":[],"beforeDefaultRemarkPlugins":[],"beforeDefaultRehypePlugins":[],"admonitions":true,"showLastUpdateTime":false,"showLastUpdateAuthor":false,"includeCurrentVersion":true,"disableVersioning":false,"versions":{},"breadcrumbs":true,"onInlineTags":"warn","id":"default"},"versionsMetadata":[{"versionName":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","path":"/docs/zh/","tagsPath":"/docs/zh/tags","editUrl":"https://github.com/ccw/docs/tree/main/docs","editUrlLocalized":"https://github.com/ccw/docs/tree/main/i18n/zh/docusaurus-plugin-content-docs/current","isLast":true,"routePriority":-1,"sidebarFilePath":"D:\\Claude_dms3\\ccw\\docs-site\\sidebars.ts","contentPath":"D:\\Claude_dms3\\ccw\\docs-site\\docs","contentPathLocalized":"D:\\Claude_dms3\\ccw\\docs-site\\i18n\\zh\\docusaurus-plugin-content-docs\\current"}]} \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-cli-cli-init-mdx-056.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-cli-cli-init-mdx-056.json index 98324c27..b61807e2 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-cli-cli-init-mdx-056.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-cli-cli-init-mdx-056.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/cli/cli-init.mdx", "sourceDirName": "commands/cli", "slug": "/commands/cli/cli-init", - "permalink": "/docs/commands/cli/cli-init", + "permalink": "/docs/zh/commands/cli/cli-init", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/cli/cli-init.mdx", @@ -21,10 +21,10 @@ "sidebar": "docs", "previous": { "title": "issue:convert-to-plan", - "permalink": "/docs/commands/issue/issue-convert-to-plan" + "permalink": "/docs/zh/commands/issue/issue-convert-to-plan" }, "next": { "title": "/cli:codex-review", - "permalink": "/docs/commands/cli/codex-review" + "permalink": "/docs/zh/commands/cli/codex-review" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-cli-codex-review-mdx-f1b.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-cli-codex-review-mdx-f1b.json index 0ff172cc..ed61290c 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-cli-codex-review-mdx-f1b.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-cli-codex-review-mdx-f1b.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/cli/codex-review.mdx", "sourceDirName": "commands/cli", "slug": "/commands/cli/codex-review", - "permalink": "/docs/commands/cli/codex-review", + "permalink": "/docs/zh/commands/cli/codex-review", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/cli/codex-review.mdx", @@ -21,10 +21,10 @@ "sidebar": "docs", "previous": { "title": "/cli:cli-init", - "permalink": "/docs/commands/cli/cli-init" + "permalink": "/docs/zh/commands/cli/cli-init" }, "next": { "title": "/memory:update-full", - "permalink": "/docs/commands/memory/memory-update-full" + "permalink": "/docs/zh/commands/memory/memory-update-full" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-ccw-coordinator-mdx-d55.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-ccw-coordinator-mdx-d55.json index 43d3add3..c723148a 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-ccw-coordinator-mdx-d55.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-ccw-coordinator-mdx-d55.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/general/ccw-coordinator.mdx", "sourceDirName": "commands/general", "slug": "/commands/general/ccw-coordinator", - "permalink": "/docs/commands/general/ccw-coordinator", + "permalink": "/docs/zh/commands/general/ccw-coordinator", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/general/ccw-coordinator.mdx", @@ -21,10 +21,10 @@ "sidebar": "docs", "previous": { "title": "/ccw-test", - "permalink": "/docs/commands/general/ccw-test" + "permalink": "/docs/zh/commands/general/ccw-test" }, "next": { "title": "/ccw-debug", - "permalink": "/docs/commands/general/ccw-debug" + "permalink": "/docs/zh/commands/general/ccw-debug" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-ccw-debug-mdx-97c.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-ccw-debug-mdx-97c.json index 52dc34aa..a6160b72 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-ccw-debug-mdx-97c.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-ccw-debug-mdx-97c.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/general/ccw-debug.mdx", "sourceDirName": "commands/general", "slug": "/commands/general/ccw-debug", - "permalink": "/docs/commands/general/ccw-debug", + "permalink": "/docs/zh/commands/general/ccw-debug", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/general/ccw-debug.mdx", @@ -21,10 +21,10 @@ "sidebar": "docs", "previous": { "title": "/ccw-coordinator", - "permalink": "/docs/commands/general/ccw-coordinator" + "permalink": "/docs/zh/commands/general/ccw-coordinator" }, "next": { "title": "/flow-create", - "permalink": "/docs/commands/general/flow-create" + "permalink": "/docs/zh/commands/general/flow-create" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-ccw-mdx-f48.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-ccw-mdx-f48.json index b95e3dd9..b15bcb3c 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-ccw-mdx-f48.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-ccw-mdx-f48.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/general/ccw.mdx", "sourceDirName": "commands/general", "slug": "/commands/general/ccw", - "permalink": "/docs/commands/general/ccw", + "permalink": "/docs/zh/commands/general/ccw", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/general/ccw.mdx", @@ -20,11 +20,11 @@ }, "sidebar": "docs", "previous": { - "title": "Overview", - "permalink": "/docs/overview" + "title": "概览", + "permalink": "/docs/zh/overview" }, "next": { "title": "/ccw-plan", - "permalink": "/docs/commands/general/ccw-plan" + "permalink": "/docs/zh/commands/general/ccw-plan" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-ccw-plan-mdx-04d.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-ccw-plan-mdx-04d.json index 753a139a..d17bf091 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-ccw-plan-mdx-04d.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-ccw-plan-mdx-04d.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/general/ccw-plan.mdx", "sourceDirName": "commands/general", "slug": "/commands/general/ccw-plan", - "permalink": "/docs/commands/general/ccw-plan", + "permalink": "/docs/zh/commands/general/ccw-plan", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/general/ccw-plan.mdx", @@ -21,10 +21,10 @@ "sidebar": "docs", "previous": { "title": "/ccw", - "permalink": "/docs/commands/general/ccw" + "permalink": "/docs/zh/commands/general/ccw" }, "next": { "title": "/ccw-test", - "permalink": "/docs/commands/general/ccw-test" + "permalink": "/docs/zh/commands/general/ccw-test" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-ccw-test-mdx-cce.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-ccw-test-mdx-cce.json index 867a837d..4e2720d3 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-ccw-test-mdx-cce.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-ccw-test-mdx-cce.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/general/ccw-test.mdx", "sourceDirName": "commands/general", "slug": "/commands/general/ccw-test", - "permalink": "/docs/commands/general/ccw-test", + "permalink": "/docs/zh/commands/general/ccw-test", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/general/ccw-test.mdx", @@ -21,10 +21,10 @@ "sidebar": "docs", "previous": { "title": "/ccw-plan", - "permalink": "/docs/commands/general/ccw-plan" + "permalink": "/docs/zh/commands/general/ccw-plan" }, "next": { "title": "/ccw-coordinator", - "permalink": "/docs/commands/general/ccw-coordinator" + "permalink": "/docs/zh/commands/general/ccw-coordinator" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-codex-coordinator-mdx-f92.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-codex-coordinator-mdx-f92.json index f51432cd..06b81cab 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-codex-coordinator-mdx-f92.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-codex-coordinator-mdx-f92.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/general/codex-coordinator.mdx", "sourceDirName": "commands/general", "slug": "/commands/general/codex-coordinator", - "permalink": "/docs/commands/general/codex-coordinator", + "permalink": "/docs/zh/commands/general/codex-coordinator", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/general/codex-coordinator.mdx", @@ -21,10 +21,10 @@ "sidebar": "docs", "previous": { "title": "/flow-create", - "permalink": "/docs/commands/general/flow-create" + "permalink": "/docs/zh/commands/general/flow-create" }, "next": { "title": "issue:new", - "permalink": "/docs/commands/issue/issue-new" + "permalink": "/docs/zh/commands/issue/issue-new" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-flow-create-mdx-fab.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-flow-create-mdx-fab.json index af2ca45f..2432a1cd 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-flow-create-mdx-fab.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-general-flow-create-mdx-fab.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/general/flow-create.mdx", "sourceDirName": "commands/general", "slug": "/commands/general/flow-create", - "permalink": "/docs/commands/general/flow-create", + "permalink": "/docs/zh/commands/general/flow-create", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/general/flow-create.mdx", @@ -21,10 +21,10 @@ "sidebar": "docs", "previous": { "title": "/ccw-debug", - "permalink": "/docs/commands/general/ccw-debug" + "permalink": "/docs/zh/commands/general/ccw-debug" }, "next": { "title": "/codex-coordinator", - "permalink": "/docs/commands/general/codex-coordinator" + "permalink": "/docs/zh/commands/general/codex-coordinator" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-convert-to-plan-md-5c7.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-convert-to-plan-md-5c7.json index 357625e4..45c9c689 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-convert-to-plan-md-5c7.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-convert-to-plan-md-5c7.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/issue/issue-convert-to-plan.md", "sourceDirName": "commands/issue", "slug": "/commands/issue/issue-convert-to-plan", - "permalink": "/docs/commands/issue/issue-convert-to-plan", + "permalink": "/docs/zh/commands/issue/issue-convert-to-plan", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/issue/issue-convert-to-plan.md", @@ -21,10 +21,10 @@ "sidebar": "docs", "previous": { "title": "issue:from-brainstorm", - "permalink": "/docs/commands/issue/issue-from-brainstorm" + "permalink": "/docs/zh/commands/issue/issue-from-brainstorm" }, "next": { "title": "/cli:cli-init", - "permalink": "/docs/commands/cli/cli-init" + "permalink": "/docs/zh/commands/cli/cli-init" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-discover-md-1e3.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-discover-md-1e3.json index eb9f0d1a..3d22fdda 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-discover-md-1e3.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-discover-md-1e3.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/issue/issue-discover.md", "sourceDirName": "commands/issue", "slug": "/commands/issue/issue-discover", - "permalink": "/docs/commands/issue/issue-discover", + "permalink": "/docs/zh/commands/issue/issue-discover", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/issue/issue-discover.md", @@ -21,10 +21,10 @@ "sidebar": "docs", "previous": { "title": "issue:new", - "permalink": "/docs/commands/issue/issue-new" + "permalink": "/docs/zh/commands/issue/issue-new" }, "next": { "title": "issue:plan", - "permalink": "/docs/commands/issue/issue-plan" + "permalink": "/docs/zh/commands/issue/issue-plan" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-execute-md-fe8.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-execute-md-fe8.json index e5c33039..bd853cc3 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-execute-md-fe8.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-execute-md-fe8.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/issue/issue-execute.md", "sourceDirName": "commands/issue", "slug": "/commands/issue/issue-execute", - "permalink": "/docs/commands/issue/issue-execute", + "permalink": "/docs/zh/commands/issue/issue-execute", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/issue/issue-execute.md", @@ -21,10 +21,10 @@ "sidebar": "docs", "previous": { "title": "issue:queue", - "permalink": "/docs/commands/issue/issue-queue" + "permalink": "/docs/zh/commands/issue/issue-queue" }, "next": { "title": "issue:from-brainstorm", - "permalink": "/docs/commands/issue/issue-from-brainstorm" + "permalink": "/docs/zh/commands/issue/issue-from-brainstorm" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-from-brainstorm-md-2ec.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-from-brainstorm-md-2ec.json index 1b24145e..fcd79234 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-from-brainstorm-md-2ec.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-from-brainstorm-md-2ec.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/issue/issue-from-brainstorm.md", "sourceDirName": "commands/issue", "slug": "/commands/issue/issue-from-brainstorm", - "permalink": "/docs/commands/issue/issue-from-brainstorm", + "permalink": "/docs/zh/commands/issue/issue-from-brainstorm", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/issue/issue-from-brainstorm.md", @@ -21,10 +21,10 @@ "sidebar": "docs", "previous": { "title": "issue:execute", - "permalink": "/docs/commands/issue/issue-execute" + "permalink": "/docs/zh/commands/issue/issue-execute" }, "next": { "title": "issue:convert-to-plan", - "permalink": "/docs/commands/issue/issue-convert-to-plan" + "permalink": "/docs/zh/commands/issue/issue-convert-to-plan" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-new-md-4ad.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-new-md-4ad.json index 9e407718..8daa4bce 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-new-md-4ad.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-new-md-4ad.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/issue/issue-new.md", "sourceDirName": "commands/issue", "slug": "/commands/issue/issue-new", - "permalink": "/docs/commands/issue/issue-new", + "permalink": "/docs/zh/commands/issue/issue-new", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/issue/issue-new.md", @@ -21,10 +21,10 @@ "sidebar": "docs", "previous": { "title": "/codex-coordinator", - "permalink": "/docs/commands/general/codex-coordinator" + "permalink": "/docs/zh/commands/general/codex-coordinator" }, "next": { "title": "issue:discover", - "permalink": "/docs/commands/issue/issue-discover" + "permalink": "/docs/zh/commands/issue/issue-discover" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-plan-md-a6c.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-plan-md-a6c.json index e3b19693..2abd3a33 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-plan-md-a6c.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-plan-md-a6c.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/issue/issue-plan.md", "sourceDirName": "commands/issue", "slug": "/commands/issue/issue-plan", - "permalink": "/docs/commands/issue/issue-plan", + "permalink": "/docs/zh/commands/issue/issue-plan", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/issue/issue-plan.md", @@ -21,10 +21,10 @@ "sidebar": "docs", "previous": { "title": "issue:discover", - "permalink": "/docs/commands/issue/issue-discover" + "permalink": "/docs/zh/commands/issue/issue-discover" }, "next": { "title": "issue:queue", - "permalink": "/docs/commands/issue/issue-queue" + "permalink": "/docs/zh/commands/issue/issue-queue" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-queue-md-1ba.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-queue-md-1ba.json index 5abd0c80..3c33214a 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-queue-md-1ba.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-issue-issue-queue-md-1ba.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/issue/issue-queue.md", "sourceDirName": "commands/issue", "slug": "/commands/issue/issue-queue", - "permalink": "/docs/commands/issue/issue-queue", + "permalink": "/docs/zh/commands/issue/issue-queue", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/issue/issue-queue.md", @@ -21,10 +21,10 @@ "sidebar": "docs", "previous": { "title": "issue:plan", - "permalink": "/docs/commands/issue/issue-plan" + "permalink": "/docs/zh/commands/issue/issue-plan" }, "next": { "title": "issue:execute", - "permalink": "/docs/commands/issue/issue-execute" + "permalink": "/docs/zh/commands/issue/issue-execute" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-compact-mdx-7a1.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-compact-mdx-7a1.json index f4873aa5..a6749967 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-compact-mdx-7a1.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-compact-mdx-7a1.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/memory/memory-compact.mdx", "sourceDirName": "commands/memory", "slug": "/commands/memory/memory-compact", - "permalink": "/docs/commands/memory/memory-compact", + "permalink": "/docs/zh/commands/memory/memory-compact", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/memory/memory-compact.mdx", @@ -21,10 +21,10 @@ "sidebar": "docs", "previous": { "title": "/memory:docs-related-cli", - "permalink": "/docs/commands/memory/memory-docs-related-cli" + "permalink": "/docs/zh/commands/memory/memory-docs-related-cli" }, "next": { "title": "Introduction", - "permalink": "/docs/workflows/introduction" + "permalink": "/docs/zh/workflows/introduction" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-docs-full-cli-mdx-4cc.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-docs-full-cli-mdx-4cc.json index f6394151..ced106c4 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-docs-full-cli-mdx-4cc.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-docs-full-cli-mdx-4cc.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/memory/memory-docs-full-cli.mdx", "sourceDirName": "commands/memory", "slug": "/commands/memory/memory-docs-full-cli", - "permalink": "/docs/commands/memory/memory-docs-full-cli", + "permalink": "/docs/zh/commands/memory/memory-docs-full-cli", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/memory/memory-docs-full-cli.mdx", @@ -21,10 +21,10 @@ "sidebar": "docs", "previous": { "title": "/memory:load", - "permalink": "/docs/commands/memory/memory-load" + "permalink": "/docs/zh/commands/memory/memory-load" }, "next": { "title": "/memory:docs-related-cli", - "permalink": "/docs/commands/memory/memory-docs-related-cli" + "permalink": "/docs/zh/commands/memory/memory-docs-related-cli" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-docs-related-cli-mdx-60e.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-docs-related-cli-mdx-60e.json index 3f4054ed..52a7e910 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-docs-related-cli-mdx-60e.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-docs-related-cli-mdx-60e.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/memory/memory-docs-related-cli.mdx", "sourceDirName": "commands/memory", "slug": "/commands/memory/memory-docs-related-cli", - "permalink": "/docs/commands/memory/memory-docs-related-cli", + "permalink": "/docs/zh/commands/memory/memory-docs-related-cli", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/memory/memory-docs-related-cli.mdx", @@ -21,10 +21,10 @@ "sidebar": "docs", "previous": { "title": "/memory:docs-full-cli", - "permalink": "/docs/commands/memory/memory-docs-full-cli" + "permalink": "/docs/zh/commands/memory/memory-docs-full-cli" }, "next": { "title": "/memory:compact", - "permalink": "/docs/commands/memory/memory-compact" + "permalink": "/docs/zh/commands/memory/memory-compact" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-load-mdx-157.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-load-mdx-157.json index ef887547..3438f60c 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-load-mdx-157.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-load-mdx-157.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/memory/memory-load.mdx", "sourceDirName": "commands/memory", "slug": "/commands/memory/memory-load", - "permalink": "/docs/commands/memory/memory-load", + "permalink": "/docs/zh/commands/memory/memory-load", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/memory/memory-load.mdx", @@ -21,10 +21,10 @@ "sidebar": "docs", "previous": { "title": "/memory:update-related", - "permalink": "/docs/commands/memory/memory-update-related" + "permalink": "/docs/zh/commands/memory/memory-update-related" }, "next": { "title": "/memory:docs-full-cli", - "permalink": "/docs/commands/memory/memory-docs-full-cli" + "permalink": "/docs/zh/commands/memory/memory-docs-full-cli" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-update-full-mdx-666.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-update-full-mdx-666.json index 76cd168b..9c9510d5 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-update-full-mdx-666.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-update-full-mdx-666.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/memory/memory-update-full.mdx", "sourceDirName": "commands/memory", "slug": "/commands/memory/memory-update-full", - "permalink": "/docs/commands/memory/memory-update-full", + "permalink": "/docs/zh/commands/memory/memory-update-full", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/memory/memory-update-full.mdx", @@ -21,10 +21,10 @@ "sidebar": "docs", "previous": { "title": "/cli:codex-review", - "permalink": "/docs/commands/cli/codex-review" + "permalink": "/docs/zh/commands/cli/codex-review" }, "next": { "title": "/memory:update-related", - "permalink": "/docs/commands/memory/memory-update-related" + "permalink": "/docs/zh/commands/memory/memory-update-related" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-update-related-mdx-611.json b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-update-related-mdx-611.json index 97bcd2d8..dbff395e 100644 --- a/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-update-related-mdx-611.json +++ b/ccw/docs-site/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-commands-memory-memory-update-related-mdx-611.json @@ -5,7 +5,7 @@ "source": "@site/docs/commands/memory/memory-update-related.mdx", "sourceDirName": "commands/memory", "slug": "/commands/memory/memory-update-related", - "permalink": "/docs/commands/memory/memory-update-related", + "permalink": "/docs/zh/commands/memory/memory-update-related", "draft": false, "unlisted": false, "editUrl": "https://github.com/ccw/docs/tree/main/docs/commands/memory/memory-update-related.mdx", @@ -21,10 +21,10 @@ "sidebar": "docs", "previous": { "title": "/memory:update-full", - "permalink": "/docs/commands/memory/memory-update-full" + "permalink": "/docs/zh/commands/memory/memory-update-full" }, "next": { "title": "/memory:load", - "permalink": "/docs/commands/memory/memory-load" + "permalink": "/docs/zh/commands/memory/memory-load" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/docusaurus.config.mjs b/ccw/docs-site/.docusaurus/docusaurus.config.mjs index 98db47c6..d8173893 100644 --- a/ccw/docs-site/.docusaurus/docusaurus.config.mjs +++ b/ccw/docs-site/.docusaurus/docusaurus.config.mjs @@ -8,7 +8,7 @@ export default { "tagline": "Professional Workflow Automation Platform", "favicon": "img/favicon.svg", "url": "http://localhost:3001", - "baseUrl": "/docs/", + "baseUrl": "/docs/zh/", "organizationName": "ccw", "projectName": "docs", "trailingSlash": false, @@ -48,9 +48,9 @@ export default { ], "themeConfig": { "navbar": { - "title": "CCW Help", + "title": "CCW 帮助", "logo": { - "alt": "CCW Logo", + "alt": "CCW 标志", "src": "img/logo.svg" }, "items": [ @@ -65,7 +65,7 @@ export default { }, "footer": { "style": "dark", - "copyright": "Copyright © 2026 CCW. Built with Docusaurus.", + "copyright": "版权 © 2026 CCW。使用 Docusaurus 构建。", "links": [] }, "prism": { diff --git a/ccw/docs-site/.docusaurus/globalData.json b/ccw/docs-site/.docusaurus/globalData.json index d9132d1c..db17fcf0 100644 --- a/ccw/docs-site/.docusaurus/globalData.json +++ b/ccw/docs-site/.docusaurus/globalData.json @@ -1,172 +1,172 @@ { "docusaurus-plugin-content-docs": { "default": { - "path": "/docs/", + "path": "/docs/zh/", "versions": [ { "name": "current", - "label": "Next", + "label": "当前", "isLast": true, - "path": "/docs/", + "path": "/docs/zh/", "mainDocId": "index", "docs": [ { "id": "commands/cli/cli-init", - "path": "/docs/commands/cli/cli-init", + "path": "/docs/zh/commands/cli/cli-init", "sidebar": "docs" }, { "id": "commands/cli/codex-review", - "path": "/docs/commands/cli/codex-review", + "path": "/docs/zh/commands/cli/codex-review", "sidebar": "docs" }, { "id": "commands/general/ccw", - "path": "/docs/commands/general/ccw", + "path": "/docs/zh/commands/general/ccw", "sidebar": "docs" }, { "id": "commands/general/ccw-coordinator", - "path": "/docs/commands/general/ccw-coordinator", + "path": "/docs/zh/commands/general/ccw-coordinator", "sidebar": "docs" }, { "id": "commands/general/ccw-debug", - "path": "/docs/commands/general/ccw-debug", + "path": "/docs/zh/commands/general/ccw-debug", "sidebar": "docs" }, { "id": "commands/general/ccw-plan", - "path": "/docs/commands/general/ccw-plan", + "path": "/docs/zh/commands/general/ccw-plan", "sidebar": "docs" }, { "id": "commands/general/ccw-test", - "path": "/docs/commands/general/ccw-test", + "path": "/docs/zh/commands/general/ccw-test", "sidebar": "docs" }, { "id": "commands/general/codex-coordinator", - "path": "/docs/commands/general/codex-coordinator", + "path": "/docs/zh/commands/general/codex-coordinator", "sidebar": "docs" }, { "id": "commands/general/flow-create", - "path": "/docs/commands/general/flow-create", + "path": "/docs/zh/commands/general/flow-create", "sidebar": "docs" }, { "id": "commands/issue/issue-convert-to-plan", - "path": "/docs/commands/issue/issue-convert-to-plan", + "path": "/docs/zh/commands/issue/issue-convert-to-plan", "sidebar": "docs" }, { "id": "commands/issue/issue-discover", - "path": "/docs/commands/issue/issue-discover", + "path": "/docs/zh/commands/issue/issue-discover", "sidebar": "docs" }, { "id": "commands/issue/issue-execute", - "path": "/docs/commands/issue/issue-execute", + "path": "/docs/zh/commands/issue/issue-execute", "sidebar": "docs" }, { "id": "commands/issue/issue-from-brainstorm", - "path": "/docs/commands/issue/issue-from-brainstorm", + "path": "/docs/zh/commands/issue/issue-from-brainstorm", "sidebar": "docs" }, { "id": "commands/issue/issue-new", - "path": "/docs/commands/issue/issue-new", + "path": "/docs/zh/commands/issue/issue-new", "sidebar": "docs" }, { "id": "commands/issue/issue-plan", - "path": "/docs/commands/issue/issue-plan", + "path": "/docs/zh/commands/issue/issue-plan", "sidebar": "docs" }, { "id": "commands/issue/issue-queue", - "path": "/docs/commands/issue/issue-queue", + "path": "/docs/zh/commands/issue/issue-queue", "sidebar": "docs" }, { "id": "commands/memory/memory-compact", - "path": "/docs/commands/memory/memory-compact", + "path": "/docs/zh/commands/memory/memory-compact", "sidebar": "docs" }, { "id": "commands/memory/memory-docs-full-cli", - "path": "/docs/commands/memory/memory-docs-full-cli", + "path": "/docs/zh/commands/memory/memory-docs-full-cli", "sidebar": "docs" }, { "id": "commands/memory/memory-docs-related-cli", - "path": "/docs/commands/memory/memory-docs-related-cli", + "path": "/docs/zh/commands/memory/memory-docs-related-cli", "sidebar": "docs" }, { "id": "commands/memory/memory-load", - "path": "/docs/commands/memory/memory-load", + "path": "/docs/zh/commands/memory/memory-load", "sidebar": "docs" }, { "id": "commands/memory/memory-update-full", - "path": "/docs/commands/memory/memory-update-full", + "path": "/docs/zh/commands/memory/memory-update-full", "sidebar": "docs" }, { "id": "commands/memory/memory-update-related", - "path": "/docs/commands/memory/memory-update-related", + "path": "/docs/zh/commands/memory/memory-update-related", "sidebar": "docs" }, { "id": "faq", - "path": "/docs/faq", + "path": "/docs/zh/faq", "sidebar": "docs" }, { "id": "index", - "path": "/docs/", + "path": "/docs/zh/", "sidebar": "docs" }, { "id": "overview", - "path": "/docs/overview", + "path": "/docs/zh/overview", "sidebar": "docs" }, { "id": "workflows/faq", - "path": "/docs/workflows/faq" + "path": "/docs/zh/workflows/faq" }, { "id": "workflows/introduction", - "path": "/docs/workflows/introduction", + "path": "/docs/zh/workflows/introduction", "sidebar": "docs" }, { "id": "workflows/level-1-ultra-lightweight", - "path": "/docs/workflows/level-1-ultra-lightweight", + "path": "/docs/zh/workflows/level-1-ultra-lightweight", "sidebar": "docs" }, { "id": "workflows/level-2-rapid", - "path": "/docs/workflows/level-2-rapid", + "path": "/docs/zh/workflows/level-2-rapid", "sidebar": "docs" }, { "id": "workflows/level-3-standard", - "path": "/docs/workflows/level-3-standard", + "path": "/docs/zh/workflows/level-3-standard", "sidebar": "docs" }, { "id": "workflows/level-4-brainstorm", - "path": "/docs/workflows/level-4-brainstorm", + "path": "/docs/zh/workflows/level-4-brainstorm", "sidebar": "docs" }, { "id": "workflows/level-5-intelligent", - "path": "/docs/workflows/level-5-intelligent", + "path": "/docs/zh/workflows/level-5-intelligent", "sidebar": "docs" } ], @@ -174,7 +174,7 @@ "sidebars": { "docs": { "link": { - "path": "/docs/", + "path": "/docs/zh/", "label": "Home" } } diff --git a/ccw/docs-site/.docusaurus/i18n.json b/ccw/docs-site/.docusaurus/i18n.json index ea93de74..e9a2547b 100644 --- a/ccw/docs-site/.docusaurus/i18n.json +++ b/ccw/docs-site/.docusaurus/i18n.json @@ -5,7 +5,7 @@ "zh" ], "path": "i18n", - "currentLocale": "en", + "currentLocale": "zh", "localeConfigs": { "en": { "label": "English", diff --git a/ccw/docs-site/.docusaurus/registry.js b/ccw/docs-site/.docusaurus/registry.js index e1d71748..4cac6b1b 100644 --- a/ccw/docs-site/.docusaurus/registry.js +++ b/ccw/docs-site/.docusaurus/registry.js @@ -1,47 +1,39 @@ export default { - "__comp---theme-debug-config-23-a-2ff": [() => import(/* webpackChunkName: "__comp---theme-debug-config-23-a-2ff" */ "@theme/DebugConfig"), "@theme/DebugConfig", require.resolveWeak("@theme/DebugConfig")], - "__comp---theme-debug-contentba-8-ce7": [() => import(/* webpackChunkName: "__comp---theme-debug-contentba-8-ce7" */ "@theme/DebugContent"), "@theme/DebugContent", require.resolveWeak("@theme/DebugContent")], - "__comp---theme-debug-global-dataede-0fa": [() => import(/* webpackChunkName: "__comp---theme-debug-global-dataede-0fa" */ "@theme/DebugGlobalData"), "@theme/DebugGlobalData", require.resolveWeak("@theme/DebugGlobalData")], - "__comp---theme-debug-registry-679-501": [() => import(/* webpackChunkName: "__comp---theme-debug-registry-679-501" */ "@theme/DebugRegistry"), "@theme/DebugRegistry", require.resolveWeak("@theme/DebugRegistry")], - "__comp---theme-debug-routes-946-699": [() => import(/* webpackChunkName: "__comp---theme-debug-routes-946-699" */ "@theme/DebugRoutes"), "@theme/DebugRoutes", require.resolveWeak("@theme/DebugRoutes")], - "__comp---theme-debug-site-metadata-68-e-3d4": [() => import(/* webpackChunkName: "__comp---theme-debug-site-metadata-68-e-3d4" */ "@theme/DebugSiteMetadata"), "@theme/DebugSiteMetadata", require.resolveWeak("@theme/DebugSiteMetadata")], - "__comp---theme-doc-item-178-a40": [() => import(/* webpackChunkName: "__comp---theme-doc-item-178-a40" */ "@theme/DocItem"), "@theme/DocItem", require.resolveWeak("@theme/DocItem")], - "__comp---theme-doc-roota-94-67a": [() => import(/* webpackChunkName: "__comp---theme-doc-roota-94-67a" */ "@theme/DocRoot"), "@theme/DocRoot", require.resolveWeak("@theme/DocRoot")], - "__comp---theme-doc-version-roota-7-b-5de": [() => import(/* webpackChunkName: "__comp---theme-doc-version-roota-7-b-5de" */ "@theme/DocVersionRoot"), "@theme/DocVersionRoot", require.resolveWeak("@theme/DocVersionRoot")], - "__comp---theme-docs-root-5-e-9-0b6": [() => import(/* webpackChunkName: "__comp---theme-docs-root-5-e-9-0b6" */ "@theme/DocsRoot"), "@theme/DocsRoot", require.resolveWeak("@theme/DocsRoot")], - "__props---docs-11-b-f70": [() => import(/* webpackChunkName: "__props---docs-11-b-f70" */ "@generated/docusaurus-plugin-content-docs/default/p/docs-7fc.json"), "@generated/docusaurus-plugin-content-docs/default/p/docs-7fc.json", require.resolveWeak("@generated/docusaurus-plugin-content-docs/default/p/docs-7fc.json")], - "__props---docs-docusaurus-debug-content-344-8d5": [() => import(/* webpackChunkName: "__props---docs-docusaurus-debug-content-344-8d5" */ "@generated/docusaurus-plugin-debug/default/p/docs-docusaurus-debug-content-a52.json"), "@generated/docusaurus-plugin-debug/default/p/docs-docusaurus-debug-content-a52.json", require.resolveWeak("@generated/docusaurus-plugin-debug/default/p/docs-docusaurus-debug-content-a52.json")], - "content---docs-4-ed-831": [() => import(/* webpackChunkName: "content---docs-4-ed-831" */ "@site/docs/index.mdx"), "@site/docs/index.mdx", require.resolveWeak("@site/docs/index.mdx")], - "content---docs-commands-cli-cli-init-056-ce1": [() => import(/* webpackChunkName: "content---docs-commands-cli-cli-init-056-ce1" */ "@site/docs/commands/cli/cli-init.mdx"), "@site/docs/commands/cli/cli-init.mdx", require.resolveWeak("@site/docs/commands/cli/cli-init.mdx")], - "content---docs-commands-cli-codex-reviewf-1-b-55f": [() => import(/* webpackChunkName: "content---docs-commands-cli-codex-reviewf-1-b-55f" */ "@site/docs/commands/cli/codex-review.mdx"), "@site/docs/commands/cli/codex-review.mdx", require.resolveWeak("@site/docs/commands/cli/codex-review.mdx")], - "content---docs-commands-general-ccw-coordinatord-55-c6b": [() => import(/* webpackChunkName: "content---docs-commands-general-ccw-coordinatord-55-c6b" */ "@site/docs/commands/general/ccw-coordinator.mdx"), "@site/docs/commands/general/ccw-coordinator.mdx", require.resolveWeak("@site/docs/commands/general/ccw-coordinator.mdx")], - "content---docs-commands-general-ccw-debug-97-c-a72": [() => import(/* webpackChunkName: "content---docs-commands-general-ccw-debug-97-c-a72" */ "@site/docs/commands/general/ccw-debug.mdx"), "@site/docs/commands/general/ccw-debug.mdx", require.resolveWeak("@site/docs/commands/general/ccw-debug.mdx")], - "content---docs-commands-general-ccw-plan-04-d-fe0": [() => import(/* webpackChunkName: "content---docs-commands-general-ccw-plan-04-d-fe0" */ "@site/docs/commands/general/ccw-plan.mdx"), "@site/docs/commands/general/ccw-plan.mdx", require.resolveWeak("@site/docs/commands/general/ccw-plan.mdx")], - "content---docs-commands-general-ccw-testcce-912": [() => import(/* webpackChunkName: "content---docs-commands-general-ccw-testcce-912" */ "@site/docs/commands/general/ccw-test.mdx"), "@site/docs/commands/general/ccw-test.mdx", require.resolveWeak("@site/docs/commands/general/ccw-test.mdx")], - "content---docs-commands-general-ccwf-48-8c4": [() => import(/* webpackChunkName: "content---docs-commands-general-ccwf-48-8c4" */ "@site/docs/commands/general/ccw.mdx"), "@site/docs/commands/general/ccw.mdx", require.resolveWeak("@site/docs/commands/general/ccw.mdx")], - "content---docs-commands-general-codex-coordinatorf-92-1dc": [() => import(/* webpackChunkName: "content---docs-commands-general-codex-coordinatorf-92-1dc" */ "@site/docs/commands/general/codex-coordinator.mdx"), "@site/docs/commands/general/codex-coordinator.mdx", require.resolveWeak("@site/docs/commands/general/codex-coordinator.mdx")], - "content---docs-commands-general-flow-createfab-98a": [() => import(/* webpackChunkName: "content---docs-commands-general-flow-createfab-98a" */ "@site/docs/commands/general/flow-create.mdx"), "@site/docs/commands/general/flow-create.mdx", require.resolveWeak("@site/docs/commands/general/flow-create.mdx")], - "content---docs-commands-issue-issue-convert-to-plan-5-c-7-184": [() => import(/* webpackChunkName: "content---docs-commands-issue-issue-convert-to-plan-5-c-7-184" */ "@site/docs/commands/issue/issue-convert-to-plan.md"), "@site/docs/commands/issue/issue-convert-to-plan.md", require.resolveWeak("@site/docs/commands/issue/issue-convert-to-plan.md")], - "content---docs-commands-issue-issue-discover-1-e-3-569": [() => import(/* webpackChunkName: "content---docs-commands-issue-issue-discover-1-e-3-569" */ "@site/docs/commands/issue/issue-discover.md"), "@site/docs/commands/issue/issue-discover.md", require.resolveWeak("@site/docs/commands/issue/issue-discover.md")], - "content---docs-commands-issue-issue-executefe-8-c03": [() => import(/* webpackChunkName: "content---docs-commands-issue-issue-executefe-8-c03" */ "@site/docs/commands/issue/issue-execute.md"), "@site/docs/commands/issue/issue-execute.md", require.resolveWeak("@site/docs/commands/issue/issue-execute.md")], - "content---docs-commands-issue-issue-from-brainstorm-2-ec-eeb": [() => import(/* webpackChunkName: "content---docs-commands-issue-issue-from-brainstorm-2-ec-eeb" */ "@site/docs/commands/issue/issue-from-brainstorm.md"), "@site/docs/commands/issue/issue-from-brainstorm.md", require.resolveWeak("@site/docs/commands/issue/issue-from-brainstorm.md")], - "content---docs-commands-issue-issue-new-4-ad-3f0": [() => import(/* webpackChunkName: "content---docs-commands-issue-issue-new-4-ad-3f0" */ "@site/docs/commands/issue/issue-new.md"), "@site/docs/commands/issue/issue-new.md", require.resolveWeak("@site/docs/commands/issue/issue-new.md")], - "content---docs-commands-issue-issue-plana-6-c-fbd": [() => import(/* webpackChunkName: "content---docs-commands-issue-issue-plana-6-c-fbd" */ "@site/docs/commands/issue/issue-plan.md"), "@site/docs/commands/issue/issue-plan.md", require.resolveWeak("@site/docs/commands/issue/issue-plan.md")], - "content---docs-commands-issue-issue-queue-1-ba-55f": [() => import(/* webpackChunkName: "content---docs-commands-issue-issue-queue-1-ba-55f" */ "@site/docs/commands/issue/issue-queue.md"), "@site/docs/commands/issue/issue-queue.md", require.resolveWeak("@site/docs/commands/issue/issue-queue.md")], - "content---docs-commands-memory-memory-compact-7-a-1-41c": [() => import(/* webpackChunkName: "content---docs-commands-memory-memory-compact-7-a-1-41c" */ "@site/docs/commands/memory/memory-compact.mdx"), "@site/docs/commands/memory/memory-compact.mdx", require.resolveWeak("@site/docs/commands/memory/memory-compact.mdx")], - "content---docs-commands-memory-memory-docs-full-cli-4-cc-96f": [() => import(/* webpackChunkName: "content---docs-commands-memory-memory-docs-full-cli-4-cc-96f" */ "@site/docs/commands/memory/memory-docs-full-cli.mdx"), "@site/docs/commands/memory/memory-docs-full-cli.mdx", require.resolveWeak("@site/docs/commands/memory/memory-docs-full-cli.mdx")], - "content---docs-commands-memory-memory-docs-related-cli-60-e-dd0": [() => import(/* webpackChunkName: "content---docs-commands-memory-memory-docs-related-cli-60-e-dd0" */ "@site/docs/commands/memory/memory-docs-related-cli.mdx"), "@site/docs/commands/memory/memory-docs-related-cli.mdx", require.resolveWeak("@site/docs/commands/memory/memory-docs-related-cli.mdx")], - "content---docs-commands-memory-memory-load-157-952": [() => import(/* webpackChunkName: "content---docs-commands-memory-memory-load-157-952" */ "@site/docs/commands/memory/memory-load.mdx"), "@site/docs/commands/memory/memory-load.mdx", require.resolveWeak("@site/docs/commands/memory/memory-load.mdx")], - "content---docs-commands-memory-memory-update-full-666-002": [() => import(/* webpackChunkName: "content---docs-commands-memory-memory-update-full-666-002" */ "@site/docs/commands/memory/memory-update-full.mdx"), "@site/docs/commands/memory/memory-update-full.mdx", require.resolveWeak("@site/docs/commands/memory/memory-update-full.mdx")], - "content---docs-commands-memory-memory-update-related-611-8d3": [() => import(/* webpackChunkName: "content---docs-commands-memory-memory-update-related-611-8d3" */ "@site/docs/commands/memory/memory-update-related.mdx"), "@site/docs/commands/memory/memory-update-related.mdx", require.resolveWeak("@site/docs/commands/memory/memory-update-related.mdx")], - "content---docs-faqea-3-888": [() => import(/* webpackChunkName: "content---docs-faqea-3-888" */ "@site/docs/faq.mdx"), "@site/docs/faq.mdx", require.resolveWeak("@site/docs/faq.mdx")], - "content---docs-overview-188-429": [() => import(/* webpackChunkName: "content---docs-overview-188-429" */ "@site/docs/overview.mdx"), "@site/docs/overview.mdx", require.resolveWeak("@site/docs/overview.mdx")], - "content---docs-workflows-faqbcf-045": [() => import(/* webpackChunkName: "content---docs-workflows-faqbcf-045" */ "@site/docs/workflows/faq.mdx"), "@site/docs/workflows/faq.mdx", require.resolveWeak("@site/docs/workflows/faq.mdx")], - "content---docs-workflows-introduction-9-f-4-275": [() => import(/* webpackChunkName: "content---docs-workflows-introduction-9-f-4-275" */ "@site/docs/workflows/introduction.mdx"), "@site/docs/workflows/introduction.mdx", require.resolveWeak("@site/docs/workflows/introduction.mdx")], - "content---docs-workflows-level-1-ultra-lightweightc-5-a-5db": [() => import(/* webpackChunkName: "content---docs-workflows-level-1-ultra-lightweightc-5-a-5db" */ "@site/docs/workflows/level-1-ultra-lightweight.mdx"), "@site/docs/workflows/level-1-ultra-lightweight.mdx", require.resolveWeak("@site/docs/workflows/level-1-ultra-lightweight.mdx")], - "content---docs-workflows-level-2-rapid-19-b-095": [() => import(/* webpackChunkName: "content---docs-workflows-level-2-rapid-19-b-095" */ "@site/docs/workflows/level-2-rapid.mdx"), "@site/docs/workflows/level-2-rapid.mdx", require.resolveWeak("@site/docs/workflows/level-2-rapid.mdx")], - "content---docs-workflows-level-3-standardbdb-61a": [() => import(/* webpackChunkName: "content---docs-workflows-level-3-standardbdb-61a" */ "@site/docs/workflows/level-3-standard.mdx"), "@site/docs/workflows/level-3-standard.mdx", require.resolveWeak("@site/docs/workflows/level-3-standard.mdx")], - "content---docs-workflows-level-4-brainstormd-04-14f": [() => import(/* webpackChunkName: "content---docs-workflows-level-4-brainstormd-04-14f" */ "@site/docs/workflows/level-4-brainstorm.mdx"), "@site/docs/workflows/level-4-brainstorm.mdx", require.resolveWeak("@site/docs/workflows/level-4-brainstorm.mdx")], - "content---docs-workflows-level-5-intelligent-186-b05": [() => import(/* webpackChunkName: "content---docs-workflows-level-5-intelligent-186-b05" */ "@site/docs/workflows/level-5-intelligent.mdx"), "@site/docs/workflows/level-5-intelligent.mdx", require.resolveWeak("@site/docs/workflows/level-5-intelligent.mdx")], - "plugin---docs-aba-4f5": [() => import(/* webpackChunkName: "plugin---docs-aba-4f5" */ "@generated/docusaurus-plugin-content-docs/default/__plugin.json"), "@generated/docusaurus-plugin-content-docs/default/__plugin.json", require.resolveWeak("@generated/docusaurus-plugin-content-docs/default/__plugin.json")], - "plugin---docs-docusaurus-debugb-38-c84": [() => import(/* webpackChunkName: "plugin---docs-docusaurus-debugb-38-c84" */ "@generated/docusaurus-plugin-debug/default/__plugin.json"), "@generated/docusaurus-plugin-debug/default/__plugin.json", require.resolveWeak("@generated/docusaurus-plugin-debug/default/__plugin.json")],}; + "04db0a2e": [() => import(/* webpackChunkName: "04db0a2e" */ "@site/docs/commands/general/ccw-plan.mdx"), "@site/docs/commands/general/ccw-plan.mdx", require.resolveWeak("@site/docs/commands/general/ccw-plan.mdx")], + "05467734": [() => import(/* webpackChunkName: "05467734" */ "@site/i18n/zh/docusaurus-plugin-content-docs/current/workflows/level-2-rapid.mdx"), "@site/i18n/zh/docusaurus-plugin-content-docs/current/workflows/level-2-rapid.mdx", require.resolveWeak("@site/i18n/zh/docusaurus-plugin-content-docs/current/workflows/level-2-rapid.mdx")], + "0566a0a8": [() => import(/* webpackChunkName: "0566a0a8" */ "@site/docs/commands/cli/cli-init.mdx"), "@site/docs/commands/cli/cli-init.mdx", require.resolveWeak("@site/docs/commands/cli/cli-init.mdx")], + "157db180": [() => import(/* webpackChunkName: "157db180" */ "@site/docs/commands/memory/memory-load.mdx"), "@site/docs/commands/memory/memory-load.mdx", require.resolveWeak("@site/docs/commands/memory/memory-load.mdx")], + "17896441": [() => import(/* webpackChunkName: "17896441" */ "@theme/DocItem"), "@theme/DocItem", require.resolveWeak("@theme/DocItem")], + "1bac9067": [() => import(/* webpackChunkName: "1bac9067" */ "@site/docs/commands/issue/issue-queue.md"), "@site/docs/commands/issue/issue-queue.md", require.resolveWeak("@site/docs/commands/issue/issue-queue.md")], + "1e3006f3": [() => import(/* webpackChunkName: "1e3006f3" */ "@site/docs/commands/issue/issue-discover.md"), "@site/docs/commands/issue/issue-discover.md", require.resolveWeak("@site/docs/commands/issue/issue-discover.md")], + "2a5e3eff": [() => import(/* webpackChunkName: "2a5e3eff" */ "@site/i18n/zh/docusaurus-plugin-content-docs/current/faq.mdx"), "@site/i18n/zh/docusaurus-plugin-content-docs/current/faq.mdx", require.resolveWeak("@site/i18n/zh/docusaurus-plugin-content-docs/current/faq.mdx")], + "2ecf8b4a": [() => import(/* webpackChunkName: "2ecf8b4a" */ "@site/docs/commands/issue/issue-from-brainstorm.md"), "@site/docs/commands/issue/issue-from-brainstorm.md", require.resolveWeak("@site/docs/commands/issue/issue-from-brainstorm.md")], + "3f1fe4a1": [() => import(/* webpackChunkName: "3f1fe4a1" */ "@site/i18n/zh/docusaurus-plugin-content-docs/current/workflows/level-3-standard.mdx"), "@site/i18n/zh/docusaurus-plugin-content-docs/current/workflows/level-3-standard.mdx", require.resolveWeak("@site/i18n/zh/docusaurus-plugin-content-docs/current/workflows/level-3-standard.mdx")], + "46f40178": [() => import(/* webpackChunkName: "46f40178" */ "@site/i18n/zh/docusaurus-plugin-content-docs/current/workflows/faq.mdx"), "@site/i18n/zh/docusaurus-plugin-content-docs/current/workflows/faq.mdx", require.resolveWeak("@site/i18n/zh/docusaurus-plugin-content-docs/current/workflows/faq.mdx")], + "4ad7db0f": [() => import(/* webpackChunkName: "4ad7db0f" */ "@site/docs/commands/issue/issue-new.md"), "@site/docs/commands/issue/issue-new.md", require.resolveWeak("@site/docs/commands/issue/issue-new.md")], + "4cc74730": [() => import(/* webpackChunkName: "4cc74730" */ "@site/docs/commands/memory/memory-docs-full-cli.mdx"), "@site/docs/commands/memory/memory-docs-full-cli.mdx", require.resolveWeak("@site/docs/commands/memory/memory-docs-full-cli.mdx")], + "562bb8cb": [() => import(/* webpackChunkName: "562bb8cb" */ "@site/i18n/zh/docusaurus-plugin-content-docs/current/workflows/level-5-intelligent.mdx"), "@site/i18n/zh/docusaurus-plugin-content-docs/current/workflows/level-5-intelligent.mdx", require.resolveWeak("@site/i18n/zh/docusaurus-plugin-content-docs/current/workflows/level-5-intelligent.mdx")], + "5c7b2278": [() => import(/* webpackChunkName: "5c7b2278" */ "@site/docs/commands/issue/issue-convert-to-plan.md"), "@site/docs/commands/issue/issue-convert-to-plan.md", require.resolveWeak("@site/docs/commands/issue/issue-convert-to-plan.md")], + "5e95c892": [() => import(/* webpackChunkName: "5e95c892" */ "@theme/DocsRoot"), "@theme/DocsRoot", require.resolveWeak("@theme/DocsRoot")], + "60eef997": [() => import(/* webpackChunkName: "60eef997" */ "@site/docs/commands/memory/memory-docs-related-cli.mdx"), "@site/docs/commands/memory/memory-docs-related-cli.mdx", require.resolveWeak("@site/docs/commands/memory/memory-docs-related-cli.mdx")], + "611877e1": [() => import(/* webpackChunkName: "611877e1" */ "@site/docs/commands/memory/memory-update-related.mdx"), "@site/docs/commands/memory/memory-update-related.mdx", require.resolveWeak("@site/docs/commands/memory/memory-update-related.mdx")], + "666bb1bf": [() => import(/* webpackChunkName: "666bb1bf" */ "@site/docs/commands/memory/memory-update-full.mdx"), "@site/docs/commands/memory/memory-update-full.mdx", require.resolveWeak("@site/docs/commands/memory/memory-update-full.mdx")], + "6ab014e9": [() => import(/* webpackChunkName: "6ab014e9" */ "@site/i18n/zh/docusaurus-plugin-content-docs/current/index.mdx"), "@site/i18n/zh/docusaurus-plugin-content-docs/current/index.mdx", require.resolveWeak("@site/i18n/zh/docusaurus-plugin-content-docs/current/index.mdx")], + "775938bf": [() => import(/* webpackChunkName: "775938bf" */ "@site/i18n/zh/docusaurus-plugin-content-docs/current/workflows/level-4-brainstorm.mdx"), "@site/i18n/zh/docusaurus-plugin-content-docs/current/workflows/level-4-brainstorm.mdx", require.resolveWeak("@site/i18n/zh/docusaurus-plugin-content-docs/current/workflows/level-4-brainstorm.mdx")], + "7a1ee27c": [() => import(/* webpackChunkName: "7a1ee27c" */ "@site/docs/commands/memory/memory-compact.mdx"), "@site/docs/commands/memory/memory-compact.mdx", require.resolveWeak("@site/docs/commands/memory/memory-compact.mdx")], + "8a7e39ed": [() => import(/* webpackChunkName: "8a7e39ed" */ "@site/i18n/zh/docusaurus-plugin-content-docs/current/overview.mdx"), "@site/i18n/zh/docusaurus-plugin-content-docs/current/overview.mdx", require.resolveWeak("@site/i18n/zh/docusaurus-plugin-content-docs/current/overview.mdx")], + "97c6e66a": [() => import(/* webpackChunkName: "97c6e66a" */ "@site/docs/commands/general/ccw-debug.mdx"), "@site/docs/commands/general/ccw-debug.mdx", require.resolveWeak("@site/docs/commands/general/ccw-debug.mdx")], + "9cf7cb6b": [() => import(/* webpackChunkName: "9cf7cb6b" */ "@site/i18n/zh/docusaurus-plugin-content-docs/current/workflows/level-1-ultra-lightweight.mdx"), "@site/i18n/zh/docusaurus-plugin-content-docs/current/workflows/level-1-ultra-lightweight.mdx", require.resolveWeak("@site/i18n/zh/docusaurus-plugin-content-docs/current/workflows/level-1-ultra-lightweight.mdx")], + "a6c3df16": [() => import(/* webpackChunkName: "a6c3df16" */ "@site/docs/commands/issue/issue-plan.md"), "@site/docs/commands/issue/issue-plan.md", require.resolveWeak("@site/docs/commands/issue/issue-plan.md")], + "a7bd4aaa": [() => import(/* webpackChunkName: "a7bd4aaa" */ "@theme/DocVersionRoot"), "@theme/DocVersionRoot", require.resolveWeak("@theme/DocVersionRoot")], + "a94703ab": [() => import(/* webpackChunkName: "a94703ab" */ "@theme/DocRoot"), "@theme/DocRoot", require.resolveWeak("@theme/DocRoot")], + "aba21aa0": [() => import(/* webpackChunkName: "aba21aa0" */ "@generated/docusaurus-plugin-content-docs/default/__plugin.json"), "@generated/docusaurus-plugin-content-docs/default/__plugin.json", require.resolveWeak("@generated/docusaurus-plugin-content-docs/default/__plugin.json")], + "b17e4002": [() => import(/* webpackChunkName: "b17e4002" */ "@generated/docusaurus-plugin-content-docs/default/p/docs-zh-d2a.json"), "@generated/docusaurus-plugin-content-docs/default/p/docs-zh-d2a.json", require.resolveWeak("@generated/docusaurus-plugin-content-docs/default/p/docs-zh-d2a.json")], + "ccef5d0f": [() => import(/* webpackChunkName: "ccef5d0f" */ "@site/docs/commands/general/ccw-test.mdx"), "@site/docs/commands/general/ccw-test.mdx", require.resolveWeak("@site/docs/commands/general/ccw-test.mdx")], + "d550a629": [() => import(/* webpackChunkName: "d550a629" */ "@site/docs/commands/general/ccw-coordinator.mdx"), "@site/docs/commands/general/ccw-coordinator.mdx", require.resolveWeak("@site/docs/commands/general/ccw-coordinator.mdx")], + "e5f6eee3": [() => import(/* webpackChunkName: "e5f6eee3" */ "@site/i18n/zh/docusaurus-plugin-content-docs/current/workflows/introduction.mdx"), "@site/i18n/zh/docusaurus-plugin-content-docs/current/workflows/introduction.mdx", require.resolveWeak("@site/i18n/zh/docusaurus-plugin-content-docs/current/workflows/introduction.mdx")], + "f1bf82ec": [() => import(/* webpackChunkName: "f1bf82ec" */ "@site/docs/commands/cli/codex-review.mdx"), "@site/docs/commands/cli/codex-review.mdx", require.resolveWeak("@site/docs/commands/cli/codex-review.mdx")], + "f4817052": [() => import(/* webpackChunkName: "f4817052" */ "@site/docs/commands/general/ccw.mdx"), "@site/docs/commands/general/ccw.mdx", require.resolveWeak("@site/docs/commands/general/ccw.mdx")], + "f9222419": [() => import(/* webpackChunkName: "f9222419" */ "@site/docs/commands/general/codex-coordinator.mdx"), "@site/docs/commands/general/codex-coordinator.mdx", require.resolveWeak("@site/docs/commands/general/codex-coordinator.mdx")], + "fabaf1c8": [() => import(/* webpackChunkName: "fabaf1c8" */ "@site/docs/commands/general/flow-create.mdx"), "@site/docs/commands/general/flow-create.mdx", require.resolveWeak("@site/docs/commands/general/flow-create.mdx")], + "fe8e3dcf": [() => import(/* webpackChunkName: "fe8e3dcf" */ "@site/docs/commands/issue/issue-execute.md"), "@site/docs/commands/issue/issue-execute.md", require.resolveWeak("@site/docs/commands/issue/issue-execute.md")],}; diff --git a/ccw/docs-site/.docusaurus/routes.js b/ccw/docs-site/.docusaurus/routes.js index 88ac2bcd..7f74ea8a 100644 --- a/ccw/docs-site/.docusaurus/routes.js +++ b/ccw/docs-site/.docusaurus/routes.js @@ -3,240 +3,205 @@ import ComponentCreator from '@docusaurus/ComponentCreator'; export default [ { - path: '/docs/__docusaurus/debug', - component: ComponentCreator('/docs/__docusaurus/debug', 'e58'), - exact: true - }, - { - path: '/docs/__docusaurus/debug/config', - component: ComponentCreator('/docs/__docusaurus/debug/config', '2ce'), - exact: true - }, - { - path: '/docs/__docusaurus/debug/content', - component: ComponentCreator('/docs/__docusaurus/debug/content', '11b'), - exact: true - }, - { - path: '/docs/__docusaurus/debug/globalData', - component: ComponentCreator('/docs/__docusaurus/debug/globalData', 'f13'), - exact: true - }, - { - path: '/docs/__docusaurus/debug/metadata', - component: ComponentCreator('/docs/__docusaurus/debug/metadata', 'bff'), - exact: true - }, - { - path: '/docs/__docusaurus/debug/registry', - component: ComponentCreator('/docs/__docusaurus/debug/registry', '830'), - exact: true - }, - { - path: '/docs/__docusaurus/debug/routes', - component: ComponentCreator('/docs/__docusaurus/debug/routes', '13e'), - exact: true - }, - { - path: '/docs/', - component: ComponentCreator('/docs/', 'a3f'), + path: '/docs/zh/', + component: ComponentCreator('/docs/zh/', 'b34'), routes: [ { - path: '/docs/', - component: ComponentCreator('/docs/', 'fa7'), + path: '/docs/zh/', + component: ComponentCreator('/docs/zh/', 'a8e'), routes: [ { - path: '/docs/', - component: ComponentCreator('/docs/', '294'), + path: '/docs/zh/', + component: ComponentCreator('/docs/zh/', '632'), routes: [ { - path: '/docs/commands/cli/cli-init', - component: ComponentCreator('/docs/commands/cli/cli-init', '159'), + path: '/docs/zh/commands/cli/cli-init', + component: ComponentCreator('/docs/zh/commands/cli/cli-init', 'fe3'), exact: true, sidebar: "docs" }, { - path: '/docs/commands/cli/codex-review', - component: ComponentCreator('/docs/commands/cli/codex-review', 'c66'), + path: '/docs/zh/commands/cli/codex-review', + component: ComponentCreator('/docs/zh/commands/cli/codex-review', 'e65'), exact: true, sidebar: "docs" }, { - path: '/docs/commands/general/ccw', - component: ComponentCreator('/docs/commands/general/ccw', '3c1'), + path: '/docs/zh/commands/general/ccw', + component: ComponentCreator('/docs/zh/commands/general/ccw', '83a'), exact: true, sidebar: "docs" }, { - path: '/docs/commands/general/ccw-coordinator', - component: ComponentCreator('/docs/commands/general/ccw-coordinator', '3b4'), + path: '/docs/zh/commands/general/ccw-coordinator', + component: ComponentCreator('/docs/zh/commands/general/ccw-coordinator', 'f35'), exact: true, sidebar: "docs" }, { - path: '/docs/commands/general/ccw-debug', - component: ComponentCreator('/docs/commands/general/ccw-debug', 'e0c'), + path: '/docs/zh/commands/general/ccw-debug', + component: ComponentCreator('/docs/zh/commands/general/ccw-debug', 'b0a'), exact: true, sidebar: "docs" }, { - path: '/docs/commands/general/ccw-plan', - component: ComponentCreator('/docs/commands/general/ccw-plan', '9ae'), + path: '/docs/zh/commands/general/ccw-plan', + component: ComponentCreator('/docs/zh/commands/general/ccw-plan', '39d'), exact: true, sidebar: "docs" }, { - path: '/docs/commands/general/ccw-test', - component: ComponentCreator('/docs/commands/general/ccw-test', 'e6f'), + path: '/docs/zh/commands/general/ccw-test', + component: ComponentCreator('/docs/zh/commands/general/ccw-test', '765'), exact: true, sidebar: "docs" }, { - path: '/docs/commands/general/codex-coordinator', - component: ComponentCreator('/docs/commands/general/codex-coordinator', 'e7d'), + path: '/docs/zh/commands/general/codex-coordinator', + component: ComponentCreator('/docs/zh/commands/general/codex-coordinator', '486'), exact: true, sidebar: "docs" }, { - path: '/docs/commands/general/flow-create', - component: ComponentCreator('/docs/commands/general/flow-create', '507'), + path: '/docs/zh/commands/general/flow-create', + component: ComponentCreator('/docs/zh/commands/general/flow-create', 'd53'), exact: true, sidebar: "docs" }, { - path: '/docs/commands/issue/issue-convert-to-plan', - component: ComponentCreator('/docs/commands/issue/issue-convert-to-plan', 'a36'), + path: '/docs/zh/commands/issue/issue-convert-to-plan', + component: ComponentCreator('/docs/zh/commands/issue/issue-convert-to-plan', '0df'), exact: true, sidebar: "docs" }, { - path: '/docs/commands/issue/issue-discover', - component: ComponentCreator('/docs/commands/issue/issue-discover', '5ae'), + path: '/docs/zh/commands/issue/issue-discover', + component: ComponentCreator('/docs/zh/commands/issue/issue-discover', '9b4'), exact: true, sidebar: "docs" }, { - path: '/docs/commands/issue/issue-execute', - component: ComponentCreator('/docs/commands/issue/issue-execute', '20b'), + path: '/docs/zh/commands/issue/issue-execute', + component: ComponentCreator('/docs/zh/commands/issue/issue-execute', 'cfd'), exact: true, sidebar: "docs" }, { - path: '/docs/commands/issue/issue-from-brainstorm', - component: ComponentCreator('/docs/commands/issue/issue-from-brainstorm', '10c'), + path: '/docs/zh/commands/issue/issue-from-brainstorm', + component: ComponentCreator('/docs/zh/commands/issue/issue-from-brainstorm', 'd2f'), exact: true, sidebar: "docs" }, { - path: '/docs/commands/issue/issue-new', - component: ComponentCreator('/docs/commands/issue/issue-new', 'abb'), + path: '/docs/zh/commands/issue/issue-new', + component: ComponentCreator('/docs/zh/commands/issue/issue-new', '7f9'), exact: true, sidebar: "docs" }, { - path: '/docs/commands/issue/issue-plan', - component: ComponentCreator('/docs/commands/issue/issue-plan', '57f'), + path: '/docs/zh/commands/issue/issue-plan', + component: ComponentCreator('/docs/zh/commands/issue/issue-plan', 'ed4'), exact: true, sidebar: "docs" }, { - path: '/docs/commands/issue/issue-queue', - component: ComponentCreator('/docs/commands/issue/issue-queue', '316'), + path: '/docs/zh/commands/issue/issue-queue', + component: ComponentCreator('/docs/zh/commands/issue/issue-queue', 'a4b'), exact: true, sidebar: "docs" }, { - path: '/docs/commands/memory/memory-compact', - component: ComponentCreator('/docs/commands/memory/memory-compact', 'fbd'), + path: '/docs/zh/commands/memory/memory-compact', + component: ComponentCreator('/docs/zh/commands/memory/memory-compact', '8dc'), exact: true, sidebar: "docs" }, { - path: '/docs/commands/memory/memory-docs-full-cli', - component: ComponentCreator('/docs/commands/memory/memory-docs-full-cli', '8b8'), + path: '/docs/zh/commands/memory/memory-docs-full-cli', + component: ComponentCreator('/docs/zh/commands/memory/memory-docs-full-cli', '1a7'), exact: true, sidebar: "docs" }, { - path: '/docs/commands/memory/memory-docs-related-cli', - component: ComponentCreator('/docs/commands/memory/memory-docs-related-cli', '707'), + path: '/docs/zh/commands/memory/memory-docs-related-cli', + component: ComponentCreator('/docs/zh/commands/memory/memory-docs-related-cli', 'f28'), exact: true, sidebar: "docs" }, { - path: '/docs/commands/memory/memory-load', - component: ComponentCreator('/docs/commands/memory/memory-load', '1db'), + path: '/docs/zh/commands/memory/memory-load', + component: ComponentCreator('/docs/zh/commands/memory/memory-load', 'aee'), exact: true, sidebar: "docs" }, { - path: '/docs/commands/memory/memory-update-full', - component: ComponentCreator('/docs/commands/memory/memory-update-full', '3fa'), + path: '/docs/zh/commands/memory/memory-update-full', + component: ComponentCreator('/docs/zh/commands/memory/memory-update-full', '2a1'), exact: true, sidebar: "docs" }, { - path: '/docs/commands/memory/memory-update-related', - component: ComponentCreator('/docs/commands/memory/memory-update-related', 'c50'), + path: '/docs/zh/commands/memory/memory-update-related', + component: ComponentCreator('/docs/zh/commands/memory/memory-update-related', '991'), exact: true, sidebar: "docs" }, { - path: '/docs/faq', - component: ComponentCreator('/docs/faq', '296'), + path: '/docs/zh/faq', + component: ComponentCreator('/docs/zh/faq', 'd6c'), exact: true, sidebar: "docs" }, { - path: '/docs/overview', - component: ComponentCreator('/docs/overview', 'f90'), + path: '/docs/zh/overview', + component: ComponentCreator('/docs/zh/overview', '2d1'), exact: true, sidebar: "docs" }, { - path: '/docs/workflows/faq', - component: ComponentCreator('/docs/workflows/faq', '58c'), + path: '/docs/zh/workflows/faq', + component: ComponentCreator('/docs/zh/workflows/faq', '319'), exact: true }, { - path: '/docs/workflows/introduction', - component: ComponentCreator('/docs/workflows/introduction', '702'), + path: '/docs/zh/workflows/introduction', + component: ComponentCreator('/docs/zh/workflows/introduction', 'dc8'), exact: true, sidebar: "docs" }, { - path: '/docs/workflows/level-1-ultra-lightweight', - component: ComponentCreator('/docs/workflows/level-1-ultra-lightweight', 'b4b'), + path: '/docs/zh/workflows/level-1-ultra-lightweight', + component: ComponentCreator('/docs/zh/workflows/level-1-ultra-lightweight', '4d3'), exact: true, sidebar: "docs" }, { - path: '/docs/workflows/level-2-rapid', - component: ComponentCreator('/docs/workflows/level-2-rapid', 'fe1'), + path: '/docs/zh/workflows/level-2-rapid', + component: ComponentCreator('/docs/zh/workflows/level-2-rapid', 'e2a'), exact: true, sidebar: "docs" }, { - path: '/docs/workflows/level-3-standard', - component: ComponentCreator('/docs/workflows/level-3-standard', '65f'), + path: '/docs/zh/workflows/level-3-standard', + component: ComponentCreator('/docs/zh/workflows/level-3-standard', '936'), exact: true, sidebar: "docs" }, { - path: '/docs/workflows/level-4-brainstorm', - component: ComponentCreator('/docs/workflows/level-4-brainstorm', 'fae'), + path: '/docs/zh/workflows/level-4-brainstorm', + component: ComponentCreator('/docs/zh/workflows/level-4-brainstorm', '87d'), exact: true, sidebar: "docs" }, { - path: '/docs/workflows/level-5-intelligent', - component: ComponentCreator('/docs/workflows/level-5-intelligent', 'fa9'), + path: '/docs/zh/workflows/level-5-intelligent', + component: ComponentCreator('/docs/zh/workflows/level-5-intelligent', 'b09'), exact: true, sidebar: "docs" }, { - path: '/docs/', - component: ComponentCreator('/docs/', '6df'), + path: '/docs/zh/', + component: ComponentCreator('/docs/zh/', '0e3'), exact: true, sidebar: "docs" } diff --git a/ccw/docs-site/.docusaurus/routesChunkNames.json b/ccw/docs-site/.docusaurus/routesChunkNames.json index a3890cf0..17b2e1a0 100644 --- a/ccw/docs-site/.docusaurus/routesChunkNames.json +++ b/ccw/docs-site/.docusaurus/routesChunkNames.json @@ -1,186 +1,143 @@ { - "/docs/__docusaurus/debug-e58": { - "__comp": "__comp---theme-debug-config-23-a-2ff", + "/docs/zh/-b34": { + "__comp": "5e95c892", "__context": { - "plugin": "plugin---docs-docusaurus-debugb-38-c84" + "plugin": "aba21aa0" } }, - "/docs/__docusaurus/debug/config-2ce": { - "__comp": "__comp---theme-debug-config-23-a-2ff", - "__context": { - "plugin": "plugin---docs-docusaurus-debugb-38-c84" - } + "/docs/zh/-a8e": { + "__comp": "a7bd4aaa", + "__props": "b17e4002" }, - "/docs/__docusaurus/debug/content-11b": { - "__comp": "__comp---theme-debug-contentba-8-ce7", - "__context": { - "plugin": "plugin---docs-docusaurus-debugb-38-c84" - }, - "__props": "__props---docs-docusaurus-debug-content-344-8d5" + "/docs/zh/-632": { + "__comp": "a94703ab" }, - "/docs/__docusaurus/debug/globalData-f13": { - "__comp": "__comp---theme-debug-global-dataede-0fa", - "__context": { - "plugin": "plugin---docs-docusaurus-debugb-38-c84" - } + "/docs/zh/commands/cli/cli-init-fe3": { + "__comp": "17896441", + "content": "0566a0a8" }, - "/docs/__docusaurus/debug/metadata-bff": { - "__comp": "__comp---theme-debug-site-metadata-68-e-3d4", - "__context": { - "plugin": "plugin---docs-docusaurus-debugb-38-c84" - } + "/docs/zh/commands/cli/codex-review-e65": { + "__comp": "17896441", + "content": "f1bf82ec" }, - "/docs/__docusaurus/debug/registry-830": { - "__comp": "__comp---theme-debug-registry-679-501", - "__context": { - "plugin": "plugin---docs-docusaurus-debugb-38-c84" - } + "/docs/zh/commands/general/ccw-83a": { + "__comp": "17896441", + "content": "f4817052" }, - "/docs/__docusaurus/debug/routes-13e": { - "__comp": "__comp---theme-debug-routes-946-699", - "__context": { - "plugin": "plugin---docs-docusaurus-debugb-38-c84" - } + "/docs/zh/commands/general/ccw-coordinator-f35": { + "__comp": "17896441", + "content": "d550a629" }, - "/docs/-a3f": { - "__comp": "__comp---theme-docs-root-5-e-9-0b6", - "__context": { - "plugin": "plugin---docs-aba-4f5" - } + "/docs/zh/commands/general/ccw-debug-b0a": { + "__comp": "17896441", + "content": "97c6e66a" }, - "/docs/-fa7": { - "__comp": "__comp---theme-doc-version-roota-7-b-5de", - "__props": "__props---docs-11-b-f70" + "/docs/zh/commands/general/ccw-plan-39d": { + "__comp": "17896441", + "content": "04db0a2e" }, - "/docs/-294": { - "__comp": "__comp---theme-doc-roota-94-67a" + "/docs/zh/commands/general/ccw-test-765": { + "__comp": "17896441", + "content": "ccef5d0f" }, - "/docs/commands/cli/cli-init-159": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-cli-cli-init-056-ce1" + "/docs/zh/commands/general/codex-coordinator-486": { + "__comp": "17896441", + "content": "f9222419" }, - "/docs/commands/cli/codex-review-c66": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-cli-codex-reviewf-1-b-55f" + "/docs/zh/commands/general/flow-create-d53": { + "__comp": "17896441", + "content": "fabaf1c8" }, - "/docs/commands/general/ccw-3c1": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-general-ccwf-48-8c4" + "/docs/zh/commands/issue/issue-convert-to-plan-0df": { + "__comp": "17896441", + "content": "5c7b2278" }, - "/docs/commands/general/ccw-coordinator-3b4": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-general-ccw-coordinatord-55-c6b" + "/docs/zh/commands/issue/issue-discover-9b4": { + "__comp": "17896441", + "content": "1e3006f3" }, - "/docs/commands/general/ccw-debug-e0c": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-general-ccw-debug-97-c-a72" + "/docs/zh/commands/issue/issue-execute-cfd": { + "__comp": "17896441", + "content": "fe8e3dcf" }, - "/docs/commands/general/ccw-plan-9ae": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-general-ccw-plan-04-d-fe0" + "/docs/zh/commands/issue/issue-from-brainstorm-d2f": { + "__comp": "17896441", + "content": "2ecf8b4a" }, - "/docs/commands/general/ccw-test-e6f": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-general-ccw-testcce-912" + "/docs/zh/commands/issue/issue-new-7f9": { + "__comp": "17896441", + "content": "4ad7db0f" }, - "/docs/commands/general/codex-coordinator-e7d": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-general-codex-coordinatorf-92-1dc" + "/docs/zh/commands/issue/issue-plan-ed4": { + "__comp": "17896441", + "content": "a6c3df16" }, - "/docs/commands/general/flow-create-507": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-general-flow-createfab-98a" + "/docs/zh/commands/issue/issue-queue-a4b": { + "__comp": "17896441", + "content": "1bac9067" }, - "/docs/commands/issue/issue-convert-to-plan-a36": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-issue-issue-convert-to-plan-5-c-7-184" + "/docs/zh/commands/memory/memory-compact-8dc": { + "__comp": "17896441", + "content": "7a1ee27c" }, - "/docs/commands/issue/issue-discover-5ae": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-issue-issue-discover-1-e-3-569" + "/docs/zh/commands/memory/memory-docs-full-cli-1a7": { + "__comp": "17896441", + "content": "4cc74730" }, - "/docs/commands/issue/issue-execute-20b": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-issue-issue-executefe-8-c03" + "/docs/zh/commands/memory/memory-docs-related-cli-f28": { + "__comp": "17896441", + "content": "60eef997" }, - "/docs/commands/issue/issue-from-brainstorm-10c": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-issue-issue-from-brainstorm-2-ec-eeb" + "/docs/zh/commands/memory/memory-load-aee": { + "__comp": "17896441", + "content": "157db180" }, - "/docs/commands/issue/issue-new-abb": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-issue-issue-new-4-ad-3f0" + "/docs/zh/commands/memory/memory-update-full-2a1": { + "__comp": "17896441", + "content": "666bb1bf" }, - "/docs/commands/issue/issue-plan-57f": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-issue-issue-plana-6-c-fbd" + "/docs/zh/commands/memory/memory-update-related-991": { + "__comp": "17896441", + "content": "611877e1" }, - "/docs/commands/issue/issue-queue-316": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-issue-issue-queue-1-ba-55f" + "/docs/zh/faq-d6c": { + "__comp": "17896441", + "content": "2a5e3eff" }, - "/docs/commands/memory/memory-compact-fbd": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-memory-memory-compact-7-a-1-41c" + "/docs/zh/overview-2d1": { + "__comp": "17896441", + "content": "8a7e39ed" }, - "/docs/commands/memory/memory-docs-full-cli-8b8": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-memory-memory-docs-full-cli-4-cc-96f" + "/docs/zh/workflows/faq-319": { + "__comp": "17896441", + "content": "46f40178" }, - "/docs/commands/memory/memory-docs-related-cli-707": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-memory-memory-docs-related-cli-60-e-dd0" + "/docs/zh/workflows/introduction-dc8": { + "__comp": "17896441", + "content": "e5f6eee3" }, - "/docs/commands/memory/memory-load-1db": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-memory-memory-load-157-952" + "/docs/zh/workflows/level-1-ultra-lightweight-4d3": { + "__comp": "17896441", + "content": "9cf7cb6b" }, - "/docs/commands/memory/memory-update-full-3fa": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-memory-memory-update-full-666-002" + "/docs/zh/workflows/level-2-rapid-e2a": { + "__comp": "17896441", + "content": "05467734" }, - "/docs/commands/memory/memory-update-related-c50": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-commands-memory-memory-update-related-611-8d3" + "/docs/zh/workflows/level-3-standard-936": { + "__comp": "17896441", + "content": "3f1fe4a1" }, - "/docs/faq-296": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-faqea-3-888" + "/docs/zh/workflows/level-4-brainstorm-87d": { + "__comp": "17896441", + "content": "775938bf" }, - "/docs/overview-f90": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-overview-188-429" + "/docs/zh/workflows/level-5-intelligent-b09": { + "__comp": "17896441", + "content": "562bb8cb" }, - "/docs/workflows/faq-58c": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-workflows-faqbcf-045" - }, - "/docs/workflows/introduction-702": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-workflows-introduction-9-f-4-275" - }, - "/docs/workflows/level-1-ultra-lightweight-b4b": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-workflows-level-1-ultra-lightweightc-5-a-5db" - }, - "/docs/workflows/level-2-rapid-fe1": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-workflows-level-2-rapid-19-b-095" - }, - "/docs/workflows/level-3-standard-65f": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-workflows-level-3-standardbdb-61a" - }, - "/docs/workflows/level-4-brainstorm-fae": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-workflows-level-4-brainstormd-04-14f" - }, - "/docs/workflows/level-5-intelligent-fa9": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-workflows-level-5-intelligent-186-b05" - }, - "/docs/-6df": { - "__comp": "__comp---theme-doc-item-178-a40", - "content": "content---docs-4-ed-831" + "/docs/zh/-0e3": { + "__comp": "17896441", + "content": "6ab014e9" } } \ No newline at end of file diff --git a/ccw/docs-site/.docusaurus/site-metadata.json b/ccw/docs-site/.docusaurus/site-metadata.json index 085f2863..503133f5 100644 --- a/ccw/docs-site/.docusaurus/site-metadata.json +++ b/ccw/docs-site/.docusaurus/site-metadata.json @@ -12,9 +12,9 @@ "name": "@docusaurus/plugin-content-pages", "version": "3.9.2" }, - "docusaurus-plugin-debug": { + "docusaurus-plugin-sitemap": { "type": "package", - "name": "@docusaurus/plugin-debug", + "name": "@docusaurus/plugin-sitemap", "version": "3.9.2" }, "docusaurus-plugin-svgr": { diff --git a/ccw/frontend/src/components/layout/Sidebar.tsx b/ccw/frontend/src/components/layout/Sidebar.tsx index 3276907f..0c5095a8 100644 --- a/ccw/frontend/src/components/layout/Sidebar.tsx +++ b/ccw/frontend/src/components/layout/Sidebar.tsx @@ -56,6 +56,7 @@ interface NavGroupDef { icon: React.ElementType; badge?: number | string; badgeVariant?: 'default' | 'success' | 'warning' | 'info'; + end?: boolean; }>; } @@ -110,7 +111,7 @@ const navGroupDefinitions: NavGroupDef[] = [ items: [ { path: '/settings/codexlens', labelKey: 'navigation.main.codexlens', icon: Sparkles }, { path: '/api-settings', labelKey: 'navigation.main.apiSettings', icon: Server }, - { path: '/settings', labelKey: 'navigation.main.settings', icon: Settings }, + { path: '/settings', labelKey: 'navigation.main.settings', icon: Settings, end: true }, { path: '/help', labelKey: 'navigation.main.help', icon: HelpCircle }, ], }, diff --git a/ccw/frontend/src/components/mcp/CcwToolsMcpCard.tsx b/ccw/frontend/src/components/mcp/CcwToolsMcpCard.tsx index 048d01d2..607ff7e5 100644 --- a/ccw/frontend/src/components/mcp/CcwToolsMcpCard.tsx +++ b/ccw/frontend/src/components/mcp/CcwToolsMcpCard.tsx @@ -115,6 +115,7 @@ export function CcwToolsMcpCard({ mutationFn: installCcwMcp, onSuccess: () => { queryClient.invalidateQueries({ queryKey: mcpServersKeys.all }); + queryClient.invalidateQueries({ queryKey: ['ccwMcpConfig'] }); onInstall(); }, }); @@ -123,8 +124,12 @@ export function CcwToolsMcpCard({ mutationFn: uninstallCcwMcp, onSuccess: () => { queryClient.invalidateQueries({ queryKey: mcpServersKeys.all }); + queryClient.invalidateQueries({ queryKey: ['ccwMcpConfig'] }); onInstall(); }, + onError: (error) => { + console.error('Failed to uninstall CCW MCP:', error); + }, }); const updateConfigMutation = useMutation({ diff --git a/ccw/frontend/src/components/mcp/McpServerDialog.tsx b/ccw/frontend/src/components/mcp/McpServerDialog.tsx index 72920adc..c522bb14 100644 --- a/ccw/frontend/src/components/mcp/McpServerDialog.tsx +++ b/ccw/frontend/src/components/mcp/McpServerDialog.tsx @@ -27,6 +27,7 @@ import { createMcpServer, updateMcpServer, fetchMcpServers, + saveMcpTemplate, type McpServer, type McpProjectConfigType, } from '@/lib/api'; @@ -95,6 +96,7 @@ export function McpServerDialog({ const [argsInput, setArgsInput] = useState(''); const [envInput, setEnvInput] = useState(''); const [configType, setConfigType] = useState('mcp-json'); + const [saveAsTemplate, setSaveAsTemplate] = useState(false); const projectConfigType: McpProjectConfigType = configType === 'claude-json' ? 'claude' : 'mcp'; // Initialize form from server prop (edit mode) @@ -128,6 +130,7 @@ export function McpServerDialog({ setEnvInput(''); } setSelectedTemplate(''); + setSaveAsTemplate(false); setErrors({}); }, [server, mode, open]); @@ -261,6 +264,23 @@ export function McpServerDialog({ return; } + // Save as template if checked + if (saveAsTemplate) { + try { + await saveMcpTemplate({ + name: formData.name, + category: 'custom', + serverConfig: { + command: formData.command, + args: formData.args.length > 0 ? formData.args : undefined, + env: Object.keys(formData.env).length > 0 ? formData.env : undefined, + }, + }); + } catch { + // Template save failure should not block server creation + } + } + if (mode === 'add') { createMutation.mutate({ server: { @@ -501,6 +521,20 @@ export function McpServerDialog({ {formatMessage({ id: 'mcp.dialog.form.enabled' })} + + {/* Save as Template */} +
+ setSaveAsTemplate(e.target.checked)} + className="w-4 h-4" + /> + +
diff --git a/ccw/frontend/src/components/mcp/McpTemplatesSection.tsx b/ccw/frontend/src/components/mcp/McpTemplatesSection.tsx index 2fa00cc2..cdf47d59 100644 --- a/ccw/frontend/src/components/mcp/McpTemplatesSection.tsx +++ b/ccw/frontend/src/components/mcp/McpTemplatesSection.tsx @@ -58,17 +58,18 @@ import type { McpTemplate } from '@/types/store'; export interface McpTemplatesSectionProps { /** Callback when template is installed (opens McpServerDialog) */ onInstallTemplate?: (template: McpTemplate) => void; - /** Callback when current server should be saved as template */ - onSaveAsTemplate?: (serverName: string, config: { command: string; args: string[]; env?: Record }) => void; + /** Callback when saving a new template */ + onSaveAsTemplate?: (name: string, category: string, description: string, serverConfig: { command: string; args: string[]; env: Record }) => void; } interface TemplateSaveDialogProps { open: boolean; onClose: () => void; - onSave: (name: string, category: string, description: string) => void; + onSave: (name: string, category: string, description: string, serverConfig: { command: string; args: string[]; env: Record }) => void; defaultName?: string; defaultCommand?: string; defaultArgs?: string[]; + defaultEnv?: Record; } interface TemplateCardProps { @@ -181,18 +182,26 @@ function TemplateCard({ template, onInstall, onDelete, isInstalling, isDeleting /** * Template Save Dialog - Save current server configuration as template */ -function TemplateSaveDialog({ +export function TemplateSaveDialog({ open, onClose, onSave, defaultName = '', + defaultCommand = '', + defaultArgs = [], + defaultEnv = {}, }: TemplateSaveDialogProps) { const { formatMessage } = useIntl(); const [name, setName] = useState(defaultName); const [category, setCategory] = useState(''); const [description, setDescription] = useState(''); - const [errors, setErrors] = useState<{ name?: string }>({}); + const [command, setCommand] = useState(defaultCommand); + const [argsInput, setArgsInput] = useState(defaultArgs.join(', ')); + const [envInput, setEnvInput] = useState( + Object.entries(defaultEnv).map(([k, v]) => `${k}=${v}`).join('\n') + ); + const [errors, setErrors] = useState<{ name?: string; command?: string }>({}); // Reset form when dialog opens useEffect(() => { @@ -200,25 +209,52 @@ function TemplateSaveDialog({ setName(defaultName || ''); setCategory(''); setDescription(''); + setCommand(defaultCommand || ''); + setArgsInput((defaultArgs || []).join(', ')); + setEnvInput( + Object.entries(defaultEnv || {}).map(([k, v]) => `${k}=${v}`).join('\n') + ); setErrors({}); } - }, [open, defaultName]); + }, [open, defaultName, defaultCommand, defaultArgs, defaultEnv]); const handleSave = () => { + const newErrors: { name?: string; command?: string } = {}; if (!name.trim()) { - setErrors({ name: formatMessage({ id: 'mcp.templates.saveDialog.validation.nameRequired' }) }); + newErrors.name = formatMessage({ id: 'mcp.templates.saveDialog.validation.nameRequired' }); + } + if (!command.trim()) { + newErrors.command = formatMessage({ id: 'mcp.dialog.validation.commandRequired' }); + } + if (Object.keys(newErrors).length > 0) { + setErrors(newErrors); return; } - onSave(name.trim(), category.trim(), description.trim()); - setName(''); - setCategory(''); - setDescription(''); - setErrors({}); + + const args = argsInput + .split(',') + .map((a) => a.trim()) + .filter((a) => a.length > 0); + + const env: Record = {}; + for (const line of envInput.split('\n')) { + const trimmed = line.trim(); + if (trimmed && trimmed.includes('=')) { + const [key, ...valParts] = trimmed.split('='); + if (key) env[key.trim()] = valParts.join('=').trim(); + } + } + + onSave(name.trim(), category.trim(), description.trim(), { + command: command.trim(), + args, + env, + }); }; return ( - + {formatMessage({ id: 'mcp.templates.saveDialog.title' })} @@ -235,7 +271,7 @@ function TemplateSaveDialog({ value={name} onChange={(e) => { setName(e.target.value); - if (errors.name) setErrors({}); + if (errors.name) setErrors((prev) => ({ ...prev, name: undefined })); }} placeholder={formatMessage({ id: 'mcp.templates.saveDialog.namePlaceholder' })} error={!!errors.name} @@ -245,6 +281,54 @@ function TemplateSaveDialog({ )} + {/* Command */} +
+ + { + setCommand(e.target.value); + if (errors.command) setErrors((prev) => ({ ...prev, command: undefined })); + }} + placeholder={formatMessage({ id: 'mcp.dialog.form.commandPlaceholder' })} + error={!!errors.command} + /> + {errors.command && ( +

{errors.command}

+ )} +
+ + {/* Args */} +
+ + setArgsInput(e.target.value)} + placeholder={formatMessage({ id: 'mcp.dialog.form.argsPlaceholder' })} + /> +

+ {formatMessage({ id: 'mcp.dialog.form.argsHint' })} +

+
+ + {/* Environment Variables */} +
+ +