mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-04 01:40:45 +08:00
- Implemented CliCommandNode component for executing CLI tools with AI models. - Implemented PromptNode component for constructing AI prompts with context. - Added styling for mode and tool badges in both components. - Enhanced user experience with command and argument previews, execution status, and error handling. test: add comprehensive tests for ask_question tool - Created direct test for ask_question tool execution. - Developed end-to-end tests to validate ask_question tool integration with WebSocket and A2UI surfaces. - Implemented simple and integrated WebSocket tests to ensure proper message handling and surface reception. - Added tool registration test to verify ask_question tool is correctly registered. chore: add WebSocket listener and simulation tests - Added WebSocket listener for A2UI surfaces to facilitate testing. - Implemented frontend simulation test to validate complete flow from backend to frontend. - Created various test scripts to ensure robust testing of ask_question tool functionality.
1 line
18 KiB
JavaScript
1 line
18 KiB
JavaScript
"use strict";(globalThis.webpackChunkccw_docs=globalThis.webpackChunkccw_docs||[]).push([[17],{1184(e,s,t){t.d(s,{R:()=>d,x:()=>l});var n=t(3696);const i={},r=n.createContext(i);function d(e){const s=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),n.createElement(r.Provider,{value:s},e.children)}},5269(e,s,t){t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>l,default:()=>a,frontMatter:()=>d,metadata:()=>n,toc:()=>o});const n=JSON.parse('{"id":"commands/general/ccw-test","title":"/ccw-test","description":"Test workflow coordinator for testing strategies","source":"@site/docs/commands/general/ccw-test.mdx","sourceDirName":"commands/general","slug":"/commands/general/ccw-test","permalink":"/docs/docs/commands/general/ccw-test","draft":false,"unlisted":false,"editUrl":"https://github.com/ccw/docs/tree/main/docs/commands/general/ccw-test.mdx","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"title":"/ccw-test","sidebar_label":"/ccw-test","sidebar_position":3,"description":"Test workflow coordinator for testing strategies"},"sidebar":"docs","previous":{"title":"/ccw-plan","permalink":"/docs/docs/commands/general/ccw-plan"},"next":{"title":"/ccw-coordinator","permalink":"/docs/docs/commands/general/ccw-coordinator"}}');var i=t(2540),r=t(1184);const d={title:"/ccw-test",sidebar_label:"/ccw-test",sidebar_position:3,description:"Test workflow coordinator for testing strategies"},l="/ccw-test",c={},o=[{value:"Overview",id:"overview",level:2},{value:"Features",id:"features",level:2},{value:"Usage",id:"usage",level:2},{value:"Test Modes",id:"test-modes",level:2},{value:"Test Generation",id:"test-generation",level:3},{value:"Test Fix Generation",id:"test-fix-generation",level:3},{value:"Test Cycle Execution",id:"test-cycle-execution",level:3},{value:"TDD Verification",id:"tdd-verification",level:3},{value:"Test Units",id:"test-units",level:2},{value:"Progressive Test Layers",id:"progressive-test-layers",level:2},{value:"Execution Flow",id:"execution-flow",level:2},{value:"Session Mode",id:"session-mode",level:3},{value:"Prompt Mode",id:"prompt-mode",level:3},{value:"Minimum Task Structure (test-fix-gen)",id:"minimum-task-structure-test-fix-gen",level:2},{value:"Examples",id:"examples",level:2},{value:"Session Mode",id:"session-mode-1",level:3},{value:"Prompt Mode",id:"prompt-mode-1",level:3},{value:"Test Fix for Failures",id:"test-fix-for-failures",level:3},{value:"AI Code Issue Detection (L0)",id:"ai-code-issue-detection-l0",level:2},{value:"Quality Gates",id:"quality-gates",level:2},{value:"IMPL-001.3 - Code Validation",id:"impl-0013---code-validation",level:3},{value:"IMPL-001.5 - Test Quality",id:"impl-0015---test-quality",level:3},{value:"Related Commands",id:"related-commands",level:2},{value:"Notes",id:"notes",level:2}];function h(e){const s={code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",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)(s.header,{children:(0,i.jsx)(s.h1,{id:"ccw-test",children:"/ccw-test"})}),"\n",(0,i.jsx)(s.p,{children:"Test workflow coordinator - analyzes testing requirements, selects test strategy, and executes test workflow."}),"\n",(0,i.jsx)(s.h2,{id:"overview",children:"Overview"}),"\n",(0,i.jsxs)(s.p,{children:["The ",(0,i.jsx)(s.code,{children:"/ccw-test"})," command serves as the testing orchestrator, automatically analyzing testing requirements and selecting the appropriate test workflow based on the testing context."]}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"Parameters"}),":"]}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"--mode <mode>"}),": Test mode (test-gen, test-fix-gen, test-cycle-execute, tdd-verify)"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"--session <id>"}),": Resume from existing session"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:'"test description or session ID"'}),": Test target"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"features",children:"Features"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Auto Test Mode Detection"})," - Analyzes context to select appropriate test workflow"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Test Units"})," - Commands grouped for complete testing milestones"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Progressive Layers"})," - L0-L3 test requirements"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"AI Code Validation"})," - Detects common AI-generated code issues"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Quality Gates"})," - Multiple validation checkpoints"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"usage",children:"Usage"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-bash",children:'# Session mode - test validation for completed implementation\r\n/ccw-test WFS-user-auth-v2\r\n\r\n# Prompt mode - text description\r\n/ccw-test "Test the user authentication API endpoints"\r\n\r\n# Prompt mode - file reference\r\n/ccw-test ./docs/api-requirements.md\r\n\r\n# Explicit mode selection\r\n/ccw-test --mode test-gen "Generate comprehensive tests for auth module"\r\n/ccw-test --mode test-fix-gen "Test failures in login flow"\r\n/ccw-test --mode test-cycle-execute WFS-test-auth\n'})}),"\n",(0,i.jsx)(s.h2,{id:"test-modes",children:"Test Modes"}),"\n",(0,i.jsx)(s.h3,{id:"test-generation",children:"Test Generation"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{children:"Mode"}),(0,i.jsx)(s.th,{children:"Description"}),(0,i.jsx)(s.th,{children:"Output"}),(0,i.jsx)(s.th,{children:"Follow-up"})]})}),(0,i.jsx)(s.tbody,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:(0,i.jsx)(s.code,{children:"test-gen"})}),(0,i.jsx)(s.td,{children:"Extensive test generation"}),(0,i.jsx)(s.td,{children:"test-tasks"}),(0,i.jsx)(s.td,{children:(0,i.jsx)(s.code,{children:"/workflow:execute"})})]})})]}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"Purpose"}),": Generate comprehensive test examples and execute tests"]}),"\n",(0,i.jsx)(s.h3,{id:"test-fix-generation",children:"Test Fix Generation"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{children:"Mode"}),(0,i.jsx)(s.th,{children:"Description"}),(0,i.jsx)(s.th,{children:"Output"}),(0,i.jsx)(s.th,{children:"Follow-up"})]})}),(0,i.jsx)(s.tbody,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:(0,i.jsx)(s.code,{children:"test-fix-gen"})}),(0,i.jsx)(s.td,{children:"Test and fix specific issues"}),(0,i.jsx)(s.td,{children:"test-tasks"}),(0,i.jsx)(s.td,{children:(0,i.jsx)(s.code,{children:"/workflow:test-cycle-execute"})})]})})]}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"Purpose"}),": Generate tests for specific problems and fix in testing"]}),"\n",(0,i.jsx)(s.h3,{id:"test-cycle-execution",children:"Test Cycle Execution"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{children:"Mode"}),(0,i.jsx)(s.th,{children:"Description"}),(0,i.jsx)(s.th,{children:"Output"}),(0,i.jsx)(s.th,{children:"Follow-up"})]})}),(0,i.jsx)(s.tbody,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:(0,i.jsx)(s.code,{children:"test-cycle-execute"})}),(0,i.jsx)(s.td,{children:"Iterative test and fix"}),(0,i.jsx)(s.td,{children:"test-passed"}),(0,i.jsx)(s.td,{children:"N/A"})]})})]}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"Purpose"}),": Execute test-fix cycle until 95% pass rate"]}),"\n",(0,i.jsx)(s.h3,{id:"tdd-verification",children:"TDD Verification"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{children:"Mode"}),(0,i.jsx)(s.th,{children:"Description"}),(0,i.jsx)(s.th,{children:"Output"})]})}),(0,i.jsx)(s.tbody,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:(0,i.jsx)(s.code,{children:"tdd-verify"})}),(0,i.jsx)(s.td,{children:"Verify TDD compliance"}),(0,i.jsx)(s.td,{children:"Quality report"})]})})]}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"Purpose"}),": Verify Red-Green-Refactor cycle compliance"]}),"\n",(0,i.jsx)(s.h2,{id:"test-units",children:"Test Units"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{children:"Unit Name"}),(0,i.jsx)(s.th,{children:"Commands"}),(0,i.jsx)(s.th,{children:"Purpose"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:(0,i.jsx)(s.strong,{children:"Test Generation"})}),(0,i.jsx)(s.td,{children:"test-gen \u2192 execute"}),(0,i.jsx)(s.td,{children:"Generate and run comprehensive tests"})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:(0,i.jsx)(s.strong,{children:"Test Fix"})}),(0,i.jsx)(s.td,{children:"test-fix-gen \u2192 test-cycle-execute"}),(0,i.jsx)(s.td,{children:"Generate tests and fix iteratively"})]})]})]}),"\n",(0,i.jsx)(s.h2,{id:"progressive-test-layers",children:"Progressive Test Layers"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{children:"Layer"}),(0,i.jsx)(s.th,{children:"Description"}),(0,i.jsx)(s.th,{children:"Components"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:(0,i.jsx)(s.strong,{children:"L0"})}),(0,i.jsx)(s.td,{children:"AI code issues"}),(0,i.jsx)(s.td,{children:"Hallucinated imports, placeholder code, mock leakage"})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:(0,i.jsx)(s.strong,{children:"L0.5"})}),(0,i.jsx)(s.td,{children:"Common issues"}),(0,i.jsx)(s.td,{children:"Edge cases, error handling"})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:(0,i.jsx)(s.strong,{children:"L1"})}),(0,i.jsx)(s.td,{children:"Unit tests"}),(0,i.jsx)(s.td,{children:"Component-level testing"})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:(0,i.jsx)(s.strong,{children:"L2"})}),(0,i.jsx)(s.td,{children:"Integration tests"}),(0,i.jsx)(s.td,{children:"API/database integration"})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:(0,i.jsx)(s.strong,{children:"L3"})}),(0,i.jsx)(s.td,{children:"E2E tests"}),(0,i.jsx)(s.td,{children:"Full workflow testing"})]})]})]}),"\n",(0,i.jsx)(s.h2,{id:"execution-flow",children:"Execution Flow"}),"\n",(0,i.jsx)(s.h3,{id:"session-mode",children:"Session Mode"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{children:"Session ID Input\r\n \u2193\r\nPhase 1: Create Test Session\r\n \u2514\u2500 /workflow:session:start --type test\r\n \u2514\u2500 Output: testSessionId\r\n \u2193\r\nPhase 2: Test Context Gathering\r\n \u2514\u2500 /workflow:tools:test-context-gather\r\n \u2514\u2500 Output: test-context-package.json\r\n \u2193\r\nPhase 3: Test Concept Enhancement\r\n \u2514\u2500 /workflow:tools:test-concept-enhanced\r\n \u2514\u2500 Output: TEST_ANALYSIS_RESULTS.md (L0-L3 requirements)\r\n \u2193\r\nPhase 4: Test Task Generation\r\n \u2514\u2500 /workflow:tools:test-task-generate\r\n \u2514\u2500 Output: IMPL_PLAN.md, IMPL-*.json (4+ tasks)\r\n \u2193\r\nReturn summary \u2192 Next: /workflow:test-cycle-execute\n"})}),"\n",(0,i.jsx)(s.h3,{id:"prompt-mode",children:"Prompt Mode"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{children:'Description/File Input\r\n \u2193\r\nPhase 1: Create Test Session\r\n \u2514\u2500 /workflow:session:start --type test "description"\r\n \u2193\r\nPhase 2: Context Gathering\r\n \u2514\u2500 /workflow:tools:context-gather\r\n \u2193\r\nPhase 3-4: Same as Session Mode\n'})}),"\n",(0,i.jsx)(s.h2,{id:"minimum-task-structure-test-fix-gen",children:"Minimum Task Structure (test-fix-gen)"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{children:"Task"}),(0,i.jsx)(s.th,{children:"Type"}),(0,i.jsx)(s.th,{children:"Agent"}),(0,i.jsx)(s.th,{children:"Purpose"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:(0,i.jsx)(s.strong,{children:"IMPL-001"})}),(0,i.jsx)(s.td,{children:"test-gen"}),(0,i.jsx)(s.td,{children:"@code-developer"}),(0,i.jsx)(s.td,{children:"Test understanding & generation (L1-L3)"})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:(0,i.jsx)(s.strong,{children:"IMPL-001.3"})}),(0,i.jsx)(s.td,{children:"code-validation"}),(0,i.jsx)(s.td,{children:"@test-fix-agent"}),(0,i.jsx)(s.td,{children:"Code validation gate (L0 + AI issues)"})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:(0,i.jsx)(s.strong,{children:"IMPL-001.5"})}),(0,i.jsx)(s.td,{children:"test-quality-review"}),(0,i.jsx)(s.td,{children:"@test-fix-agent"}),(0,i.jsx)(s.td,{children:"Test quality gate"})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:(0,i.jsx)(s.strong,{children:"IMPL-002"})}),(0,i.jsx)(s.td,{children:"test-fix"}),(0,i.jsx)(s.td,{children:"@test-fix-agent"}),(0,i.jsx)(s.td,{children:"Test execution & fix cycle"})]})]})]}),"\n",(0,i.jsx)(s.h2,{id:"examples",children:"Examples"}),"\n",(0,i.jsx)(s.h3,{id:"session-mode-1",children:"Session Mode"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-bash",children:"# Test validation for completed implementation\r\n/ccw-test WFS-user-auth-v2\r\n\r\n# Output:\r\n# Creating test session...\r\n# Gathering test context...\r\n# Analyzing test coverage...\r\n# Generating test tasks...\r\n# Created 4 test tasks\r\n# Next: /workflow:test-cycle-execute\n"})}),"\n",(0,i.jsx)(s.h3,{id:"prompt-mode-1",children:"Prompt Mode"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-bash",children:'# Test specific functionality\r\n/ccw-test "Test the user authentication API endpoints in src/auth/api.ts"\r\n\r\n# Generates tests for specific module\n'})}),"\n",(0,i.jsx)(s.h3,{id:"test-fix-for-failures",children:"Test Fix for Failures"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-bash",children:'# Fix failing tests\r\n/ccw-test --mode test-fix-gen "Login tests failing with timeout error"\r\n\r\n# Generates tasks to diagnose and fix test failures\n'})}),"\n",(0,i.jsx)(s.h2,{id:"ai-code-issue-detection-l0",children:"AI Code Issue Detection (L0)"}),"\n",(0,i.jsx)(s.p,{children:"The test workflow automatically detects common AI-generated code problems:"}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{children:"Issue Type"}),(0,i.jsx)(s.th,{children:"Description"}),(0,i.jsx)(s.th,{children:"Detection"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:(0,i.jsx)(s.strong,{children:"Hallucinated Imports"})}),(0,i.jsx)(s.td,{children:"Imports that don't exist"}),(0,i.jsx)(s.td,{children:"Static analysis"})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:(0,i.jsx)(s.strong,{children:"Placeholder Code"})}),(0,i.jsx)(s.td,{children:"TODO/FIXME in production"}),(0,i.jsx)(s.td,{children:"Pattern matching"})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:(0,i.jsx)(s.strong,{children:"Mock Leakage"})}),(0,i.jsx)(s.td,{children:"Test mocks in production code"}),(0,i.jsx)(s.td,{children:"Code analysis"})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:(0,i.jsx)(s.strong,{children:"Incomplete Implementation"})}),(0,i.jsx)(s.td,{children:"Empty functions/stubs"}),(0,i.jsx)(s.td,{children:"AST analysis"})]})]})]}),"\n",(0,i.jsx)(s.h2,{id:"quality-gates",children:"Quality Gates"}),"\n",(0,i.jsx)(s.h3,{id:"impl-0013---code-validation",children:"IMPL-001.3 - Code Validation"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Validates L0 requirements (AI code issues)"}),"\n",(0,i.jsx)(s.li,{children:"Checks for hallucinated imports"}),"\n",(0,i.jsx)(s.li,{children:"Detects placeholder code"}),"\n",(0,i.jsx)(s.li,{children:"Ensures no mock leakage"}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"impl-0015---test-quality",children:"IMPL-001.5 - Test Quality"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Reviews test coverage"}),"\n",(0,i.jsx)(s.li,{children:"Validates test patterns"}),"\n",(0,i.jsx)(s.li,{children:"Checks assertion quality"}),"\n",(0,i.jsx)(s.li,{children:"Ensures proper error handling"}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"related-commands",children:"Related Commands"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsxs)(s.strong,{children:["/workflow",":test-fix-gen"]})," - Test fix generation workflow"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsxs)(s.strong,{children:["/workflow",":test-cycle-execute"]})," - Test cycle execution"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsxs)(s.strong,{children:["/workflow",":tdd-plan"]})," - TDD planning workflow"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsxs)(s.strong,{children:["/workflow",":tdd-verify"]})," - TDD verification"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"notes",children:"Notes"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Progressive layers"})," ensure comprehensive testing (L0-L3)"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"AI code validation"})," detects common AI-generated issues"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Quality gates"})," ensure high test standards"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Iterative fixing"})," until 95% pass rate"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Project type detection"})," applies appropriate test templates"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"CLI tool preference"})," supports semantic detection"]}),"\n"]})]})}function a(e={}){const{wrapper:s}={...(0,r.R)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}}}]); |