mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-11 02:33:51 +08:00
- Created LICENSE.txt for JavaScript assets including NProgress and React libraries. - Added runtime JavaScript file for main functionality. - Introduced new favicon and logo SVG assets for branding. - Added comprehensive FAQ section in Chinese, covering CCW features, installation, workflows, AI model support, and troubleshooting.
1 line
54 KiB
JavaScript
1 line
54 KiB
JavaScript
"use strict";(globalThis.webpackChunkccw_docs=globalThis.webpackChunkccw_docs||[]).push([[194],{1184(e,n,s){s.d(n,{R:()=>c,x:()=>d});var l=s(3696);const i={},r=l.createContext(i);function c(e){const n=l.useContext(r);return l.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),l.createElement(r.Provider,{value:n},e.children)}},4040(e,n,s){s.d(n,{A:()=>g});var l=s(3696),i=s(4357),r=s(6357),c=s(213),d=s(6476);const h="details_B4FW",x="isBrowser_Cof9",j="collapsibleContent_VYua";var t=s(2540);function o(e){return!!e&&("SUMMARY"===e.tagName||o(e.parentElement))}function a(e,n){return!!e&&(e===n||a(e.parentElement,n))}function u({summary:e,children:n,...s}){(0,r.A)().collectAnchor(s.id);const u=(0,c.A)(),p=(0,l.useRef)(null),{collapsed:g,setCollapsed:m}=(0,d.u)({initialState:!s.open}),[w,v]=(0,l.useState)(s.open),f=l.isValidElement(e)?e:(0,t.jsx)("summary",{children:e??"Details"});return(0,t.jsxs)("details",{...s,ref:p,open:w,"data-collapsed":g,className:(0,i.A)(h,u&&x,s.className),onMouseDown:e=>{o(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const n=e.target;o(n)&&a(n,p.current)&&(e.preventDefault(),g?(m(!1),v(!0)):m(!0))},children:[f,(0,t.jsx)(d.N,{lazy:!1,collapsed:g,onCollapseTransitionEnd:e=>{m(e),v(!e)},children:(0,t.jsx)("div",{className:j,children:n})})]})}const p="details_SZgV";function g({...e}){return(0,t.jsx)(u,{...e,className:(0,i.A)("alert alert--info",p,e.className)})}},7027(e,n,s){s.r(n),s.d(n,{assets:()=>x,contentTitle:()=>h,default:()=>o,frontMatter:()=>d,metadata:()=>l,toc:()=>j});const l=JSON.parse('{"id":"faq","title":"\u5e38\u89c1\u95ee\u9898\uff08FAQ\uff09","description":"\u5173\u4e8e CCW\u3001\u5de5\u4f5c\u6d41\u3001\u547d\u4ee4\u4e0e\u6392\u9519\u7684\u5e38\u89c1\u95ee\u9898\u6c47\u603b\u3002","source":"@site/i18n/zh/docusaurus-plugin-content-docs/current/faq.mdx","sourceDirName":".","slug":"/faq","permalink":"/docs/zh/faq","draft":false,"unlisted":false,"editUrl":"https://github.com/ccw/docs/tree/main/docs/faq.mdx","tags":[],"version":"current","sidebarPosition":99,"frontMatter":{"title":"\u5e38\u89c1\u95ee\u9898\uff08FAQ\uff09","sidebar_label":"\u5e38\u89c1\u95ee\u9898","sidebar_position":99},"sidebar":"docs","previous":{"title":"Level 5: Intelligent","permalink":"/docs/zh/workflows/level-5-intelligent"}}');var i=s(2540),r=s(1184),c=s(4040);const d={title:"\u5e38\u89c1\u95ee\u9898\uff08FAQ\uff09",sidebar_label:"\u5e38\u89c1\u95ee\u9898",sidebar_position:99},h="\u5e38\u89c1\u95ee\u9898\uff08FAQ\uff09",x={},j=[{value:"\u901a\u7528\u95ee\u9898",id:"\u901a\u7528\u95ee\u9898",level:2},{value:"CCW \u662f\u4ec0\u4e48\uff1f",id:"ccw-\u662f\u4ec0\u4e48",level:3},{value:"\u7cfb\u7edf\u8981\u6c42\u662f\u4ec0\u4e48\uff1f",id:"\u7cfb\u7edf\u8981\u6c42\u662f\u4ec0\u4e48",level:3},{value:"\u5982\u4f55\u5b89\u88c5 CCW\uff1f",id:"\u5982\u4f55\u5b89\u88c5-ccw",level:3},{value:"CCW \u662f\u5426\u514d\u8d39\uff1f",id:"ccw-\u662f\u5426\u514d\u8d39",level:3},{value:"\u652f\u6301\u54ea\u4e9b\u7f16\u7a0b\u8bed\u8a00\uff1f",id:"\u652f\u6301\u54ea\u4e9b\u7f16\u7a0b\u8bed\u8a00",level:3},{value:"\u5de5\u4f5c\u6d41\u9009\u62e9",id:"\u5de5\u4f5c\u6d41\u9009\u62e9",level:2},{value:"\u5982\u4f55\u9009\u62e9\u5408\u9002\u7684\u5de5\u4f5c\u6d41\uff1f",id:"\u5982\u4f55\u9009\u62e9\u5408\u9002\u7684\u5de5\u4f5c\u6d41",level:3},{value:"Main Workflow \u4e0e Issue Workflow \u6709\u4ec0\u4e48\u533a\u522b\uff1f",id:"main-workflow-\u4e0e-issue-workflow-\u6709\u4ec0\u4e48\u533a\u522b",level:3},{value:"\u4ec0\u4e48\u662f\u201c\u6700\u5c0f\u6267\u884c\u5355\u5143\u201d\uff08Minimum Execution Units\uff09\uff1f",id:"\u4ec0\u4e48\u662f\u6700\u5c0f\u6267\u884c\u5355\u5143minimum-execution-units",level:3},{value:"\u5404\u4e2a\u5de5\u4f5c\u6d41\u7ea7\u522b\u5206\u522b\u9002\u7528\u4e8e\u4ec0\u4e48\u573a\u666f\uff1f",id:"\u5404\u4e2a\u5de5\u4f5c\u6d41\u7ea7\u522b\u5206\u522b\u9002\u7528\u4e8e\u4ec0\u4e48\u573a\u666f",level:3},{value:"\u547d\u4ee4\u4f7f\u7528",id:"\u547d\u4ee4\u4f7f\u7528",level:2},{value:"\u5de5\u4f5c\u6d41\u547d\u4ee4\u600e\u4e48\u7528\uff1f",id:"\u5de5\u4f5c\u6d41\u547d\u4ee4\u600e\u4e48\u7528",level:3},{value:"lite-execute \u4e0e execute \u6709\u4ec0\u4e48\u533a\u522b\uff1f",id:"lite-execute-\u4e0e-execute-\u6709\u4ec0\u4e48\u533a\u522b",level:3},{value:"\u5982\u4f55\u4f7f\u7528 hotfix \u6a21\u5f0f\uff1f",id:"\u5982\u4f55\u4f7f\u7528-hotfix-\u6a21\u5f0f",level:3},{value:"\u5982\u4f55\u6062\u590d\uff08resume\uff09\u4e00\u4e2a\u6682\u505c\u7684 session\uff1f",id:"\u5982\u4f55\u6062\u590dresume\u4e00\u4e2a\u6682\u505c\u7684-session",level:3},{value:"AI \u6a21\u578b",id:"ai-\u6a21\u578b",level:2},{value:"CCW \u652f\u6301\u54ea\u4e9b AI \u6a21\u578b\uff1f",id:"ccw-\u652f\u6301\u54ea\u4e9b-ai-\u6a21\u578b",level:3},{value:"\u5982\u4f55\u914d\u7f6e API Key\uff1f",id:"\u5982\u4f55\u914d\u7f6e-api-key",level:3},{value:"\u4ec0\u4e48\u662f multi-CLI \u534f\u4f5c\uff1f",id:"\u4ec0\u4e48\u662f-multi-cli-\u534f\u4f5c",level:3},{value:"\u6d4b\u8bd5",id:"\u6d4b\u8bd5",level:2},{value:"\u5982\u4f55\u4e3a\u5b58\u91cf\u4ee3\u7801\u8865\u5145\u6d4b\u8bd5\uff1f",id:"\u5982\u4f55\u4e3a\u5b58\u91cf\u4ee3\u7801\u8865\u5145\u6d4b\u8bd5",level:3},{value:"\u5982\u4f55\u4fee\u590d\u5931\u8d25\u7684\u6d4b\u8bd5\uff1f",id:"\u5982\u4f55\u4fee\u590d\u5931\u8d25\u7684\u6d4b\u8bd5",level:3},{value:"\u4ec0\u4e48\u662f TDD\uff08\u6d4b\u8bd5\u9a71\u52a8\u5f00\u53d1\uff09\uff1f",id:"\u4ec0\u4e48\u662f-tdd\u6d4b\u8bd5\u9a71\u52a8\u5f00\u53d1",level:3},{value:"\u6545\u969c\u6392\u67e5",id:"\u6545\u969c\u6392\u67e5",level:2},{value:"\u6211\u7684\u5de5\u4f5c\u6d41\u5931\u8d25\u4e86\uff0c\u8be5\u600e\u4e48\u529e\uff1f",id:"\u6211\u7684\u5de5\u4f5c\u6d41\u5931\u8d25\u4e86\u8be5\u600e\u4e48\u529e",level:3},{value:"\u5982\u4f55\u8df3\u8fc7\u4e00\u4e2a\u5931\u8d25\u7684\u4efb\u52a1\uff1f",id:"\u5982\u4f55\u8df3\u8fc7\u4e00\u4e2a\u5931\u8d25\u7684\u4efb\u52a1",level:3},{value:"\u5982\u4f55\u6e05\u7406\u65e7\u7684 sessions\uff1f",id:"\u5982\u4f55\u6e05\u7406\u65e7\u7684-sessions",level:3},{value:"\u4e3a\u4ec0\u4e48\u6211\u7684\u5de5\u4f5c\u6d41\u5f88\u6162\uff1f",id:"\u4e3a\u4ec0\u4e48\u6211\u7684\u5de5\u4f5c\u6d41\u5f88\u6162",level:3},{value:"\u5982\u4f55\u8c03\u8bd5\u5de5\u4f5c\u6d41\u95ee\u9898\uff1f",id:"\u5982\u4f55\u8c03\u8bd5\u5de5\u4f5c\u6d41\u95ee\u9898",level:3},{value:"\u96c6\u6210",id:"\u96c6\u6210",level:2},{value:"CCW \u80fd\u5426\u96c6\u6210\u5230\u73b0\u6709\u7684 CI/CD\uff1f",id:"ccw-\u80fd\u5426\u96c6\u6210\u5230\u73b0\u6709\u7684-cicd",level:3},{value:"CCW \u652f\u6301 monorepo \u5417\uff1f",id:"ccw-\u652f\u6301-monorepo-\u5417",level:3},{value:"\u5982\u4f55\u4ece\u5176\u4ed6\u5de5\u5177\u8fc1\u79fb\uff1f",id:"\u5982\u4f55\u4ece\u5176\u4ed6\u5de5\u5177\u8fc1\u79fb",level:3},{value:"\u6700\u4f73\u5b9e\u8df5",id:"\u6700\u4f73\u5b9e\u8df5",level:2},{value:"\u5de5\u4f5c\u6d41\u6700\u4f73\u5b9e\u8df5\u6709\u54ea\u4e9b\uff1f",id:"\u5de5\u4f5c\u6d41\u6700\u4f73\u5b9e\u8df5\u6709\u54ea\u4e9b",level:3},{value:"\u5982\u4f55\u6700\u5927\u5316 AI \u8f85\u52a9\u6536\u76ca\uff1f",id:"\u5982\u4f55\u6700\u5927\u5316-ai-\u8f85\u52a9\u6536\u76ca",level:3},{value:"\u76f8\u5173\u6587\u6863",id:"\u76f8\u5173\u6587\u6863",level:2}];function t(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"\u5e38\u89c1\u95ee\u9898faq",children:"\u5e38\u89c1\u95ee\u9898\uff08FAQ\uff09"})}),"\n",(0,i.jsx)(n.p,{children:"\u5173\u4e8e CCW\u3001\u5de5\u4f5c\u6d41\u3001\u547d\u4ee4\u4e0e\u6392\u9519\u7684\u5e38\u89c1\u95ee\u9898\u6c47\u603b\u3002"}),"\n",(0,i.jsx)(n.h2,{id:"\u901a\u7528\u95ee\u9898",children:"\u901a\u7528\u95ee\u9898"}),"\n",(0,i.jsx)(n.h3,{id:"ccw-\u662f\u4ec0\u4e48",children:"CCW \u662f\u4ec0\u4e48\uff1f"}),"\n",(0,i.jsx)(n.p,{children:"CCW\uff08Claude Code Workflows\uff09\u662f\u4e00\u5957\u9762\u5411\u5de5\u7a0b\u5b9e\u8df5\u7684\u5de5\u4f5c\u6d41\u81ea\u52a8\u5316\u5e73\u53f0\uff1a\u5c06 AI \u80fd\u529b\u4e0e\u7ed3\u6784\u5316\u5f00\u53d1\u6d41\u7a0b\u7ed3\u5408\uff0c\u63d0\u4f9b 40+ \u547d\u4ee4\u4e0e 15 \u4e2a\u96c6\u6210\u5de5\u4f5c\u6d41\uff0c\u5e2e\u52a9\u4f60\u66f4\u5feb\u3001\u66f4\u7a33\u5730\u5b8c\u6210\u5f00\u53d1\uff0c\u540c\u65f6\u4fdd\u6301\u8d28\u91cf\u6807\u51c6\u3002"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u6838\u5fc3\u7279\u6027\uff1a"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"AI \u9a71\u52a8\u7684\u4ee3\u7801\u5206\u6790 / \u751f\u6210 / Review"}),"\n",(0,i.jsx)(n.li,{children:"15 \u4e2a\u5de5\u4f5c\u6d41\u7ea7\u522b\uff1a\u4ece\u5feb\u901f\u6267\u884c\u5230\u667a\u80fd\u7f16\u6392"}),"\n",(0,i.jsx)(n.li,{children:"Session \u7ba1\u7406\uff1a\u5b8c\u6574\u72b6\u6001\u6301\u4e45\u5316\uff0c\u53ef\u6682\u505c/\u6062\u590d"}),"\n",(0,i.jsx)(n.li,{children:"\u591a Agent \u5e76\u884c\u534f\u4f5c\uff1a\u652f\u6301\u5e76\u884c\u4efb\u52a1\u4e0e\u4f9d\u8d56\u5206\u6790"}),"\n",(0,i.jsx)(n.li,{children:"\u5185\u7f6e\u6d4b\u8bd5\u3001\u9a8c\u8bc1\u4e0e\u4ee3\u7801\u5ba1\u67e5"}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"\u7cfb\u7edf\u8981\u6c42\u662f\u4ec0\u4e48",children:"\u7cfb\u7edf\u8981\u6c42\u662f\u4ec0\u4e48\uff1f"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u6700\u4f4e\u8981\u6c42\uff1a"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Node.js 16.x \u6216\u66f4\u9ad8"}),"\n",(0,i.jsx)(n.li,{children:"Git 2.x \u6216\u66f4\u9ad8"}),"\n",(0,i.jsx)(n.li,{children:"\u53ef\u7528\u5185\u5b58 4GB"}),"\n",(0,i.jsx)(n.li,{children:"\u78c1\u76d8\u7a7a\u95f4 500MB"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u63a8\u8350\u914d\u7f6e\uff1a"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Node.js 18.x LTS"}),"\n",(0,i.jsx)(n.li,{children:"\u53ef\u7528\u5185\u5b58 8GB"}),"\n",(0,i.jsx)(n.li,{children:"\u78c1\u76d8\u7a7a\u95f4 2GB\uff08\u7528\u4e8e artifacts \u4e0e sessions\uff09"}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"\u5982\u4f55\u5b89\u88c5-ccw",children:"\u5982\u4f55\u5b89\u88c5 CCW\uff1f"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"# npm \u5168\u5c40\u5b89\u88c5\nnpm install -g @ccw/cli\n\n# \u6216\u4f7f\u7528 npx\uff08\u65e0\u9700\u5b89\u88c5\uff09\nnpx @ccw/cli init\n\n# \u5728\u9879\u76ee\u4e2d\u521d\u59cb\u5316\nccw init\n"})}),"\n",(0,i.jsx)(n.h3,{id:"ccw-\u662f\u5426\u514d\u8d39",children:"CCW \u662f\u5426\u514d\u8d39\uff1f"}),"\n",(0,i.jsx)(n.p,{children:"\u662f\u7684\uff0cCCW \u5f00\u6e90\u4e14\u514d\u8d39\u4f7f\u7528\u3002\u4f46 CCW \u4f1a\u96c6\u6210\u7b2c\u4e09\u65b9 AI \u670d\u52a1\uff08Gemini\u3001Codex\u3001Claude\u3001Qwen \u7b49\uff09\uff0c\u8fd9\u4e9b\u670d\u52a1\u53ef\u80fd\u6709\u5404\u81ea\u7684\u8ba1\u8d39\u65b9\u5f0f\u3002\u4f60\u9700\u8981\u4e3a\u6240\u4f7f\u7528\u7684 AI \u670d\u52a1\u914d\u7f6e\u5bf9\u5e94\u7684 API Key\u3002"}),"\n",(0,i.jsx)(n.h3,{id:"\u652f\u6301\u54ea\u4e9b\u7f16\u7a0b\u8bed\u8a00",children:"\u652f\u6301\u54ea\u4e9b\u7f16\u7a0b\u8bed\u8a00\uff1f"}),"\n",(0,i.jsx)(n.p,{children:"CCW \u652f\u6301\u6240\u6709\u7f16\u7a0b\u8bed\u8a00\u3002AI \u6a21\u578b\u53ef\u4ee5\u5206\u6790\u4e0e\u751f\u6210\u4efb\u610f\u8bed\u8a00\u4ee3\u7801\uff0c\u4f8b\u5982\uff1a"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Web"}),"\uff1aJavaScript\u3001TypeScript\u3001Python\u3001PHP\u3001Ruby"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Mobile"}),"\uff1aSwift\u3001Kotlin\u3001React Native\u3001Flutter"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Systems"}),"\uff1aRust\u3001Go\u3001C\u3001C++"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Data"}),"\uff1aPython\u3001R\u3001SQL"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Enterprise"}),"\uff1aJava\u3001C#\u3001.NET"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"\u5de5\u4f5c\u6d41\u9009\u62e9",children:"\u5de5\u4f5c\u6d41\u9009\u62e9"}),"\n",(0,i.jsx)(n.h3,{id:"\u5982\u4f55\u9009\u62e9\u5408\u9002\u7684\u5de5\u4f5c\u6d41",children:"\u5982\u4f55\u9009\u62e9\u5408\u9002\u7684\u5de5\u4f5c\u6d41\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"\u51b3\u7b56\u6846\u67b6"}),(0,i.jsx)(n.p,{children:"\u53ef\u4ee5\u7528\u4e0b\u9762\u8fd9\u68f5\u201c\u5feb\u901f\u51b3\u7b56\u6811\u201d\uff1a"}),(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"\u662f\u5f00\u53d1\u540e\u671f\u7ef4\u62a4\uff08\u5408\u5e76\u540e\u4fee\u590d/\u589e\u5f3a\uff09\uff1f"})," \u2192 \u4f7f\u7528 ",(0,i.jsx)(n.a,{href:"/workflows/faq#what-is-the-difference-between-main-workflow-and-issue-workflow",children:"Issue Workflow"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"\u4e0d\u786e\u5b9a\u8be5\u7528\u54ea\u4e9b\u547d\u4ee4\uff1f"})," \u2192 \u7528 ",(0,i.jsx)(n.code,{children:"ccw-coordinator"}),"\uff08Level 5\uff09"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"\u9700\u6c42\u4e0d\u6e05\u6670/\u8981\u63a2\u7d22\u65b9\u6848\uff1f"})," \u2192 \u7528 ",(0,i.jsx)(n.code,{children:"brainstorm:auto-parallel"}),"\uff08Level 4\uff09"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"\u9700\u8981\u53ef\u6062\u590d\u7684\u6301\u4e45 session\uff1f"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\u6807\u51c6\u5f00\u53d1 \u2192 ",(0,i.jsx)(n.code,{children:"plan"})," \u2192 ",(0,i.jsx)(n.code,{children:"execute"}),"\uff08Level 3\uff09"]}),"\n",(0,i.jsxs)(n.li,{children:["TDD \u2192 ",(0,i.jsx)(n.code,{children:"tdd-plan"})," \u2192 ",(0,i.jsx)(n.code,{children:"execute"}),"\uff08Level 3\uff09"]}),"\n",(0,i.jsxs)(n.li,{children:["\u4fee\u590d\u6d4b\u8bd5 \u2192 ",(0,i.jsx)(n.code,{children:"test-fix-gen"})," \u2192 ",(0,i.jsx)(n.code,{children:"test-cycle-execute"}),"\uff08Level 3\uff09"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"\u9700\u8981\u591a\u89c6\u89d2\u5bf9\u6bd4\u5206\u6790\uff1f"})," \u2192 \u7528 ",(0,i.jsx)(n.code,{children:"multi-cli-plan"}),"\uff08Level 2\uff09"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"\u8981\u4fee Bug\uff1f"})," \u2192 \u7528 ",(0,i.jsx)(n.code,{children:"lite-fix"}),"\uff08Level 2\uff09"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"\u9700\u8981\u7b80\u5355\u89c4\u5212\uff1f"})," \u2192 \u7528 ",(0,i.jsx)(n.code,{children:"lite-plan"})," \u2192 ",(0,i.jsx)(n.code,{children:"lite-execute"}),"\uff08Level 2\uff09"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"\u53ea\u662f\u5f88\u5feb\u7684\u5c0f\u4efb\u52a1\uff1f"})," \u2192 \u7528 ",(0,i.jsx)(n.code,{children:"lite-lite-lite"}),"\uff08Level 1\uff09"]}),"\n"]})]}),"\n",(0,i.jsx)(n.h3,{id:"main-workflow-\u4e0e-issue-workflow-\u6709\u4ec0\u4e48\u533a\u522b",children:"Main Workflow \u4e0e Issue Workflow \u6709\u4ec0\u4e48\u533a\u522b\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"\u5bf9\u6bd4\u8bf4\u660e"}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Main Workflow"})," \u7528\u4e8e\u4e3b\u5f00\u53d1\u6d41\u7a0b\uff1a"]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u529f\u80fd\u5f00\u53d1\uff08Levels 1-5\uff09"}),"\n",(0,i.jsx)(n.li,{children:"\u5904\u4e8e\u6d3b\u8dc3\u5f00\u53d1\u9636\u6bb5"}),"\n",(0,i.jsx)(n.li,{children:"\u57fa\u4e8e\u4f9d\u8d56\u7684\u5e76\u884c"}),"\n",(0,i.jsx)(n.li,{children:"\u5728\u5f53\u524d\u5206\u652f\u5de5\u4f5c"}),"\n"]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Issue Workflow"})," \u7528\u4e8e\u5f00\u53d1\u540e\u671f\u7ef4\u62a4\uff1a"]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u5408\u5e76\u540e\u7684 bug \u4fee\u590d\u4e0e\u589e\u5f3a"}),"\n",(0,i.jsx)(n.li,{children:"\u4e3b\u5de5\u4f5c\u6d41\u5b8c\u6210\u4e4b\u540e"}),"\n",(0,i.jsx)(n.li,{children:"\u53ef\u9009 worktree \u9694\u79bb"}),"\n",(0,i.jsx)(n.li,{children:"\u4fdd\u6301\u4e3b\u5206\u652f\u7a33\u5b9a"}),"\n"]}),(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"\u7ef4\u5ea6"}),(0,i.jsx)(n.th,{children:"Main Workflow"}),(0,i.jsx)(n.th,{children:"Issue Workflow"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"\u76ee\u7684"})}),(0,i.jsx)(n.td,{children:"\u529f\u80fd\u5f00\u53d1"}),(0,i.jsx)(n.td,{children:"\u5f00\u53d1\u540e\u4fee\u590d"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"\u65f6\u673a"})}),(0,i.jsx)(n.td,{children:"\u5f00\u53d1\u9636\u6bb5"}),(0,i.jsx)(n.td,{children:"\u4e3b\u5de5\u4f5c\u6d41\u5b8c\u6210\u4e4b\u540e"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"\u8303\u56f4"})}),(0,i.jsx)(n.td,{children:"\u5b8c\u6574\u529f\u80fd\u5b9e\u73b0"}),(0,i.jsx)(n.td,{children:"\u5b9a\u70b9\u4fee\u590d/\u589e\u5f3a"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"\u5e76\u884c\u7b56\u7565"})}),(0,i.jsx)(n.td,{children:"\u4f9d\u8d56\u5206\u6790"}),(0,i.jsx)(n.td,{children:"worktree \u9694\u79bb\uff08\u53ef\u9009\uff09"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"\u5206\u652f\u6a21\u578b"})}),(0,i.jsx)(n.td,{children:"\u5f53\u524d\u5206\u652f\u5f00\u53d1"}),(0,i.jsx)(n.td,{children:"\u53ef\u4f7f\u7528\u9694\u79bb worktree"})]})]})]})]}),"\n",(0,i.jsx)(n.h3,{id:"\u4ec0\u4e48\u662f\u6700\u5c0f\u6267\u884c\u5355\u5143minimum-execution-units",children:"\u4ec0\u4e48\u662f\u201c\u6700\u5c0f\u6267\u884c\u5355\u5143\u201d\uff08Minimum Execution Units\uff09\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"\u89e3\u91ca"}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"\u6700\u5c0f\u6267\u884c\u5355\u5143"})," \u6307\u7684\u662f\u5fc5\u987b\u4f5c\u4e3a\u4e00\u4e2a\u539f\u5b50\u7ec4\u4e00\u8d77\u6267\u884c\u7684\u4e00\u7ec4\u547d\u4ee4\uff0c\u7528\u6765\u8fbe\u6210\u201c\u6709\u610f\u4e49\u7684\u91cc\u7a0b\u7891\u201d\u3002\u5982\u679c\u628a\u8fd9\u4e9b\u547d\u4ee4\u62c6\u5f00\u6267\u884c\uff0c\u903b\u8f91\u94fe\u6761\u4f1a\u88ab\u6253\u65ad\uff0c\u5bb9\u6613\u4ea7\u751f\u4e0d\u5b8c\u6574\u72b6\u6001\u3002"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u5e38\u89c1\u6700\u5c0f\u6267\u884c\u5355\u5143\uff1a"})}),(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"\u5355\u5143"}),(0,i.jsx)(n.th,{children:"\u547d\u4ee4"}),(0,i.jsx)(n.th,{children:"\u76ee\u7684"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"\u5feb\u901f\u5b9e\u73b0"}),(0,i.jsxs)(n.td,{children:[(0,i.jsx)(n.code,{children:"lite-plan"})," \u2192 ",(0,i.jsx)(n.code,{children:"lite-execute"})]}),(0,i.jsx)(n.td,{children:"\u8f7b\u91cf\u89c4\u5212 + \u6267\u884c"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"\u591a CLI \u89c4\u5212"}),(0,i.jsxs)(n.td,{children:[(0,i.jsx)(n.code,{children:"multi-cli-plan"})," \u2192 ",(0,i.jsx)(n.code,{children:"lite-execute"})]}),(0,i.jsx)(n.td,{children:"\u591a\u89c6\u89d2\u5206\u6790 + \u6267\u884c"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"Bug \u4fee\u590d"}),(0,i.jsxs)(n.td,{children:[(0,i.jsx)(n.code,{children:"lite-fix"})," \u2192 ",(0,i.jsx)(n.code,{children:"lite-execute"})]}),(0,i.jsx)(n.td,{children:"\u8bca\u65ad + \u4fee\u590d\u6267\u884c"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"\u53ef\u9a8c\u8bc1\u89c4\u5212"}),(0,i.jsxs)(n.td,{children:[(0,i.jsx)(n.code,{children:"plan"})," \u2192 ",(0,i.jsx)(n.code,{children:"plan-verify"})," \u2192 ",(0,i.jsx)(n.code,{children:"execute"})]}),(0,i.jsx)(n.td,{children:"\u89c4\u5212 + \u9a8c\u8bc1 + \u6267\u884c"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"TDD \u89c4\u5212"}),(0,i.jsxs)(n.td,{children:[(0,i.jsx)(n.code,{children:"tdd-plan"})," \u2192 ",(0,i.jsx)(n.code,{children:"execute"})]}),(0,i.jsx)(n.td,{children:"\u6d4b\u8bd5\u9a71\u52a8\u7684\u89c4\u5212\u4e0e\u6267\u884c"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"\u6d4b\u8bd5\u4fee\u590d\u5faa\u73af"}),(0,i.jsxs)(n.td,{children:[(0,i.jsx)(n.code,{children:"test-fix-gen"})," \u2192 ",(0,i.jsx)(n.code,{children:"test-cycle-execute"})]}),(0,i.jsx)(n.td,{children:"\u751f\u6210\u6d4b\u8bd5\u4efb\u52a1 + \u6267\u884c\u4fee\u590d\u5faa\u73af"})]})]})]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"\u793a\u4f8b"}),"\uff1a",(0,i.jsx)(n.code,{children:"lite-plan \u2192 lite-execute"})," \u5fc5\u987b\u914d\u5957\u5b8c\u6210\u3002\u5982\u679c\u53ea\u505a\u5230 ",(0,i.jsx)(n.code,{children:"lite-plan"})," \u5c31\u505c\u4e0b\uff0c\u4f1a\u5f97\u5230\u4e00\u4e2a\u8ba1\u5212\u4f46\u6ca1\u6709\u5b9e\u73b0\u3002"]})]}),"\n",(0,i.jsx)(n.h3,{id:"\u5404\u4e2a\u5de5\u4f5c\u6d41\u7ea7\u522b\u5206\u522b\u9002\u7528\u4e8e\u4ec0\u4e48\u573a\u666f",children:"\u5404\u4e2a\u5de5\u4f5c\u6d41\u7ea7\u522b\u5206\u522b\u9002\u7528\u4e8e\u4ec0\u4e48\u573a\u666f\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"\u7ea7\u522b\u9009\u62e9\u6307\u5357"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Level 1\uff08lite-lite-lite\uff09\uff1a"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u5feb\u901f\u4fee\u8865\uff08\u62fc\u5199\u3001\u8f7b\u5fae\u8c03\u6574\uff09"}),"\n",(0,i.jsx)(n.li,{children:"\u7b80\u5355\u529f\u80fd\uff08\u5355\u51fd\u6570\u3001\u5c0f\u5de5\u5177\uff09"}),"\n",(0,i.jsx)(n.li,{children:"\u914d\u7f6e\u4fee\u6539\uff08\u73af\u5883\u53d8\u91cf\u3001\u8d85\u65f6\uff09"}),"\n",(0,i.jsx)(n.li,{children:"\u6587\u6863\u66f4\u65b0"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Level 2\uff08lite-plan\u3001lite-fix\u3001multi-cli-plan\uff09\uff1a"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u5355\u6a21\u5757\u529f\u80fd"}),"\n",(0,i.jsx)(n.li,{children:"Bug \u8bca\u65ad\u4e0e\u4fee\u590d"}),"\n",(0,i.jsx)(n.li,{children:"\u6280\u672f\u9009\u578b\u51b3\u7b56"}),"\n",(0,i.jsx)(n.li,{children:"\u65b9\u6848\u5bf9\u6bd4"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Level 3\uff08plan\u3001tdd-plan\u3001test-fix-gen\uff09\uff1a"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u591a\u6a21\u5757\u53d8\u66f4"}),"\n",(0,i.jsx)(n.li,{children:"\u91cd\u6784"}),"\n",(0,i.jsx)(n.li,{children:"TDD"}),"\n",(0,i.jsx)(n.li,{children:"\u6d4b\u8bd5\u5931\u8d25\u4fee\u590d"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["Level 4\uff08brainstorm",":auto-parallel","\uff09\uff1a"]})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u65b0\u529f\u80fd\u8bbe\u8ba1"}),"\n",(0,i.jsx)(n.li,{children:"\u7cfb\u7edf\u67b6\u6784\u91cd\u6784"}),"\n",(0,i.jsx)(n.li,{children:"\u63a2\u7d22\u6027\u9700\u6c42"}),"\n",(0,i.jsx)(n.li,{children:"\u591a\u7ef4\u6743\u8861"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Level 5\uff08ccw-coordinator\uff09\uff1a"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u590d\u6742\u591a\u6b65\u5de5\u4f5c\u6d41"}),"\n",(0,i.jsx)(n.li,{children:"\u4e0d\u786e\u5b9a\u4f7f\u7528\u54ea\u4e9b\u547d\u4ee4"}),"\n",(0,i.jsx)(n.li,{children:"\u7aef\u5230\u7aef\u81ea\u52a8\u5316"}),"\n",(0,i.jsx)(n.li,{children:"\u56e2\u961f\u534f\u4f5c"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Issue Workflow\uff1a"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u5f00\u53d1\u540e\u671f\u7684 Issue \u4fee\u590d"}),"\n",(0,i.jsx)(n.li,{children:"\u7ef4\u62a4\u4e3b\u5206\u652f\u7a33\u5b9a\u6027"}),"\n"]})]}),"\n",(0,i.jsx)(n.h2,{id:"\u547d\u4ee4\u4f7f\u7528",children:"\u547d\u4ee4\u4f7f\u7528"}),"\n",(0,i.jsx)(n.h3,{id:"\u5de5\u4f5c\u6d41\u547d\u4ee4\u600e\u4e48\u7528",children:"\u5de5\u4f5c\u6d41\u547d\u4ee4\u600e\u4e48\u7528\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"\u5e38\u89c1\u547d\u4ee4\u6a21\u5f0f"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u57fa\u672c\u683c\u5f0f\uff1a"})}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"ccw <command> <arguments>\n"})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u793a\u4f8b\uff1a"})}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:'# Level 1 - \u76f4\u63a5\u6267\u884c\nccw lite-lite-lite "Fix login button"\n\n# Level 2 - \u8f7b\u91cf\u89c4\u5212\nccw lite-plan "Add user profile page"\nccw lite-execute --in-memory\n\n# Level 3 - \u5b8c\u6574\u5de5\u4f5c\u6d41\nccw workflow:plan "Implement OAuth2"\nccw workflow:execute --session WFS-oauth-auth\n\n# Level 4 - \u5934\u8111\u98ce\u66b4\nccw brainstorm:auto-parallel "Design notification system"\n\n# Level 5 - \u667a\u80fd\u7f16\u6392\nccw ccw-coordinator "Refactor API layer"\n'})})]}),"\n",(0,i.jsx)(n.h3,{id:"lite-execute-\u4e0e-execute-\u6709\u4ec0\u4e48\u533a\u522b",children:"lite-execute \u4e0e execute \u6709\u4ec0\u4e48\u533a\u522b\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"\u5bf9\u6bd4"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"lite-execute\uff08Level 2\uff09\uff1a"})}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"ccw lite-execute --in-memory\n"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u9762\u5411 Level 2 \u5de5\u4f5c\u6d41"}),"\n",(0,i.jsx)(n.li,{children:"\u5185\u5b58\u89c4\u5212\uff08\u4e0d\u751f\u6210 session \u6587\u4ef6\uff09"}),"\n",(0,i.jsx)(n.li,{children:"\u53ef\u5bf9\u72ec\u7acb\u4efb\u52a1\u5e76\u884c\u6267\u884c"}),"\n",(0,i.jsx)(n.li,{children:"\u53ef\u9009\u4ee3\u7801\u5ba1\u67e5"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"execute\uff08Level 3\uff09\uff1a"})}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"ccw workflow:execute --session WFS-{session-id}\n"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u9762\u5411 Level 3 \u5de5\u4f5c\u6d41"}),"\n",(0,i.jsx)(n.li,{children:"\u57fa\u4e8e session \u7684\u6267\u884c"}),"\n",(0,i.jsx)(n.li,{children:"\u4f9d\u8d56\u5206\u6790"}),"\n",(0,i.jsx)(n.li,{children:"\u5b8c\u6574\u72b6\u6001\u8ddf\u8e2a\uff0c\u53ef\u6682\u505c/\u6062\u590d"}),"\n",(0,i.jsx)(n.li,{children:"\u4efb\u52a1\u5b8c\u6210\u603b\u7ed3"}),"\n"]})]}),"\n",(0,i.jsx)(n.h3,{id:"\u5982\u4f55\u4f7f\u7528-hotfix-\u6a21\u5f0f",children:"\u5982\u4f55\u4f7f\u7528 hotfix \u6a21\u5f0f\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"Hotfix \u7528\u6cd5"}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Hotfix \u6a21\u5f0f"})," \u7528\u4e8e\u751f\u4ea7\u73af\u5883\u7d27\u6025\u4fee\u590d\uff1a"]}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:'ccw lite-fix --hotfix "Production database connection failing"\n'})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u5b83\u4f1a\u505a\u4ec0\u4e48\uff1a"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u8df3\u8fc7\u5927\u591a\u6570\u8bca\u65ad\u9636\u6bb5"}),"\n",(0,i.jsx)(n.li,{children:"\u6700\u5c0f\u5316\u89c4\u5212\uff08\u66f4\u504f\u5411\u76f4\u63a5\u6267\u884c\uff09"}),"\n",(0,i.jsx)(n.li,{children:"\u81ea\u52a8\u751f\u6210\u540e\u7eed\u4efb\u52a1\uff0c\u7528\u4e8e\u5b8c\u6574\u4fee\u590d\u4e0e\u590d\u76d8\uff08post-mortem\uff09"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u4f55\u65f6\u4f7f\u7528\uff1a"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u751f\u4ea7\u4e8b\u6545"}),"\n",(0,i.jsx)(n.li,{children:"\u9700\u8981\u7acb\u523b\u4fee\u590d\u7684\u4e25\u91cd bug"}),"\n",(0,i.jsx)(n.li,{children:"\u5b95\u673a\u4e0e\u670d\u52a1\u4e2d\u65ad"}),"\n"]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"\u4fee\u590d\u4e4b\u540e\uff1a"}),"\nCCW \u4f1a\u81ea\u52a8\u751f\u6210\u540e\u7eed\u4efb\u52a1\uff0c\u5305\u62ec\uff1a"]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u5b8c\u6574\u6839\u56e0\u5206\u6790"}),"\n",(0,i.jsx)(n.li,{children:"\u5168\u9762\u4fee\u590d"}),"\n",(0,i.jsx)(n.li,{children:"\u590d\u76d8\u6587\u6863"}),"\n"]})]}),"\n",(0,i.jsx)(n.h3,{id:"\u5982\u4f55\u6062\u590dresume\u4e00\u4e2a\u6682\u505c\u7684-session",children:"\u5982\u4f55\u6062\u590d\uff08resume\uff09\u4e00\u4e2a\u6682\u505c\u7684 session\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"Session \u6062\u590d"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"# \u6062\u590d\u6700\u8fd1\u7684 session\nccw workflow:session:resume\n\n# \u6062\u590d\u6307\u5b9a session\nccw workflow:session:resume WFS-user-auth-v2\n\n# \u5217\u51fa\u5168\u90e8 session\nccw workflow:session:list\n"})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Session \u72b6\u6001\uff1a"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"active"}),"\uff1a\u6b63\u5728\u8fd0\u884c"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"paused"}),"\uff1a\u6682\u505c\uff0c\u53ef\u6062\u590d"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"completed"}),"\uff1a\u5df2\u5b8c\u6210\u5e76\u5f52\u6863"]}),"\n"]})]}),"\n",(0,i.jsx)(n.h2,{id:"ai-\u6a21\u578b",children:"AI \u6a21\u578b"}),"\n",(0,i.jsx)(n.h3,{id:"ccw-\u652f\u6301\u54ea\u4e9b-ai-\u6a21\u578b",children:"CCW \u652f\u6301\u54ea\u4e9b AI \u6a21\u578b\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"\u652f\u6301\u7684\u6a21\u578b"}),(0,i.jsx)(n.p,{children:"CCW \u901a\u8fc7 CLI \u7aef\u70b9\u652f\u6301\u591a\u4e2a\u6a21\u578b\uff1a"}),(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"\u6a21\u578b"}),(0,i.jsx)(n.th,{children:"\u80fd\u529b"}),(0,i.jsx)(n.th,{children:"\u6700\u9002\u5408"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"Gemini"})}),(0,i.jsx)(n.td,{children:"Analysis + Write"}),(0,i.jsx)(n.td,{children:"Code review\u3001\u8c03\u8bd5\u3001\u91cd\u6784"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"Codex"})}),(0,i.jsx)(n.td,{children:"Analysis + Write + Review"}),(0,i.jsx)(n.td,{children:"Git-aware review\u3001\u5b9e\u73b0"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"Claude"})}),(0,i.jsx)(n.td,{children:"Analysis + Write"}),(0,i.jsx)(n.td,{children:"\u590d\u6742\u63a8\u7406\u3001\u6587\u6863"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"Qwen"})}),(0,i.jsx)(n.td,{children:"Analysis + Write"}),(0,i.jsx)(n.td,{children:"\u4ee3\u7801\u751f\u6210\u3001\u6a21\u5f0f\u5339\u914d"})]})]})]}),(0,i.jsxs)(n.p,{children:["\u53ef\u5728 ",(0,i.jsx)(n.code,{children:"~/.claude/cli-tools.json"})," \u4e2d\u914d\u7f6e\u6a21\u578b\u7aef\u70b9\u3002"]})]}),"\n",(0,i.jsx)(n.h3,{id:"\u5982\u4f55\u914d\u7f6e-api-key",children:"\u5982\u4f55\u914d\u7f6e API Key\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"API Key \u914d\u7f6e"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u4f7f\u7528\u73af\u5883\u53d8\u91cf\uff1a"})}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:'# Gemini\nexport GEMINI_API_KEY="your-key-here"\n\n# OpenAI (Codex)\nexport OPENAI_API_KEY="your-key-here"\n\n# Anthropic (Claude)\nexport ANTHROPIC_API_KEY="your-key-here"\n\n# Qwen\nexport DASHSCOPE_API_KEY="your-key-here"\n'})}),(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["\u6216\u5728 ",(0,i.jsx)(n.code,{children:".env"})," \u6587\u4ef6\u4e2d\u914d\u7f6e\uff1a"]})}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-env",children:"GEMINI_API_KEY=your-key-here\nOPENAI_API_KEY=your-key-here\nANTHROPIC_API_KEY=your-key-here\nDASHSCOPE_API_KEY=your-key-here\n"})})]}),"\n",(0,i.jsx)(n.h3,{id:"\u4ec0\u4e48\u662f-multi-cli-\u534f\u4f5c",children:"\u4ec0\u4e48\u662f multi-CLI \u534f\u4f5c\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"multi-CLI \u8bf4\u660e"}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"multi-CLI \u534f\u4f5c"})," \u4f1a\u8ba9\u591a\u4e2a AI \u6a21\u578b\u4ece\u4e0d\u540c\u89c6\u89d2\u5e76\u884c\u5206\u6790\u540c\u4e00\u4e2a\u95ee\u9898\uff1a"]}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:'ccw multi-cli-plan "Compare Redis vs RabbitMQ for message queuing"\n'})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u5de5\u4f5c\u65b9\u5f0f\uff1a"})}),(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"\u591a\u4e2a\u6a21\u578b\u72ec\u7acb\u5206\u6790"}),"\n",(0,i.jsx)(n.li,{children:"\u5404\u81ea\u7ed9\u51fa\u6d1e\u5bdf\u4e0e\u5efa\u8bae"}),"\n",(0,i.jsx)(n.li,{children:"\u6c47\u603b\u4e3a\u66f4\u5b8c\u6574\u7684\u5206\u6790\u7ed3\u8bba"}),"\n",(0,i.jsx)(n.li,{children:"\u5728\u51b3\u7b56\u524d\u83b7\u5f97\u66f4\u591a\u89c6\u89d2"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u9002\u7528\u573a\u666f\uff1a"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u6280\u672f\u9009\u578b"}),"\n",(0,i.jsx)(n.li,{children:"\u67b6\u6784\u51b3\u7b56"}),"\n",(0,i.jsx)(n.li,{children:"\u65b9\u6848\u5bf9\u6bd4"}),"\n",(0,i.jsx)(n.li,{children:"\u6743\u8861\u5206\u6790"}),"\n"]})]}),"\n",(0,i.jsx)(n.h2,{id:"\u6d4b\u8bd5",children:"\u6d4b\u8bd5"}),"\n",(0,i.jsx)(n.h3,{id:"\u5982\u4f55\u4e3a\u5b58\u91cf\u4ee3\u7801\u8865\u5145\u6d4b\u8bd5",children:"\u5982\u4f55\u4e3a\u5b58\u91cf\u4ee3\u7801\u8865\u5145\u6d4b\u8bd5\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"\u751f\u6210\u6d4b\u8bd5"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Session \u6a21\u5f0f\uff08\u57fa\u4e8e\u5df2\u6709 session\uff09\uff1a"})}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"ccw test-fix-gen WFS-user-auth-v2\n"})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Prompt \u6a21\u5f0f\uff08\u76f4\u63a5\u63cf\u8ff0\u9700\u6c42\uff09\uff1a"})}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:'ccw test-fix-gen "Add unit tests for the auth API"\n'})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"CCW \u4f1a\uff1a"})}),(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"\u5206\u6790\u4ee3\u7801\u7ed3\u6784"}),"\n",(0,i.jsx)(n.li,{children:"\u751f\u6210\u5408\u9002\u7684\u6d4b\u8bd5\u7528\u4f8b"}),"\n",(0,i.jsx)(n.li,{children:"\u6309\u9879\u76ee\u6a21\u5f0f\u521b\u5efa\u6d4b\u8bd5\u6587\u4ef6"}),"\n",(0,i.jsx)(n.li,{children:"\u7f16\u5199\u65ad\u8a00\u5e76\u5b9e\u73b0\u6d4b\u8bd5"}),"\n"]})]}),"\n",(0,i.jsx)(n.h3,{id:"\u5982\u4f55\u4fee\u590d\u5931\u8d25\u7684\u6d4b\u8bd5",children:"\u5982\u4f55\u4fee\u590d\u5931\u8d25\u7684\u6d4b\u8bd5\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"\u6d4b\u8bd5\u4fee\u590d\u6d41\u7a0b"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:'# \u751f\u6210\u6d4b\u8bd5\u4fee\u590d\u4efb\u52a1\nccw test-fix-gen "Tests failing for user registration"\n\n# \u6267\u884c test-fix \u5faa\u73af\nccw test-cycle-execute\n'})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u6d41\u7a0b\uff1a"})}),(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"\u5206\u6790\u6d4b\u8bd5\u5931\u8d25\u539f\u56e0"}),"\n",(0,i.jsx)(n.li,{children:"\u5b9a\u4f4d\u6839\u56e0"}),"\n",(0,i.jsx)(n.li,{children:"\u8fed\u4ee3\u4fee\u590d"}),"\n",(0,i.jsx)(n.li,{children:"\u9a8c\u8bc1\u901a\u8fc7\u7387 >= 95%"}),"\n",(0,i.jsx)(n.li,{children:"\u901a\u8fc7\u5219\u505c\u6b62\uff0c\u5426\u5219\u5728\u8fbe\u5230\u6700\u5927\u8fed\u4ee3\u6b21\u6570\u540e\u505c\u6b62"}),"\n"]})]}),"\n",(0,i.jsx)(n.h3,{id:"\u4ec0\u4e48\u662f-tdd\u6d4b\u8bd5\u9a71\u52a8\u5f00\u53d1",children:"\u4ec0\u4e48\u662f TDD\uff08\u6d4b\u8bd5\u9a71\u52a8\u5f00\u53d1\uff09\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"TDD \u8bf4\u660e"}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"TDD"})," \u9075\u5faa\u201cRed-Green-Refactor\u201d\u5faa\u73af\uff1a"]}),(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Red"}),"\uff1a\u5148\u5199\u4e00\u4e2a\u5931\u8d25\u7684\u6d4b\u8bd5"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Green"}),"\uff1a\u5199\u6700\u5c11\u7684\u4ee3\u7801\u8ba9\u6d4b\u8bd5\u901a\u8fc7"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Refactor"}),"\uff1a\u5728\u4fdd\u6301\u6d4b\u8bd5\u901a\u8fc7\u7684\u524d\u63d0\u4e0b\u6539\u8fdb\u4ee3\u7801"]}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u94c1\u5f8b\uff1a"})}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST\n"})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u4e3a\u4ec0\u4e48\u8981\u5148\u5199\u6d4b\u8bd5\uff1f"})}),(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"\u7ef4\u5ea6"}),(0,i.jsx)(n.th,{children:"Test-First"}),(0,i.jsx)(n.th,{children:"Test-After"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"\u8bc1\u636e"})}),(0,i.jsx)(n.td,{children:"\u5148\u5931\u8d25\u518d\u5b9e\u73b0\uff08\u80fd\u8bc1\u660e\u5b9e\u73b0\u6709\u6548\uff09"}),(0,i.jsx)(n.td,{children:"\u7acb\u5373\u901a\u8fc7\uff08\u8bc1\u660e\u4e0d\u4e86\u4ec0\u4e48\uff09"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"\u53d1\u73b0"})}),(0,i.jsx)(n.td,{children:"\u7f16\u7801\u524d\u53d1\u73b0\u8fb9\u754c\u6761\u4ef6"}),(0,i.jsx)(n.td,{children:"\u7f16\u7801\u540e\u624d\u53d1\u73b0\u8fb9\u754c\u6761\u4ef6"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.strong,{children:"\u9a8c\u8bc1"})}),(0,i.jsx)(n.td,{children:"\u9a8c\u8bc1\u9700\u6c42"}),(0,i.jsx)(n.td,{children:"\u9a8c\u8bc1\u5b9e\u73b0"})]})]})]})]}),"\n",(0,i.jsx)(n.h2,{id:"\u6545\u969c\u6392\u67e5",children:"\u6545\u969c\u6392\u67e5"}),"\n",(0,i.jsx)(n.h3,{id:"\u6211\u7684\u5de5\u4f5c\u6d41\u5931\u8d25\u4e86\u8be5\u600e\u4e48\u529e",children:"\u6211\u7684\u5de5\u4f5c\u6d41\u5931\u8d25\u4e86\uff0c\u8be5\u600e\u4e48\u529e\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"\u6392\u67e5\u6b65\u9aa4"}),(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"\u67e5\u770b\u62a5\u9519\u4fe1\u606f"})," - \u8bc6\u522b\u6839\u56e0\u7ebf\u7d22"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"\u68c0\u67e5 session \u72b6\u6001"})," - \u67e5\u770b ",(0,i.jsx)(n.code,{children:".workflow/.ccw-coordinator/{session}/state.json"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"\u6062\u590d session"})," - \u4f7f\u7528 ",(0,i.jsx)(n.code,{children:"ccw workflow:session:resume"})," \u7ee7\u7eed"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"\u8c03\u6574\u540e\u91cd\u8bd5"})," - \u6839\u636e\u9519\u8bef\u8c03\u6574\u65b9\u6848"]}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u5e38\u89c1\u4fee\u590d\uff1a"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"API key \u9519\u8bef"}),"\uff1a\u786e\u8ba4\u73af\u5883\u53d8\u91cf\u5df2\u8bbe\u7f6e"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Module not found"}),"\uff1a\u8fd0\u884c ",(0,i.jsx)(n.code,{children:"npm install"})," \u6216 ",(0,i.jsx)(n.code,{children:"pip install"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Git \u9519\u8bef"}),"\uff1a\u786e\u4fdd git \u72b6\u6001\u5e72\u51c0\uff08",(0,i.jsx)(n.code,{children:"git status"}),"\uff09"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"\u8d85\u65f6\u9519\u8bef"}),"\uff1a\u5728\u4efb\u52a1 JSON \u4e2d\u589e\u52a0\u8d85\u65f6\u65f6\u95f4"]}),"\n"]})]}),"\n",(0,i.jsx)(n.h3,{id:"\u5982\u4f55\u8df3\u8fc7\u4e00\u4e2a\u5931\u8d25\u7684\u4efb\u52a1",children:"\u5982\u4f55\u8df3\u8fc7\u4e00\u4e2a\u5931\u8d25\u7684\u4efb\u52a1\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"\u8df3\u8fc7\u4efb\u52a1"}),(0,i.jsxs)(n.p,{children:["\u7f16\u8f91\u4efb\u52a1 JSON\uff0c\u628a status \u8bbe\u7f6e\u4e3a ",(0,i.jsx)(n.code,{children:'"completed"'}),"\uff1a"]}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"jq '.status = \"completed\"' .workflow/active/WFS-{session}/.task/IMPL-001.json\n"})}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"\u8c28\u614e\u4f7f\u7528"}),"\uff1a\u8df3\u8fc7\u4efb\u52a1\u53ef\u80fd\u5bfc\u81f4\u5de5\u4f5c\u6d41\u5904\u4e8e\u4e0d\u5b8c\u6574\u72b6\u6001\u3002"]})]}),"\n",(0,i.jsx)(n.h3,{id:"\u5982\u4f55\u6e05\u7406\u65e7\u7684-sessions",children:"\u5982\u4f55\u6e05\u7406\u65e7\u7684 sessions\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"\u6e05\u7406\u547d\u4ee4"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"# \u5217\u51fa sessions\nccw workflow:session:list\n\n# \u5220\u9664\u6307\u5b9a session\nrm -rf .workflow/active/WFS-{session-id}\n\n# \u6e05\u7406\u6240\u6709\u5df2\u5b8c\u6210 sessions\nccw workflow:clean\n"})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u81ea\u52a8\u6e05\u7406\uff1a"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\u5df2\u5b8c\u6210 sessions \u4f1a\u5f52\u6863\u5230 ",(0,i.jsx)(n.code,{children:".workflow/completed/"})]}),"\n",(0,i.jsx)(n.li,{children:"\u65e7 sessions\uff08> 30 \u5929\uff09\u901a\u5e38\u53ef\u5b89\u5168\u5220\u9664"}),"\n"]})]}),"\n",(0,i.jsx)(n.h3,{id:"\u4e3a\u4ec0\u4e48\u6211\u7684\u5de5\u4f5c\u6d41\u5f88\u6162",children:"\u4e3a\u4ec0\u4e48\u6211\u7684\u5de5\u4f5c\u6d41\u5f88\u6162\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"\u6027\u80fd\u5efa\u8bae"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u53ef\u80fd\u539f\u56e0\uff1a"})}),(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"\u4ee3\u7801\u5e93\u5f88\u5927"}),"\uff1aCCW \u4f1a\u5206\u6790\u6574\u4e2a\u9879\u76ee"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"\u5efa\u8bae"}),"\uff1a\u4f7f\u7528 ",(0,i.jsx)(n.code,{children:"--focus-paths"})," \u9650\u5236\u5206\u6790\u8303\u56f4"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"\u4f9d\u8d56\u5f88\u591a"}),"\uff1aAI \u54cd\u5e94\u6162"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"\u5efa\u8bae"}),"\uff1a\u7528\u66f4\u5feb\u7684\u6a21\u578b\uff08\u5982 Gemini Flash\uff09\u5148\u505a\u521d\u6b65\u5206\u6790"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"\u4efb\u52a1\u4e32\u884c"}),"\uff1a\u5728\u7b49\u4f9d\u8d56\u4efb\u52a1\u5b8c\u6210"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"\u5efa\u8bae"}),"\uff1a\u5728 ",(0,i.jsx)(n.code,{children:"plan-verify"})," \u4e2d\u68c0\u67e5\u4f9d\u8d56\u5173\u7cfb"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"\u7f51\u7edc\u95ee\u9898"}),"\uff1a\u8bbf\u95ee AI \u670d\u52a1\u7684 API \u6162"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"\u5efa\u8bae"}),"\uff1a\u68c0\u67e5\u7f51\u7edc\u4e0e\u670d\u52a1\u72b6\u6001"]}),"\n"]}),"\n"]}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u4f18\u5316\u793a\u4f8b\uff1a"})}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:'# \u9650\u5236\u5206\u6790\u8303\u56f4\nccw plan "Add login" --focus-paths src/auth\n\n# \u5148\u7528\u66f4\u5feb\u7684\u6a21\u578b\nccw cli -p "Quick analysis" --model gemini-2.0-flash --mode analysis\n\n# \u5c3d\u91cf\u5e76\u884c\nccw workflow:execute --parallel 4\n'})})]}),"\n",(0,i.jsx)(n.h3,{id:"\u5982\u4f55\u8c03\u8bd5\u5de5\u4f5c\u6d41\u95ee\u9898",children:"\u5982\u4f55\u8c03\u8bd5\u5de5\u4f5c\u6d41\u95ee\u9898\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"\u8c03\u8bd5\u5de5\u4f5c\u6d41"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u5f00\u542f debug \u65e5\u5fd7\uff1a"})}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:'DEBUG=ccw:* ccw workflow:plan "My feature"\n'})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u67e5\u770b session \u65e5\u5fd7\uff1a"})}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"# \u67e5\u770b session \u72b6\u6001\ncat .workflow/active/WFS-{session}/workflow-session.json\n\n# \u67e5\u770b\u4efb\u52a1\u8fdb\u5ea6\ncat .workflow/active/WFS-{session}/TODO_LIST.md\n"})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u4f7f\u7528 debug \u5de5\u4f5c\u6d41\uff1a"})}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:'ccw workflow:debug-with-file "Debug memory leak in connection handler"\n'})}),(0,i.jsx)(n.p,{children:"\u8be5\u5de5\u4f5c\u6d41\u4f1a\u4ee5\u201c\u5047\u8bbe\u9a71\u52a8\u201d\u7684\u65b9\u5f0f\u8c03\u8bd5\uff0c\u5e76\u628a\u63a2\u7d22\u8fc7\u7a0b\u6587\u6863\u5316\u3002"})]}),"\n",(0,i.jsx)(n.h2,{id:"\u96c6\u6210",children:"\u96c6\u6210"}),"\n",(0,i.jsx)(n.h3,{id:"ccw-\u80fd\u5426\u96c6\u6210\u5230\u73b0\u6709\u7684-cicd",children:"CCW \u80fd\u5426\u96c6\u6210\u5230\u73b0\u6709\u7684 CI/CD\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"CI/CD \u96c6\u6210"}),(0,i.jsx)(n.p,{children:"\u53ef\u4ee5\u3002CCW \u53ef\u7528\u4e8e CI/CD \u6d41\u7a0b\uff0c\u4f8b\u5982\uff1a"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"GitHub Actions \u793a\u4f8b\uff1a"})}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",children:'- name: Run CCW Workflow\n run: |\n ccw workflow:plan "Implement feature"\n ccw workflow:execute --session WFS-feature\n env:\n GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}\n'})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u6700\u4f73\u5b9e\u8df5\uff1a"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\u5728 CI \u4e2d\u7528 ",(0,i.jsx)(n.code,{children:"--mode analysis"})," \u505a\u4ee3\u7801\u5ba1\u67e5"]}),"\n",(0,i.jsx)(n.li,{children:"API key \u5b58\u653e\u5728 secrets \u7ba1\u7406\u4e2d"}),"\n",(0,i.jsx)(n.li,{children:"\u5728\u9694\u79bb\u73af\u5883\u4e2d\u8fd0\u884c\u5de5\u4f5c\u6d41"}),"\n",(0,i.jsx)(n.li,{children:"\u5f52\u6863 sessions \u4fbf\u4e8e\u5ba1\u8ba1\u8ffd\u8e2a"}),"\n"]})]}),"\n",(0,i.jsx)(n.h3,{id:"ccw-\u652f\u6301-monorepo-\u5417",children:"CCW \u652f\u6301 monorepo \u5417\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"Monorepo \u652f\u6301"}),(0,i.jsx)(n.p,{children:"\u652f\u6301\u3002"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u9762\u5411 workspace \u7684\u6267\u884c\uff1a"})}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:'# \u5728\u6307\u5b9a package \u4e2d\u6267\u884c\nccw plan "Add auth to frontend" --cd packages/frontend\n\n# \u8de8\u591a\u4e2a package \u6267\u884c\nccw plan "Update API contracts" --include-dir packages/api,packages/shared\n'})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u597d\u5904\uff1a"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u4f9d\u8d56\u611f\u77e5\u7684\u4efb\u52a1\u5206\u53d1"}),"\n",(0,i.jsx)(n.li,{children:"\u8de8\u5305\u5e76\u884c\u6267\u884c"}),"\n",(0,i.jsx)(n.li,{children:"\u5171\u4eab session \u72b6\u6001"}),"\n",(0,i.jsx)(n.li,{children:"\u8de8 workspace \u534f\u540c\u53d8\u66f4"}),"\n"]})]}),"\n",(0,i.jsx)(n.h3,{id:"\u5982\u4f55\u4ece\u5176\u4ed6\u5de5\u5177\u8fc1\u79fb",children:"\u5982\u4f55\u4ece\u5176\u4ed6\u5de5\u5177\u8fc1\u79fb\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"\u8fc1\u79fb\u6307\u5357"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u4ece\u57fa\u7840 Git \u5de5\u4f5c\u6d41\u8fc1\u79fb\uff1a"})}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:'# \u4e4b\u524d\uff1a\u624b\u5de5\u89c4\u5212\ngit checkout -b feature\n# ... manual planning ...\n\n# \u4e4b\u540e\uff1a\u7528 CCW \u505a\u89c4\u5212\nccw plan "Add feature"\nccw execute --session WFS-feature\n'})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u4ece\u5176\u4ed6 AI \u5de5\u5177\u8fc1\u79fb\uff1a"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"CCW \u63d0\u4f9b\u7ed3\u6784\u5316\u5de5\u4f5c\u6d41\uff08\u800c\u975e\u96f6\u6563\u63d0\u793a\uff09"}),"\n",(0,i.jsx)(n.li,{children:"Session \u7ba1\u7406\uff08\u800c\u975e\u4f9d\u8d56\u804a\u5929\u8bb0\u5f55\uff09"}),"\n",(0,i.jsx)(n.li,{children:"\u591a Agent \u534f\u4f5c\uff08\u800c\u975e\u5355\u4e00 AI\uff09"}),"\n",(0,i.jsx)(n.li,{children:"\u6301\u4e45\u5316\u4ea7\u7269\uff08\u800c\u975e\u4e00\u6b21\u6027\u8f93\u51fa\uff09"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"\u8fc1\u79fb\u6b65\u9aa4\uff1a"})}),(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\u5b89\u88c5 CCW\uff1a",(0,i.jsx)(n.code,{children:"npm install -g @ccw/cli"})]}),"\n",(0,i.jsxs)(n.li,{children:["\u521d\u59cb\u5316\uff1a",(0,i.jsx)(n.code,{children:"ccw init"})]}),"\n",(0,i.jsx)(n.li,{children:"\u4ece Level 2 \u5de5\u4f5c\u6d41\u5f00\u59cb\u719f\u6089"}),"\n",(0,i.jsx)(n.li,{children:"\u9010\u6b65\u5728\u66f4\u590d\u6742\u4efb\u52a1\u4e2d\u91c7\u7528\u66f4\u9ad8\u7b49\u7ea7"}),"\n"]})]}),"\n",(0,i.jsx)(n.h2,{id:"\u6700\u4f73\u5b9e\u8df5",children:"\u6700\u4f73\u5b9e\u8df5"}),"\n",(0,i.jsx)(n.h3,{id:"\u5de5\u4f5c\u6d41\u6700\u4f73\u5b9e\u8df5\u6709\u54ea\u4e9b",children:"\u5de5\u4f5c\u6d41\u6700\u4f73\u5b9e\u8df5\u6709\u54ea\u4e9b\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"\u6700\u4f73\u5b9e\u8df5"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"1. \u5148\u4ece\u7b80\u5355\u5f00\u59cb"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u4f7f\u7528\u80fd\u6ee1\u8db3\u9700\u6c42\u7684\u6700\u4f4e\u5de5\u4f5c\u6d41\u7ea7\u522b"}),"\n",(0,i.jsx)(n.li,{children:"\u4e0d\u8981\u4e3a\u7b80\u5355\u4efb\u52a1\u8fc7\u5ea6\u5de5\u7a0b\u5316"}),"\n",(0,i.jsx)(n.li,{children:"\u968f\u7740\u590d\u6742\u5ea6\u589e\u52a0\u518d\u5347\u7ea7\u5de5\u4f5c\u6d41"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"2. \u5148\u89c4\u5212\u518d\u6267\u884c"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u6709\u9a8c\u8bc1\u6b65\u9aa4\u5c31\u5c3d\u91cf\u4f7f\u7528"}),"\n",(0,i.jsx)(n.li,{children:"\u6267\u884c\u524d\u5148 review \u751f\u6210\u7684\u8ba1\u5212"}),"\n",(0,i.jsx)(n.li,{children:"\u6839\u636e\u9879\u76ee\u4e0a\u4e0b\u6587\u8c03\u6574\u4efb\u52a1"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"3. \u6301\u7eed\u6d4b\u8bd5"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u5c06\u6d4b\u8bd5\u878d\u5165\u5de5\u4f5c\u6d41"}),"\n",(0,i.jsx)(n.li,{children:"\u5173\u952e\u529f\u80fd\u4f7f\u7528 TDD"}),"\n",(0,i.jsx)(n.li,{children:"\u6bcf\u6b21\u8fed\u4ee3\u540e\u8fd0\u884c\u6d4b\u8bd5"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"4. Review \u4ee3\u7801"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u4f7f\u7528\u5185\u7f6e review \u5de5\u4f5c\u6d41"}),"\n",(0,i.jsx)(n.li,{children:"\u5229\u7528 multi-CLI \u83b7\u5f97\u591a\u89c6\u89d2\u53cd\u9988"}),"\n",(0,i.jsx)(n.li,{children:"\u8fed\u4ee3\u5f0f\u5408\u5e76 review \u5efa\u8bae"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"5. \u8bb0\u5f55\u5173\u952e\u51b3\u7b56"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u590d\u6742\u51b3\u7b56\u7528 brainstorm \u5de5\u4f5c\u6d41"}),"\n",(0,i.jsx)(n.li,{children:"\u4fdd\u7559 session artifacts \u4fbf\u4e8e\u590d\u76d8"}),"\n",(0,i.jsx)(n.li,{children:"\u5f52\u6863\u5df2\u5b8c\u6210 sessions"}),"\n"]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"6. \u7ef4\u62a4 session \u536b\u751f"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u7ed3\u675f\u540e\u53ca\u65f6 complete session"}),"\n",(0,i.jsx)(n.li,{children:"\u5b9a\u671f\u6e05\u7406\u65e7 sessions"}),"\n",(0,i.jsx)(n.li,{children:"\u5f52\u6863\u91cd\u8981 sessions"}),"\n"]})]}),"\n",(0,i.jsx)(n.h3,{id:"\u5982\u4f55\u6700\u5927\u5316-ai-\u8f85\u52a9\u6536\u76ca",children:"\u5982\u4f55\u6700\u5927\u5316 AI \u8f85\u52a9\u6536\u76ca\uff1f"}),"\n",(0,i.jsxs)(c.A,{children:[(0,i.jsx)("summary",{children:"AI \u6700\u4f73\u5b9e\u8df5"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"1. \u63d0\u793a\u8981\u5177\u4f53"})}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:'Bad: "Fix the bug"\nGood: "Fix the 500 error when users update their profile picture"\n'})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"2. \u63d0\u4f9b\u4e0a\u4e0b\u6587"})}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:'ccw plan "Add OAuth2" \\\n --context "Using Express.js, MongoDB, Passport.js" \\\n --reference "Similar to existing Google OAuth implementation"\n'})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"3. \u4f7f\u7528 multi-CLI \u534f\u4f5c"})}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:'# \u83b7\u53d6\u591a\u4e2a\u89c6\u89d2\nccw multi-cli-plan "Architecture decision"\n'})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"4. \u5229\u7528 memory"})}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:'# \u57fa\u4e8e\u5df2\u6709\u5de5\u4f5c\u7ee7\u7eed\u63a8\u8fdb\nccw plan "Continue auth refactor" --memory WFS-auth-v1\n'})}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"5. \u9009\u62e9\u5408\u9002\u6a21\u578b"})}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Gemini Flash"}),"\uff1a\u5feb\uff0c\u9002\u5408\u521d\u6b65\u5206\u6790"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Gemini Pro"}),"\uff1a\u6df1\u5ea6\u63a8\u7406\uff0c\u9002\u5408\u590d\u6742\u4efb\u52a1"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Codex"}),"\uff1a\u4ee3\u7801 review \u4e0e\u5b9e\u73b0\uff08git-aware\uff09"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Claude"}),"\uff1a\u6587\u6863\u4e0e\u590d\u6742\u63a8\u7406"]}),"\n"]})]}),"\n",(0,i.jsx)(n.h2,{id:"\u76f8\u5173\u6587\u6863",children:"\u76f8\u5173\u6587\u6863"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/workflows/introduction",children:"\u5de5\u4f5c\u6d41\u4ecb\u7ecd"})," - \u5b8c\u6574\u5de5\u4f5c\u6d41\u6307\u5357"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/workflows/faq",children:"\u5de5\u4f5c\u6d41 FAQ"})," - \u5de5\u4f5c\u6d41\u76f8\u5173\u95ee\u9898"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/commands/general/ccw",children:"\u547d\u4ee4\u53c2\u8003"})," - \u5168\u90e8\u547d\u4ee4"]}),"\n"]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"\u4ecd\u6709\u7591\u95ee\uff1f"})," \u6b22\u8fce\u5728 GitHub \u63d0\u4ea4 ",(0,i.jsx)(n.a,{href:"https://github.com/ccw/ccw/issues",children:"Issue"})," \u6216\u67e5\u770b ",(0,i.jsx)(n.a,{href:"https://github.com/ccw/ccw/discussions",children:"\u8ba8\u8bba\u533a"}),"\u3002"]})]})}function o(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(t,{...e})}):t(e)}}}]); |