claude-code-workflow 6.3.32 → 6.3.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/CLAUDE.md +6 -1
- package/.claude/agents/action-planning-agent.md +885 -885
- package/.claude/agents/cli-discuss-agent.md +391 -391
- package/.claude/agents/cli-execution-agent.md +68 -6
- package/.claude/agents/cli-lite-planning-agent.md +323 -37
- package/.claude/agents/cli-planning-agent.md +2 -2
- package/.claude/agents/code-developer.md +407 -403
- package/.claude/agents/conceptual-planning-agent.md +11 -0
- package/.claude/agents/debug-explore-agent.md +3 -3
- package/.claude/agents/doc-generator.md +3 -3
- package/.claude/agents/issue-plan-agent.md +417 -340
- package/.claude/agents/issue-queue-agent.md +1 -1
- package/.claude/agents/memory-bridge.md +95 -95
- package/.claude/agents/test-context-search-agent.md +402 -402
- package/.claude/agents/ui-design-agent.md +595 -595
- package/.claude/agents/universal-executor.md +134 -134
- package/.claude/commands/cli/codex-review.md +361 -0
- package/.claude/commands/issue/discover-by-prompt.md +1 -1
- package/.claude/commands/issue/execute.md +581 -581
- package/.claude/commands/issue/new.md +413 -413
- package/.claude/commands/issue/plan.md +21 -7
- package/.claude/commands/issue/queue.md +441 -382
- package/.claude/commands/memory/code-map-memory.md +687 -687
- package/.claude/commands/memory/compact.md +383 -383
- package/.claude/commands/memory/docs-full-cli.md +471 -471
- package/.claude/commands/memory/docs-related-cli.md +386 -386
- package/.claude/commands/memory/docs.md +615 -615
- package/.claude/commands/memory/load-skill-memory.md +182 -182
- package/.claude/commands/memory/skill-memory.md +525 -525
- package/.claude/commands/memory/style-skill-memory.md +396 -396
- package/.claude/commands/memory/swagger-docs.md +773 -773
- package/.claude/commands/memory/tech-research-rules.md +2 -2
- package/.claude/commands/memory/update-full.md +332 -332
- package/.claude/commands/memory/workflow-skill-memory.md +517 -517
- package/.claude/commands/task/create.md +151 -151
- package/.claude/commands/task/replan.md +436 -436
- package/.claude/commands/version.md +254 -254
- package/.claude/commands/workflow/brainstorm/api-designer.md +587 -587
- package/.claude/commands/workflow/brainstorm/auto-parallel.md +11 -0
- package/.claude/commands/workflow/brainstorm/data-architect.md +220 -220
- package/.claude/commands/workflow/brainstorm/product-manager.md +200 -200
- package/.claude/commands/workflow/brainstorm/product-owner.md +200 -200
- package/.claude/commands/workflow/brainstorm/scrum-master.md +200 -200
- package/.claude/commands/workflow/brainstorm/subject-matter-expert.md +200 -200
- package/.claude/commands/workflow/brainstorm/system-architect.md +389 -389
- package/.claude/commands/workflow/brainstorm/ui-designer.md +221 -221
- package/.claude/commands/workflow/brainstorm/ux-expert.md +221 -221
- package/.claude/commands/workflow/debug-with-file.md +666 -0
- package/.claude/commands/workflow/debug.md +327 -327
- package/.claude/commands/workflow/execute.md +498 -498
- package/.claude/commands/workflow/lite-execute.md +74 -31
- package/.claude/commands/workflow/lite-fix.md +631 -631
- package/.claude/commands/workflow/lite-lite-lite.md +39 -11
- package/.claude/commands/workflow/lite-plan.md +4 -2
- package/.claude/commands/workflow/multi-cli-plan.md +97 -39
- package/.claude/commands/workflow/plan.md +551 -551
- package/.claude/commands/workflow/replan.md +515 -515
- package/.claude/commands/workflow/review-fix.md +610 -610
- package/.claude/commands/workflow/review-module-cycle.md +771 -771
- package/.claude/commands/workflow/review-session-cycle.md +782 -782
- package/.claude/commands/workflow/review.md +322 -322
- package/.claude/commands/workflow/session/list.md +95 -95
- package/.claude/commands/workflow/session/resume.md +60 -60
- package/.claude/commands/workflow/session/solidify.md +299 -299
- package/.claude/commands/workflow/tdd-plan.md +597 -460
- package/.claude/commands/workflow/test-cycle-execute.md +504 -504
- package/.claude/commands/workflow/test-fix-gen.md +699 -699
- package/.claude/commands/workflow/tools/conflict-resolution.md +2 -2
- package/.claude/commands/workflow/tools/task-generate-tdd.md +517 -517
- package/.claude/commands/workflow/tools/tdd-coverage-analysis.md +309 -309
- package/.claude/commands/workflow/tools/test-concept-enhanced.md +1 -1
- package/.claude/commands/workflow/tools/test-context-gather.md +235 -235
- package/.claude/commands/workflow/tools/test-task-generate.md +255 -255
- package/.claude/commands/workflow/ui-design/animation-extract.md +1150 -1150
- package/.claude/commands/workflow/ui-design/design-sync.md +454 -454
- package/.claude/commands/workflow/ui-design/explore-auto.md +678 -678
- package/.claude/commands/workflow/ui-design/imitate-auto.md +745 -745
- package/.claude/commands/workflow/ui-design/layout-extract.md +788 -788
- package/.claude/commands/workflow/ui-design/reference-page-generator.md +356 -356
- package/.claude/commands/workflow/ui-design/style-extract.md +773 -773
- package/.claude/skills/ccw/SKILL.md +522 -352
- package/.claude/skills/ccw/command.json +641 -547
- package/.claude/skills/ccw-help/SKILL.md +116 -116
- package/.claude/skills/ccw-help/command.json +520 -520
- package/.claude/skills/copyright-docs/phases/01.5-project-exploration.md +150 -150
- package/.claude/skills/copyright-docs/phases/02.5-consolidation.md +192 -192
- package/.claude/skills/copyright-docs/templates/agent-base.md +200 -200
- package/.claude/skills/project-analyze/phases/03.5-consolidation.md +233 -233
- package/.claude/skills/project-analyze/specs/writing-style.md +152 -152
- package/.claude/skills/review-code/phases/state-manager.md +752 -752
- package/.claude/skills/review-code/specs/rules/index.md +140 -140
- package/.claude/skills/skill-generator/specs/cli-integration.md +13 -19
- package/.claude/skills/skill-generator/specs/scripting-integration.md +265 -265
- package/.claude/skills/skill-generator/templates/code-analysis-action.md +503 -503
- package/.claude/skills/skill-generator/templates/llm-action.md +355 -355
- package/.claude/skills/skill-generator/templates/script-bash.md +277 -277
- package/.claude/skills/skill-generator/templates/script-python.md +198 -198
- package/.claude/skills/skill-generator/templates/skill-md.md +235 -235
- package/.claude/skills/skill-tuning/SKILL.md +303 -303
- package/.claude/skills/skill-tuning/phases/actions/action-abort.md +164 -164
- package/.claude/skills/skill-tuning/phases/actions/action-apply-fix.md +206 -206
- package/.claude/skills/skill-tuning/phases/actions/action-complete.md +195 -195
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-agent.md +317 -317
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-context.md +243 -243
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-dataflow.md +318 -318
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-memory.md +269 -269
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-token-consumption.md +200 -200
- package/.claude/skills/skill-tuning/phases/actions/action-gemini-analysis.md +322 -322
- package/.claude/skills/skill-tuning/phases/actions/action-generate-report.md +228 -228
- package/.claude/skills/skill-tuning/phases/actions/action-init.md +149 -149
- package/.claude/skills/skill-tuning/phases/actions/action-propose-fixes.md +317 -317
- package/.claude/skills/skill-tuning/phases/actions/action-verify.md +222 -222
- package/.claude/skills/skill-tuning/phases/orchestrator.md +377 -377
- package/.claude/skills/skill-tuning/phases/state-schema.md +378 -378
- package/.claude/skills/skill-tuning/specs/problem-taxonomy.md +318 -318
- package/.claude/skills/skill-tuning/specs/quality-gates.md +263 -263
- package/.claude/skills/skill-tuning/specs/tuning-strategies.md +1537 -1537
- package/.claude/skills/skill-tuning/templates/diagnosis-report.md +153 -153
- package/.claude/skills/skill-tuning/templates/fix-proposal.md +204 -204
- package/.claude/skills/software-manual/SKILL.md +184 -184
- package/.claude/skills/software-manual/phases/01-requirements-discovery.md +162 -162
- package/.claude/skills/software-manual/phases/02-project-exploration.md +101 -101
- package/.claude/skills/software-manual/phases/03-parallel-analysis.md +183 -183
- package/.claude/skills/software-manual/phases/03.5-consolidation.md +82 -82
- package/.claude/skills/software-manual/phases/04-screenshot-capture.md +89 -89
- package/.claude/skills/software-manual/phases/05-html-assembly.md +132 -132
- package/.claude/skills/software-manual/phases/06-iterative-refinement.md +259 -259
- package/.claude/skills/software-manual/scripts/screenshot-helper.md +447 -447
- package/.claude/skills/software-manual/scripts/swagger-runner.md +419 -419
- package/.claude/skills/software-manual/scripts/typedoc-runner.md +357 -357
- package/.claude/skills/software-manual/specs/html-template.md +325 -325
- package/.claude/skills/software-manual/specs/quality-standards.md +253 -253
- package/.claude/skills/software-manual/specs/writing-style.md +298 -298
- package/.claude/skills/text-formatter/SKILL.md +196 -196
- package/.claude/skills/text-formatter/phases/01-input-collection.md +111 -111
- package/.claude/skills/text-formatter/phases/02-content-analysis.md +248 -248
- package/.claude/skills/text-formatter/phases/03-format-transform.md +245 -245
- package/.claude/skills/text-formatter/phases/04-output-preview.md +183 -183
- package/.claude/skills/text-formatter/specs/callout-types.md +293 -293
- package/.claude/skills/text-formatter/specs/element-mapping.md +226 -226
- package/.claude/skills/text-formatter/specs/format-rules.md +273 -273
- package/.claude/skills/text-formatter/templates/bbcode-template.md +350 -350
- package/.claude/workflows/chinese-response.md +25 -25
- package/.claude/workflows/cli-templates/memory/style-skill-memory/skill-md-template.md +299 -299
- package/.claude/workflows/cli-templates/planning-roles/product-owner.md +261 -261
- package/.claude/workflows/cli-templates/prompts/{analysis/03-analyze-performance.txt → analysis-analyze-performance.txt} +29 -29
- package/.claude/workflows/cli-templates/prompts/{analysis/03-assess-security-risks.txt → analysis-assess-security-risks.txt} +29 -29
- package/.claude/workflows/cli-templates/prompts/{analysis/02-review-architecture.txt → analysis-review-architecture.txt} +29 -29
- package/.claude/workflows/cli-templates/prompts/{analysis/02-review-code-quality.txt → analysis-review-code-quality.txt} +28 -28
- package/.claude/workflows/cli-templates/prompts/{analysis/03-review-quality-standards.txt → analysis-review-quality-standards.txt} +29 -29
- package/.claude/workflows/cli-templates/prompts/{analysis/01-trace-code-execution.txt → analysis-trace-code-execution.txt} +115 -115
- package/.claude/workflows/cli-templates/prompts/{documentation/api.txt → documentation-api.txt} +14 -14
- package/.claude/workflows/cli-templates/prompts/{documentation/folder-navigation.txt → documentation-folder-navigation.txt} +26 -26
- package/.claude/workflows/cli-templates/prompts/{documentation/project-architecture.txt → documentation-project-architecture.txt} +40 -40
- package/.claude/workflows/cli-templates/prompts/{documentation/project-examples.txt → documentation-project-examples.txt} +34 -34
- package/.claude/workflows/cli-templates/prompts/{documentation/project-readme.txt → documentation-project-readme.txt} +34 -34
- package/.claude/workflows/cli-templates/prompts/{documentation/swagger-api.txt → documentation-swagger-api.txt} +266 -266
- package/.claude/workflows/cli-templates/prompts/{planning/02-design-component-spec.txt → planning-design-component-spec.txt} +28 -28
- package/.claude/workflows/cli-templates/prompts/{verification/codex-technical.txt → verification-codex-technical.txt} +28 -28
- package/.claude/workflows/cli-templates/prompts/{verification/cross-validation.txt → verification-cross-validation.txt} +28 -28
- package/.claude/workflows/cli-templates/prompts/{verification/gemini-strategic.txt → verification-gemini-strategic.txt} +27 -27
- package/.claude/workflows/cli-templates/prompts/{workflow/analysis-results-structure.txt → workflow-analysis-results-structure.txt} +224 -224
- package/.claude/workflows/cli-templates/prompts/{workflow/impl-plan-template.txt → workflow-impl-plan-template.txt} +286 -286
- package/.claude/workflows/cli-templates/prompts/{workflow/skill-conflict-patterns.txt → workflow-skill-conflict-patterns.txt} +2 -2
- package/.claude/workflows/cli-templates/prompts/{workflow/skill-lessons-learned.txt → workflow-skill-lessons-learned.txt} +2 -2
- package/.claude/workflows/cli-templates/prompts/{workflow/task-json-agent-mode.txt → workflow-task-json-agent-mode.txt} +123 -123
- package/.claude/workflows/cli-templates/schemas/issues-jsonl-schema.json +29 -0
- package/.claude/workflows/cli-templates/schemas/plan-json-schema.json +200 -0
- package/.claude/workflows/cli-templates/schemas/project-guidelines-schema.json +141 -141
- package/.claude/workflows/cli-tools-usage.md +113 -117
- package/.claude/workflows/coding-philosophy.md +69 -69
- package/.claude/workflows/context-tools.md +76 -76
- package/.claude/workflows/file-modification.md +64 -64
- package/.claude/workflows/review-directory-specification.md +336 -336
- package/.claude/workflows/windows-platform.md +19 -19
- package/.claude/workflows/workflow-architecture.md +942 -942
- package/.codex/prompts/debug-with-file.md +609 -0
- package/.codex/prompts/issue-execute.md +176 -70
- package/README.md +250 -214
- package/ccw/dist/cli.d.ts.map +1 -1
- package/ccw/dist/cli.js +15 -0
- package/ccw/dist/cli.js.map +1 -1
- package/ccw/dist/commands/cli.d.ts +5 -0
- package/ccw/dist/commands/cli.d.ts.map +1 -1
- package/ccw/dist/commands/cli.js +114 -18
- package/ccw/dist/commands/cli.js.map +1 -1
- package/ccw/dist/commands/install.d.ts +17 -0
- package/ccw/dist/commands/install.d.ts.map +1 -1
- package/ccw/dist/commands/install.js +211 -2
- package/ccw/dist/commands/install.js.map +1 -1
- package/ccw/dist/commands/issue.d.ts.map +1 -1
- package/ccw/dist/commands/issue.js +245 -32
- package/ccw/dist/commands/issue.js.map +1 -1
- package/ccw/dist/commands/uninstall.d.ts.map +1 -1
- package/ccw/dist/commands/uninstall.js +22 -1
- package/ccw/dist/commands/uninstall.js.map +1 -1
- package/ccw/dist/commands/view.d.ts.map +1 -1
- package/ccw/dist/commands/view.js +3 -0
- package/ccw/dist/commands/view.js.map +1 -1
- package/ccw/dist/commands/workflow.d.ts +11 -0
- package/ccw/dist/commands/workflow.d.ts.map +1 -0
- package/ccw/dist/commands/workflow.js +294 -0
- package/ccw/dist/commands/workflow.js.map +1 -0
- package/ccw/dist/core/routes/claude-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/claude-routes.js +57 -3
- package/ccw/dist/core/routes/claude-routes.js.map +1 -1
- package/ccw/dist/core/routes/cli-routes.d.ts +13 -0
- package/ccw/dist/core/routes/cli-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/cli-routes.js +46 -0
- package/ccw/dist/core/routes/cli-routes.js.map +1 -1
- package/ccw/dist/core/routes/hooks-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/hooks-routes.js +36 -0
- package/ccw/dist/core/routes/hooks-routes.js.map +1 -1
- package/ccw/dist/core/routes/issue-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/issue-routes.js +211 -29
- package/ccw/dist/core/routes/issue-routes.js.map +1 -1
- package/ccw/dist/core/routes/mcp-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/mcp-routes.js +4 -1
- package/ccw/dist/core/routes/mcp-routes.js.map +1 -1
- package/ccw/dist/core/routes/rules-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/rules-routes.js +22 -6
- package/ccw/dist/core/routes/rules-routes.js.map +1 -1
- package/ccw/dist/core/routes/session-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/session-routes.js +23 -1
- package/ccw/dist/core/routes/session-routes.js.map +1 -1
- package/ccw/dist/mcp-server/index.js +8 -2
- package/ccw/dist/mcp-server/index.js.map +1 -1
- package/ccw/dist/tools/claude-cli-tools.d.ts.map +1 -1
- package/ccw/dist/tools/claude-cli-tools.js +52 -28
- package/ccw/dist/tools/claude-cli-tools.js.map +1 -1
- package/ccw/dist/tools/cli-executor-core.d.ts.map +1 -1
- package/ccw/dist/tools/cli-executor-core.js +33 -8
- package/ccw/dist/tools/cli-executor-core.js.map +1 -1
- package/ccw/dist/tools/cli-executor-state.d.ts +2 -0
- package/ccw/dist/tools/cli-executor-state.d.ts.map +1 -1
- package/ccw/dist/tools/cli-executor-state.js.map +1 -1
- package/ccw/dist/tools/cli-executor-utils.d.ts +7 -0
- package/ccw/dist/tools/cli-executor-utils.d.ts.map +1 -1
- package/ccw/dist/tools/cli-executor-utils.js +18 -4
- package/ccw/dist/tools/cli-executor-utils.js.map +1 -1
- package/ccw/dist/tools/cli-history-store.d.ts +21 -0
- package/ccw/dist/tools/cli-history-store.d.ts.map +1 -1
- package/ccw/dist/tools/cli-history-store.js +106 -30
- package/ccw/dist/tools/cli-history-store.js.map +1 -1
- package/ccw/dist/tools/cli-output-converter.d.ts +2 -1
- package/ccw/dist/tools/cli-output-converter.d.ts.map +1 -1
- package/ccw/dist/tools/cli-output-converter.js +65 -10
- package/ccw/dist/tools/cli-output-converter.js.map +1 -1
- package/ccw/dist/tools/codex-lens-lsp.d.ts +61 -0
- package/ccw/dist/tools/codex-lens-lsp.d.ts.map +1 -0
- package/ccw/dist/tools/codex-lens-lsp.js +320 -0
- package/ccw/dist/tools/codex-lens-lsp.js.map +1 -0
- package/ccw/dist/tools/codex-lens.d.ts.map +1 -1
- package/ccw/dist/tools/codex-lens.js +130 -91
- package/ccw/dist/tools/codex-lens.js.map +1 -1
- package/ccw/dist/tools/index.d.ts.map +1 -1
- package/ccw/dist/tools/index.js +4 -0
- package/ccw/dist/tools/index.js.map +1 -1
- package/ccw/dist/tools/template-discovery.d.ts +85 -0
- package/ccw/dist/tools/template-discovery.d.ts.map +1 -0
- package/ccw/dist/tools/template-discovery.js +239 -0
- package/ccw/dist/tools/template-discovery.js.map +1 -0
- package/ccw/dist/tools/vscode-lsp.d.ts +57 -0
- package/ccw/dist/tools/vscode-lsp.d.ts.map +1 -0
- package/ccw/dist/tools/vscode-lsp.js +250 -0
- package/ccw/dist/tools/vscode-lsp.js.map +1 -0
- package/ccw/dist/utils/path-resolver.d.ts +16 -2
- package/ccw/dist/utils/path-resolver.d.ts.map +1 -1
- package/ccw/dist/utils/path-resolver.js +36 -6
- package/ccw/dist/utils/path-resolver.js.map +1 -1
- package/ccw/dist/utils/path-validator.d.ts +5 -0
- package/ccw/dist/utils/path-validator.d.ts.map +1 -1
- package/ccw/dist/utils/path-validator.js +16 -5
- package/ccw/dist/utils/path-validator.js.map +1 -1
- package/ccw/dist/utils/project-root.d.ts +25 -0
- package/ccw/dist/utils/project-root.d.ts.map +1 -0
- package/ccw/dist/utils/project-root.js +63 -0
- package/ccw/dist/utils/project-root.js.map +1 -0
- package/ccw/dist/utils/shell-escape.d.ts +47 -3
- package/ccw/dist/utils/shell-escape.d.ts.map +1 -1
- package/ccw/dist/utils/shell-escape.js +98 -15
- package/ccw/dist/utils/shell-escape.js.map +1 -1
- package/ccw/dist/utils/update-checker.d.ts +11 -0
- package/ccw/dist/utils/update-checker.d.ts.map +1 -0
- package/ccw/dist/utils/update-checker.js +167 -0
- package/ccw/dist/utils/update-checker.js.map +1 -0
- package/ccw/scripts/IMPLEMENTATION-SUMMARY.md +2 -2
- package/ccw/scripts/QUICK-REFERENCE.md +1 -1
- package/ccw/scripts/README-memory-embedder.md +1 -1
- package/ccw/scripts/memory_embedder.py +1 -1
- package/ccw/src/cli.ts +16 -0
- package/ccw/src/commands/cli.ts +124 -18
- package/ccw/src/commands/install.ts +239 -2
- package/ccw/src/commands/issue.ts +286 -36
- package/ccw/src/commands/uninstall.ts +23 -1
- package/ccw/src/commands/view.ts +4 -0
- package/ccw/src/commands/workflow.ts +348 -0
- package/ccw/src/core/routes/claude-routes.ts +64 -3
- package/ccw/src/core/routes/cli-routes.ts +58 -0
- package/ccw/src/core/routes/hooks-routes.ts +35 -0
- package/ccw/src/core/routes/issue-routes.ts +242 -28
- package/ccw/src/core/routes/mcp-routes.ts +6 -2
- package/ccw/src/core/routes/rules-routes.ts +24 -6
- package/ccw/src/core/routes/session-routes.ts +24 -1
- package/ccw/src/mcp-server/index.ts +7 -2
- package/ccw/src/templates/dashboard-css/26-claude-manager.css +179 -0
- package/ccw/src/templates/dashboard-css/32-issue-manager.css +3587 -3302
- package/ccw/src/templates/dashboard-css/33-cli-stream-viewer.css +1 -0
- package/ccw/src/templates/dashboard-js/components/cli-history.js +4 -1
- package/ccw/src/templates/dashboard-js/components/cli-stream-viewer.js +57 -21
- package/ccw/src/templates/dashboard-js/components/hook-manager.js +1492 -1492
- package/ccw/src/templates/dashboard-js/components/mcp-manager.js +107 -20
- package/ccw/src/templates/dashboard-js/components/version-check.js +135 -1
- package/ccw/src/templates/dashboard-js/i18n.js +42 -0
- package/ccw/src/templates/dashboard-js/views/claude-manager.js +168 -0
- package/ccw/src/templates/dashboard-js/views/cli-manager.js +1 -0
- package/ccw/src/templates/dashboard-js/views/issue-manager.js +360 -1
- package/ccw/src/templates/dashboard-js/views/lite-tasks.js +3502 -3478
- package/ccw/src/templates/dashboard-js/views/mcp-manager.js +16 -0
- package/ccw/src/templates/dashboard.html +112 -0
- package/ccw/src/tools/claude-cli-tools.ts +54 -28
- package/ccw/src/tools/cli-executor-core.ts +36 -8
- package/ccw/src/tools/cli-executor-state.ts +2 -0
- package/ccw/src/tools/cli-executor-utils.ts +26 -4
- package/ccw/src/tools/cli-history-store.ts +122 -31
- package/ccw/src/tools/cli-output-converter.ts +76 -12
- package/ccw/src/tools/codex-lens-lsp.ts +405 -0
- package/ccw/src/tools/codex-lens.ts +143 -93
- package/ccw/src/tools/index.ts +4 -0
- package/ccw/src/tools/template-discovery.ts +303 -0
- package/ccw/src/tools/vscode-lsp.ts +317 -0
- package/ccw/src/utils/path-resolver.ts +37 -6
- package/ccw/src/utils/path-validator.ts +17 -5
- package/ccw/src/utils/project-root.ts +73 -0
- package/ccw/src/utils/shell-escape.ts +103 -16
- package/ccw/src/utils/update-checker.ts +178 -0
- package/codex-lens/pyproject.toml +14 -0
- package/codex-lens/src/codexlens/__pycache__/config.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/config.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/errors.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/errors.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/api/__init__.py +88 -0
- package/codex-lens/src/codexlens/api/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/api/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/api/__pycache__/definition.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/api/__pycache__/definition.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/api/__pycache__/file_context.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/api/__pycache__/file_context.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/api/__pycache__/hover.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/api/__pycache__/hover.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/api/__pycache__/models.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/api/__pycache__/models.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/api/__pycache__/references.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/api/__pycache__/references.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/api/__pycache__/semantic.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/api/__pycache__/semantic.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/api/__pycache__/symbols.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/api/__pycache__/symbols.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/api/__pycache__/utils.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/api/__pycache__/utils.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/api/definition.py +126 -0
- package/codex-lens/src/codexlens/api/file_context.py +271 -0
- package/codex-lens/src/codexlens/api/hover.py +148 -0
- package/codex-lens/src/codexlens/api/models.py +281 -0
- package/codex-lens/src/codexlens/api/references.py +345 -0
- package/codex-lens/src/codexlens/api/semantic.py +471 -0
- package/codex-lens/src/codexlens/api/symbols.py +146 -0
- package/codex-lens/src/codexlens/api/utils.py +153 -0
- package/codex-lens/src/codexlens/config.py +7 -0
- package/codex-lens/src/codexlens/errors.py +4 -0
- package/codex-lens/src/codexlens/hybrid_search/__init__.py +28 -0
- package/codex-lens/src/codexlens/hybrid_search/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/hybrid_search/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/hybrid_search/__pycache__/data_structures.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/hybrid_search/__pycache__/data_structures.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/hybrid_search/__pycache__/engine.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/hybrid_search/data_structures.py +602 -0
- package/codex-lens/src/codexlens/lsp/__init__.py +34 -0
- package/codex-lens/src/codexlens/lsp/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/lsp/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/lsp/__pycache__/handlers.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/lsp/__pycache__/lsp_bridge.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/lsp/__pycache__/lsp_bridge.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/lsp/__pycache__/lsp_graph_builder.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/lsp/__pycache__/lsp_graph_builder.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/lsp/__pycache__/providers.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/lsp/__pycache__/server.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/lsp/__pycache__/standalone_manager.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/lsp/handlers.py +551 -0
- package/codex-lens/src/codexlens/lsp/lsp_bridge.py +834 -0
- package/codex-lens/src/codexlens/lsp/lsp_graph_builder.py +375 -0
- package/codex-lens/src/codexlens/lsp/providers.py +177 -0
- package/codex-lens/src/codexlens/lsp/server.py +263 -0
- package/codex-lens/src/codexlens/lsp/standalone_manager.py +1159 -0
- package/codex-lens/src/codexlens/mcp/__init__.py +20 -0
- package/codex-lens/src/codexlens/mcp/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/mcp/__pycache__/hooks.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/mcp/__pycache__/provider.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/mcp/__pycache__/schema.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/mcp/hooks.py +170 -0
- package/codex-lens/src/codexlens/mcp/provider.py +202 -0
- package/codex-lens/src/codexlens/mcp/schema.py +113 -0
- package/codex-lens/src/codexlens/search/__init__.py +53 -15
- package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/association_tree/QUICK_START.md +257 -0
- package/codex-lens/src/codexlens/search/association_tree/README.md +188 -0
- package/codex-lens/src/codexlens/search/association_tree/__init__.py +21 -0
- package/codex-lens/src/codexlens/search/association_tree/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/association_tree/__pycache__/builder.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/association_tree/__pycache__/data_structures.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/association_tree/__pycache__/deduplicator.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/association_tree/builder.py +450 -0
- package/codex-lens/src/codexlens/search/association_tree/data_structures.py +191 -0
- package/codex-lens/src/codexlens/search/association_tree/deduplicator.py +301 -0
- package/codex-lens/src/codexlens/search/chain_search.py +864 -3
- package/codex-lens/src/codexlens/search/clustering/__init__.py +124 -0
- package/codex-lens/src/codexlens/search/clustering/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/search/clustering/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/clustering/__pycache__/base.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/search/clustering/__pycache__/base.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/clustering/__pycache__/dbscan_strategy.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/clustering/__pycache__/factory.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/search/clustering/__pycache__/factory.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/clustering/__pycache__/frequency_strategy.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/search/clustering/__pycache__/frequency_strategy.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/clustering/__pycache__/hdbscan_strategy.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/clustering/__pycache__/noop_strategy.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/search/clustering/__pycache__/noop_strategy.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/clustering/base.py +153 -0
- package/codex-lens/src/codexlens/search/clustering/dbscan_strategy.py +197 -0
- package/codex-lens/src/codexlens/search/clustering/factory.py +202 -0
- package/codex-lens/src/codexlens/search/clustering/frequency_strategy.py +263 -0
- package/codex-lens/src/codexlens/search/clustering/hdbscan_strategy.py +153 -0
- package/codex-lens/src/codexlens/search/clustering/noop_strategy.py +83 -0
- package/codex-lens/src/codexlens/search/hybrid_search.py +194 -2
- package/codex-lens/src/codexlens/search/ranking.py +6 -4
- package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/global_index.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/global_index.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/dir_index.py +172 -0
- package/codex-lens/src/codexlens/storage/global_index.py +33 -0
- package/package.json +92 -92
- /package/.claude/workflows/cli-templates/prompts/{analysis/02-analyze-code-patterns.txt → analysis-analyze-code-patterns.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{analysis/02-analyze-technical-document.txt → analysis-analyze-technical-document.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{analysis/01-diagnose-bug-root-cause.txt → analysis-diagnose-bug-root-cause.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{development/03-debug-runtime-issues.txt → development-debug-runtime-issues.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{development/02-generate-tests.txt → development-generate-tests.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{development/02-implement-component-ui.txt → development-implement-component-ui.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{development/02-implement-feature.txt → development-implement-feature.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{development/02-refactor-codebase.txt → development-refactor-codebase.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{documentation/module-readme.txt → documentation-module-readme.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{memory/02-document-module-structure.txt → memory-document-module-structure.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{planning/02-breakdown-task-steps.txt → planning-breakdown-task-steps.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{planning/03-evaluate-concept-feasibility.txt → planning-evaluate-concept-feasibility.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{planning/01-plan-architecture-design.txt → planning-plan-architecture-design.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{planning/03-plan-migration-strategy.txt → planning-plan-migration-strategy.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{rules/rule-api.txt → rules-rule-api.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{rules/rule-components.txt → rules-rule-components.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{rules/rule-config.txt → rules-rule-config.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{rules/rule-core.txt → rules-rule-core.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{rules/rule-patterns.txt → rules-rule-patterns.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{rules/rule-testing.txt → rules-rule-testing.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{rules/tech-rules-agent-prompt.txt → rules-tech-rules-agent-prompt.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{tech/tech-module-format.txt → tech-tech-module-format.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{tech/tech-skill-index.txt → tech-tech-skill-index.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{test/test-concept-analysis.txt → test-test-concept-analysis.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{universal/00-universal-creative-style.txt → universal-universal-creative-style.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{universal/00-universal-rigorous-style.txt → universal-universal-rigorous-style.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{workflow/codex-feasibility-validation.txt → workflow-codex-feasibility-validation.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{workflow/gemini-solution-design.txt → workflow-gemini-solution-design.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{workflow/skill-aggregation.txt → workflow-skill-aggregation.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{workflow/skill-index.txt → workflow-skill-index.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{workflow/skill-sessions-timeline.txt → workflow-skill-sessions-timeline.txt} +0 -0
- /package/.claude/workflows/cli-templates/prompts/{workflow/task-json-cli-mode.txt → workflow-task-json-cli-mode.txt} +0 -0
|
@@ -1,235 +1,235 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: test-context-gather
|
|
3
|
-
description: Collect test coverage context using test-context-search-agent and package into standardized test-context JSON
|
|
4
|
-
argument-hint: "--session WFS-test-session-id"
|
|
5
|
-
examples:
|
|
6
|
-
- /workflow:tools:test-context-gather --session WFS-test-auth
|
|
7
|
-
- /workflow:tools:test-context-gather --session WFS-test-payment
|
|
8
|
-
allowed-tools: Task(*), Read(*), Glob(*)
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Test Context Gather Command (/workflow:tools:test-context-gather)
|
|
12
|
-
|
|
13
|
-
## Overview
|
|
14
|
-
|
|
15
|
-
Orchestrator command that invokes `test-context-search-agent` to gather comprehensive test coverage context for test generation workflows. Generates standardized `test-context-package.json` with coverage analysis, framework detection, and source implementation context.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
## Core Philosophy
|
|
20
|
-
|
|
21
|
-
- **Agent Delegation**: Delegate all test coverage analysis to `test-context-search-agent` for autonomous execution
|
|
22
|
-
- **Detection-First**: Check for existing test-context-package before executing
|
|
23
|
-
- **Coverage-First**: Analyze existing test coverage before planning new tests
|
|
24
|
-
- **Source Context Loading**: Import implementation summaries from source session
|
|
25
|
-
- **Standardized Output**: Generate `.workflow/active/{test_session_id}/.process/test-context-package.json`
|
|
26
|
-
|
|
27
|
-
## Execution Process
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
Input Parsing:
|
|
31
|
-
├─ Parse flags: --session
|
|
32
|
-
└─ Validation: test_session_id REQUIRED
|
|
33
|
-
|
|
34
|
-
Step 1: Test-Context-Package Detection
|
|
35
|
-
└─ Decision (existing package):
|
|
36
|
-
├─ Valid package exists → Return existing (skip execution)
|
|
37
|
-
└─ No valid package → Continue to Step 2
|
|
38
|
-
|
|
39
|
-
Step 2: Invoke Test-Context-Search Agent
|
|
40
|
-
├─ Phase 1: Session Validation & Source Context Loading
|
|
41
|
-
│ ├─ Detection: Check for existing test-context-package
|
|
42
|
-
│ ├─ Test session validation
|
|
43
|
-
│ └─ Source context loading (summaries, changed files)
|
|
44
|
-
├─ Phase 2: Test Coverage Analysis
|
|
45
|
-
│ ├─ Track 1: Existing test discovery
|
|
46
|
-
│ ├─ Track 2: Coverage gap analysis
|
|
47
|
-
│ └─ Track 3: Coverage statistics
|
|
48
|
-
└─ Phase 3: Framework Detection & Packaging
|
|
49
|
-
├─ Framework identification
|
|
50
|
-
├─ Convention analysis
|
|
51
|
-
└─ Generate test-context-package.json
|
|
52
|
-
|
|
53
|
-
Step 3: Output Verification
|
|
54
|
-
└─ Verify test-context-package.json created
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## Execution Flow
|
|
58
|
-
|
|
59
|
-
### Step 1: Test-Context-Package Detection
|
|
60
|
-
|
|
61
|
-
**Execute First** - Check if valid package already exists:
|
|
62
|
-
|
|
63
|
-
```javascript
|
|
64
|
-
const testContextPath = `.workflow/${test_session_id}/.process/test-context-package.json`;
|
|
65
|
-
|
|
66
|
-
if (file_exists(testContextPath)) {
|
|
67
|
-
const existing = Read(testContextPath);
|
|
68
|
-
|
|
69
|
-
// Validate package belongs to current test session
|
|
70
|
-
if (existing?.metadata?.test_session_id === test_session_id) {
|
|
71
|
-
console.log("✅ Valid test-context-package found for session:", test_session_id);
|
|
72
|
-
console.log("📊 Coverage Stats:", existing.test_coverage.coverage_stats);
|
|
73
|
-
console.log("🧪 Framework:", existing.test_framework.framework);
|
|
74
|
-
console.log("⚠️ Missing Tests:", existing.test_coverage.missing_tests.length);
|
|
75
|
-
return existing; // Skip execution, return existing
|
|
76
|
-
} else {
|
|
77
|
-
console.warn("⚠️ Invalid test_session_id in existing package, re-generating...");
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### Step 2: Invoke Test-Context-Search Agent
|
|
83
|
-
|
|
84
|
-
**Only execute if Step 1 finds no valid package**
|
|
85
|
-
|
|
86
|
-
```javascript
|
|
87
|
-
Task(
|
|
88
|
-
subagent_type="test-context-search-agent",
|
|
89
|
-
run_in_background=false,
|
|
90
|
-
description="Gather test coverage context",
|
|
91
|
-
prompt=`
|
|
92
|
-
|
|
93
|
-
## Execution Mode
|
|
94
|
-
**PLAN MODE** (Comprehensive) - Full Phase 1-3 execution
|
|
95
|
-
|
|
96
|
-
## Session Information
|
|
97
|
-
- **Test Session ID**: ${test_session_id}
|
|
98
|
-
- **Output Path**: .workflow/${test_session_id}/.process/test-context-package.json
|
|
99
|
-
|
|
100
|
-
## Mission
|
|
101
|
-
Execute complete test-context-search-agent workflow for test generation planning:
|
|
102
|
-
|
|
103
|
-
### Phase 1: Session Validation & Source Context Loading
|
|
104
|
-
1. **Detection**: Check for existing test-context-package (early exit if valid)
|
|
105
|
-
2. **Test Session Validation**: Load test session metadata, extract source_session reference
|
|
106
|
-
3. **Source Context Loading**: Load source session implementation summaries, changed files, tech stack
|
|
107
|
-
|
|
108
|
-
### Phase 2: Test Coverage Analysis
|
|
109
|
-
Execute coverage discovery:
|
|
110
|
-
- **Track 1**: Existing test discovery (find *.test.*, *.spec.* files)
|
|
111
|
-
- **Track 2**: Coverage gap analysis (match implementation files to test files)
|
|
112
|
-
- **Track 3**: Coverage statistics (calculate percentages, identify gaps by module)
|
|
113
|
-
|
|
114
|
-
### Phase 3: Framework Detection & Packaging
|
|
115
|
-
1. Framework identification from package.json/requirements.txt
|
|
116
|
-
2. Convention analysis from existing test patterns
|
|
117
|
-
3. Generate and validate test-context-package.json
|
|
118
|
-
|
|
119
|
-
## Output Requirements
|
|
120
|
-
Complete test-context-package.json with:
|
|
121
|
-
- **metadata**: test_session_id, source_session_id, task_type, complexity
|
|
122
|
-
- **source_context**: implementation_summaries, tech_stack, project_patterns
|
|
123
|
-
- **test_coverage**: existing_tests[], missing_tests[], coverage_stats
|
|
124
|
-
- **test_framework**: framework, version, test_pattern, conventions
|
|
125
|
-
- **assets**: implementation_summary[], existing_test[], source_code[] with priorities
|
|
126
|
-
- **focus_areas**: Test generation guidance based on coverage gaps
|
|
127
|
-
|
|
128
|
-
## Quality Validation
|
|
129
|
-
Before completion verify:
|
|
130
|
-
- [ ] Valid JSON format with all required fields
|
|
131
|
-
- [ ] Source session context loaded successfully
|
|
132
|
-
- [ ] Test coverage gaps identified
|
|
133
|
-
- [ ] Test framework detected (or marked as 'unknown')
|
|
134
|
-
- [ ] Coverage percentage calculated correctly
|
|
135
|
-
- [ ] Missing tests catalogued with priority
|
|
136
|
-
- [ ] Execution time < 30 seconds (< 60s for large codebases)
|
|
137
|
-
|
|
138
|
-
Execute autonomously following agent documentation.
|
|
139
|
-
Report completion with coverage statistics.
|
|
140
|
-
`
|
|
141
|
-
)
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
### Step 3: Output Verification
|
|
145
|
-
|
|
146
|
-
After agent completes, verify output:
|
|
147
|
-
|
|
148
|
-
```javascript
|
|
149
|
-
// Verify file was created
|
|
150
|
-
const outputPath = `.workflow/${test_session_id}/.process/test-context-package.json`;
|
|
151
|
-
if (!file_exists(outputPath)) {
|
|
152
|
-
throw new Error("❌ Agent failed to generate test-context-package.json");
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
// Load and display summary
|
|
156
|
-
const testContext = Read(outputPath);
|
|
157
|
-
console.log("✅ Test context package generated successfully");
|
|
158
|
-
console.log("📊 Coverage:", testContext.test_coverage.coverage_stats.coverage_percentage + "%");
|
|
159
|
-
console.log("⚠️ Tests to generate:", testContext.test_coverage.missing_tests.length);
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
## Parameter Reference
|
|
163
|
-
|
|
164
|
-
| Parameter | Type | Required | Description |
|
|
165
|
-
|-----------|------|----------|-------------|
|
|
166
|
-
| `--session` | string | ✅ | Test workflow session ID (e.g., WFS-test-auth) |
|
|
167
|
-
|
|
168
|
-
## Output Schema
|
|
169
|
-
|
|
170
|
-
Refer to `test-context-search-agent.md` Phase 3.2 for complete `test-context-package.json` schema.
|
|
171
|
-
|
|
172
|
-
**Key Sections**:
|
|
173
|
-
- **metadata**: Test session info, source session reference, complexity
|
|
174
|
-
- **source_context**: Implementation summaries with changed files and tech stack
|
|
175
|
-
- **test_coverage**: Existing tests, missing tests with priorities, coverage statistics
|
|
176
|
-
- **test_framework**: Framework name, version, patterns, conventions
|
|
177
|
-
- **assets**: Categorized files with relevance (implementation_summary, existing_test, source_code)
|
|
178
|
-
- **focus_areas**: Test generation guidance based on analysis
|
|
179
|
-
|
|
180
|
-
## Usage Examples
|
|
181
|
-
|
|
182
|
-
### Basic Usage
|
|
183
|
-
```bash
|
|
184
|
-
/workflow:tools:test-context-gather --session WFS-test-auth
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
### Expected Output
|
|
188
|
-
```
|
|
189
|
-
✅ Valid test-context-package found for session: WFS-test-auth
|
|
190
|
-
📊 Coverage Stats: { total: 3, with_tests: 2, without_tests: 1, percentage: 66.7 }
|
|
191
|
-
🧪 Framework: jest
|
|
192
|
-
⚠️ Missing Tests: 1
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
## Success Criteria
|
|
196
|
-
|
|
197
|
-
- ✅ Valid test-context-package.json generated in `.workflow/active/{test_session_id}/.process/`
|
|
198
|
-
- ✅ Source session context loaded successfully
|
|
199
|
-
- ✅ Test coverage gaps identified (>90% accuracy)
|
|
200
|
-
- ✅ Test framework detected and documented
|
|
201
|
-
- ✅ Execution completes within 30 seconds (60s for large codebases)
|
|
202
|
-
- ✅ All required schema fields present and valid
|
|
203
|
-
- ✅ Coverage statistics calculated correctly
|
|
204
|
-
- ✅ Agent reports completion with statistics
|
|
205
|
-
|
|
206
|
-
## Error Handling
|
|
207
|
-
|
|
208
|
-
| Error | Cause | Resolution |
|
|
209
|
-
|-------|-------|------------|
|
|
210
|
-
| Package validation failed | Invalid test_session_id in existing package | Re-run agent to regenerate |
|
|
211
|
-
| Source session not found | Invalid source_session reference | Verify test session metadata |
|
|
212
|
-
| No implementation summaries | Source session incomplete | Complete source session first |
|
|
213
|
-
| Agent execution timeout | Large codebase or slow analysis | Increase timeout, check file access |
|
|
214
|
-
| Missing required fields | Agent incomplete execution | Check agent logs, verify schema compliance |
|
|
215
|
-
| No test framework detected | Missing test dependencies | Agent marks as 'unknown', manual specification needed |
|
|
216
|
-
|
|
217
|
-
## Integration
|
|
218
|
-
|
|
219
|
-
### Called By
|
|
220
|
-
- `/workflow:test-gen` (Phase 3: Context Gathering)
|
|
221
|
-
|
|
222
|
-
### Calls
|
|
223
|
-
- `test-context-search-agent` - Autonomous test coverage analysis
|
|
224
|
-
|
|
225
|
-
### Followed By
|
|
226
|
-
- `/workflow:tools:test-concept-enhanced` - Test generation analysis and planning
|
|
227
|
-
|
|
228
|
-
## Notes
|
|
229
|
-
|
|
230
|
-
- **Detection-first**: Always check for existing test-context-package before invoking agent
|
|
231
|
-
|
|
232
|
-
- **No redundancy**: This command is a thin orchestrator, all logic in agent
|
|
233
|
-
- **Framework agnostic**: Supports Jest, Mocha, pytest, RSpec, Go testing, etc.
|
|
234
|
-
- **Coverage focus**: Primary goal is identifying implementation files without tests
|
|
235
|
-
|
|
1
|
+
---
|
|
2
|
+
name: test-context-gather
|
|
3
|
+
description: Collect test coverage context using test-context-search-agent and package into standardized test-context JSON
|
|
4
|
+
argument-hint: "--session WFS-test-session-id"
|
|
5
|
+
examples:
|
|
6
|
+
- /workflow:tools:test-context-gather --session WFS-test-auth
|
|
7
|
+
- /workflow:tools:test-context-gather --session WFS-test-payment
|
|
8
|
+
allowed-tools: Task(*), Read(*), Glob(*)
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Test Context Gather Command (/workflow:tools:test-context-gather)
|
|
12
|
+
|
|
13
|
+
## Overview
|
|
14
|
+
|
|
15
|
+
Orchestrator command that invokes `test-context-search-agent` to gather comprehensive test coverage context for test generation workflows. Generates standardized `test-context-package.json` with coverage analysis, framework detection, and source implementation context.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## Core Philosophy
|
|
20
|
+
|
|
21
|
+
- **Agent Delegation**: Delegate all test coverage analysis to `test-context-search-agent` for autonomous execution
|
|
22
|
+
- **Detection-First**: Check for existing test-context-package before executing
|
|
23
|
+
- **Coverage-First**: Analyze existing test coverage before planning new tests
|
|
24
|
+
- **Source Context Loading**: Import implementation summaries from source session
|
|
25
|
+
- **Standardized Output**: Generate `.workflow/active/{test_session_id}/.process/test-context-package.json`
|
|
26
|
+
|
|
27
|
+
## Execution Process
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
Input Parsing:
|
|
31
|
+
├─ Parse flags: --session
|
|
32
|
+
└─ Validation: test_session_id REQUIRED
|
|
33
|
+
|
|
34
|
+
Step 1: Test-Context-Package Detection
|
|
35
|
+
└─ Decision (existing package):
|
|
36
|
+
├─ Valid package exists → Return existing (skip execution)
|
|
37
|
+
└─ No valid package → Continue to Step 2
|
|
38
|
+
|
|
39
|
+
Step 2: Invoke Test-Context-Search Agent
|
|
40
|
+
├─ Phase 1: Session Validation & Source Context Loading
|
|
41
|
+
│ ├─ Detection: Check for existing test-context-package
|
|
42
|
+
│ ├─ Test session validation
|
|
43
|
+
│ └─ Source context loading (summaries, changed files)
|
|
44
|
+
├─ Phase 2: Test Coverage Analysis
|
|
45
|
+
│ ├─ Track 1: Existing test discovery
|
|
46
|
+
│ ├─ Track 2: Coverage gap analysis
|
|
47
|
+
│ └─ Track 3: Coverage statistics
|
|
48
|
+
└─ Phase 3: Framework Detection & Packaging
|
|
49
|
+
├─ Framework identification
|
|
50
|
+
├─ Convention analysis
|
|
51
|
+
└─ Generate test-context-package.json
|
|
52
|
+
|
|
53
|
+
Step 3: Output Verification
|
|
54
|
+
└─ Verify test-context-package.json created
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Execution Flow
|
|
58
|
+
|
|
59
|
+
### Step 1: Test-Context-Package Detection
|
|
60
|
+
|
|
61
|
+
**Execute First** - Check if valid package already exists:
|
|
62
|
+
|
|
63
|
+
```javascript
|
|
64
|
+
const testContextPath = `.workflow/${test_session_id}/.process/test-context-package.json`;
|
|
65
|
+
|
|
66
|
+
if (file_exists(testContextPath)) {
|
|
67
|
+
const existing = Read(testContextPath);
|
|
68
|
+
|
|
69
|
+
// Validate package belongs to current test session
|
|
70
|
+
if (existing?.metadata?.test_session_id === test_session_id) {
|
|
71
|
+
console.log("✅ Valid test-context-package found for session:", test_session_id);
|
|
72
|
+
console.log("📊 Coverage Stats:", existing.test_coverage.coverage_stats);
|
|
73
|
+
console.log("🧪 Framework:", existing.test_framework.framework);
|
|
74
|
+
console.log("⚠️ Missing Tests:", existing.test_coverage.missing_tests.length);
|
|
75
|
+
return existing; // Skip execution, return existing
|
|
76
|
+
} else {
|
|
77
|
+
console.warn("⚠️ Invalid test_session_id in existing package, re-generating...");
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Step 2: Invoke Test-Context-Search Agent
|
|
83
|
+
|
|
84
|
+
**Only execute if Step 1 finds no valid package**
|
|
85
|
+
|
|
86
|
+
```javascript
|
|
87
|
+
Task(
|
|
88
|
+
subagent_type="test-context-search-agent",
|
|
89
|
+
run_in_background=false,
|
|
90
|
+
description="Gather test coverage context",
|
|
91
|
+
prompt=`
|
|
92
|
+
|
|
93
|
+
## Execution Mode
|
|
94
|
+
**PLAN MODE** (Comprehensive) - Full Phase 1-3 execution
|
|
95
|
+
|
|
96
|
+
## Session Information
|
|
97
|
+
- **Test Session ID**: ${test_session_id}
|
|
98
|
+
- **Output Path**: .workflow/${test_session_id}/.process/test-context-package.json
|
|
99
|
+
|
|
100
|
+
## Mission
|
|
101
|
+
Execute complete test-context-search-agent workflow for test generation planning:
|
|
102
|
+
|
|
103
|
+
### Phase 1: Session Validation & Source Context Loading
|
|
104
|
+
1. **Detection**: Check for existing test-context-package (early exit if valid)
|
|
105
|
+
2. **Test Session Validation**: Load test session metadata, extract source_session reference
|
|
106
|
+
3. **Source Context Loading**: Load source session implementation summaries, changed files, tech stack
|
|
107
|
+
|
|
108
|
+
### Phase 2: Test Coverage Analysis
|
|
109
|
+
Execute coverage discovery:
|
|
110
|
+
- **Track 1**: Existing test discovery (find *.test.*, *.spec.* files)
|
|
111
|
+
- **Track 2**: Coverage gap analysis (match implementation files to test files)
|
|
112
|
+
- **Track 3**: Coverage statistics (calculate percentages, identify gaps by module)
|
|
113
|
+
|
|
114
|
+
### Phase 3: Framework Detection & Packaging
|
|
115
|
+
1. Framework identification from package.json/requirements.txt
|
|
116
|
+
2. Convention analysis from existing test patterns
|
|
117
|
+
3. Generate and validate test-context-package.json
|
|
118
|
+
|
|
119
|
+
## Output Requirements
|
|
120
|
+
Complete test-context-package.json with:
|
|
121
|
+
- **metadata**: test_session_id, source_session_id, task_type, complexity
|
|
122
|
+
- **source_context**: implementation_summaries, tech_stack, project_patterns
|
|
123
|
+
- **test_coverage**: existing_tests[], missing_tests[], coverage_stats
|
|
124
|
+
- **test_framework**: framework, version, test_pattern, conventions
|
|
125
|
+
- **assets**: implementation_summary[], existing_test[], source_code[] with priorities
|
|
126
|
+
- **focus_areas**: Test generation guidance based on coverage gaps
|
|
127
|
+
|
|
128
|
+
## Quality Validation
|
|
129
|
+
Before completion verify:
|
|
130
|
+
- [ ] Valid JSON format with all required fields
|
|
131
|
+
- [ ] Source session context loaded successfully
|
|
132
|
+
- [ ] Test coverage gaps identified
|
|
133
|
+
- [ ] Test framework detected (or marked as 'unknown')
|
|
134
|
+
- [ ] Coverage percentage calculated correctly
|
|
135
|
+
- [ ] Missing tests catalogued with priority
|
|
136
|
+
- [ ] Execution time < 30 seconds (< 60s for large codebases)
|
|
137
|
+
|
|
138
|
+
Execute autonomously following agent documentation.
|
|
139
|
+
Report completion with coverage statistics.
|
|
140
|
+
`
|
|
141
|
+
)
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Step 3: Output Verification
|
|
145
|
+
|
|
146
|
+
After agent completes, verify output:
|
|
147
|
+
|
|
148
|
+
```javascript
|
|
149
|
+
// Verify file was created
|
|
150
|
+
const outputPath = `.workflow/${test_session_id}/.process/test-context-package.json`;
|
|
151
|
+
if (!file_exists(outputPath)) {
|
|
152
|
+
throw new Error("❌ Agent failed to generate test-context-package.json");
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
// Load and display summary
|
|
156
|
+
const testContext = Read(outputPath);
|
|
157
|
+
console.log("✅ Test context package generated successfully");
|
|
158
|
+
console.log("📊 Coverage:", testContext.test_coverage.coverage_stats.coverage_percentage + "%");
|
|
159
|
+
console.log("⚠️ Tests to generate:", testContext.test_coverage.missing_tests.length);
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Parameter Reference
|
|
163
|
+
|
|
164
|
+
| Parameter | Type | Required | Description |
|
|
165
|
+
|-----------|------|----------|-------------|
|
|
166
|
+
| `--session` | string | ✅ | Test workflow session ID (e.g., WFS-test-auth) |
|
|
167
|
+
|
|
168
|
+
## Output Schema
|
|
169
|
+
|
|
170
|
+
Refer to `test-context-search-agent.md` Phase 3.2 for complete `test-context-package.json` schema.
|
|
171
|
+
|
|
172
|
+
**Key Sections**:
|
|
173
|
+
- **metadata**: Test session info, source session reference, complexity
|
|
174
|
+
- **source_context**: Implementation summaries with changed files and tech stack
|
|
175
|
+
- **test_coverage**: Existing tests, missing tests with priorities, coverage statistics
|
|
176
|
+
- **test_framework**: Framework name, version, patterns, conventions
|
|
177
|
+
- **assets**: Categorized files with relevance (implementation_summary, existing_test, source_code)
|
|
178
|
+
- **focus_areas**: Test generation guidance based on analysis
|
|
179
|
+
|
|
180
|
+
## Usage Examples
|
|
181
|
+
|
|
182
|
+
### Basic Usage
|
|
183
|
+
```bash
|
|
184
|
+
/workflow:tools:test-context-gather --session WFS-test-auth
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Expected Output
|
|
188
|
+
```
|
|
189
|
+
✅ Valid test-context-package found for session: WFS-test-auth
|
|
190
|
+
📊 Coverage Stats: { total: 3, with_tests: 2, without_tests: 1, percentage: 66.7 }
|
|
191
|
+
🧪 Framework: jest
|
|
192
|
+
⚠️ Missing Tests: 1
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
## Success Criteria
|
|
196
|
+
|
|
197
|
+
- ✅ Valid test-context-package.json generated in `.workflow/active/{test_session_id}/.process/`
|
|
198
|
+
- ✅ Source session context loaded successfully
|
|
199
|
+
- ✅ Test coverage gaps identified (>90% accuracy)
|
|
200
|
+
- ✅ Test framework detected and documented
|
|
201
|
+
- ✅ Execution completes within 30 seconds (60s for large codebases)
|
|
202
|
+
- ✅ All required schema fields present and valid
|
|
203
|
+
- ✅ Coverage statistics calculated correctly
|
|
204
|
+
- ✅ Agent reports completion with statistics
|
|
205
|
+
|
|
206
|
+
## Error Handling
|
|
207
|
+
|
|
208
|
+
| Error | Cause | Resolution |
|
|
209
|
+
|-------|-------|------------|
|
|
210
|
+
| Package validation failed | Invalid test_session_id in existing package | Re-run agent to regenerate |
|
|
211
|
+
| Source session not found | Invalid source_session reference | Verify test session metadata |
|
|
212
|
+
| No implementation summaries | Source session incomplete | Complete source session first |
|
|
213
|
+
| Agent execution timeout | Large codebase or slow analysis | Increase timeout, check file access |
|
|
214
|
+
| Missing required fields | Agent incomplete execution | Check agent logs, verify schema compliance |
|
|
215
|
+
| No test framework detected | Missing test dependencies | Agent marks as 'unknown', manual specification needed |
|
|
216
|
+
|
|
217
|
+
## Integration
|
|
218
|
+
|
|
219
|
+
### Called By
|
|
220
|
+
- `/workflow:test-gen` (Phase 3: Context Gathering)
|
|
221
|
+
|
|
222
|
+
### Calls
|
|
223
|
+
- `test-context-search-agent` - Autonomous test coverage analysis
|
|
224
|
+
|
|
225
|
+
### Followed By
|
|
226
|
+
- `/workflow:tools:test-concept-enhanced` - Test generation analysis and planning
|
|
227
|
+
|
|
228
|
+
## Notes
|
|
229
|
+
|
|
230
|
+
- **Detection-first**: Always check for existing test-context-package before invoking agent
|
|
231
|
+
|
|
232
|
+
- **No redundancy**: This command is a thin orchestrator, all logic in agent
|
|
233
|
+
- **Framework agnostic**: Supports Jest, Mocha, pytest, RSpec, Go testing, etc.
|
|
234
|
+
- **Coverage focus**: Primary goal is identifying implementation files without tests
|
|
235
|
+
|