claude-code-workflow 6.3.18 → 6.3.19
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 +8 -5
- package/.claude/agents/action-planning-agent.md +26 -2
- package/.claude/agents/code-developer.md +132 -43
- package/.claude/agents/debug-explore-agent.md +434 -0
- package/.claude/agents/test-fix-agent.md +14 -0
- package/.claude/commands/issue/discover.md +41 -0
- package/.claude/commands/issue/execute.md +200 -19
- package/.claude/commands/issue/new.md +1 -1
- package/.claude/commands/issue/plan.md +6 -1
- package/.claude/commands/issue/queue.md +94 -39
- package/.claude/commands/memory/swagger-docs.md +773 -0
- package/.claude/commands/workflow/brainstorm/auto-parallel.md +21 -21
- package/.claude/commands/workflow/execute.md +54 -34
- package/.claude/commands/workflow/lite-execute.md +48 -164
- package/.claude/commands/workflow/lite-fix.md +4 -4
- package/.claude/commands/workflow/lite-plan.md +5 -5
- package/.claude/commands/workflow/plan.md +27 -27
- package/.claude/commands/workflow/review.md +42 -17
- package/.claude/commands/workflow/tdd-plan.md +25 -25
- package/.claude/commands/workflow/test-fix-gen.md +10 -10
- package/.claude/commands/workflow/test-gen.md +14 -14
- package/.claude/commands/workflow/ui-design/explore-auto.md +21 -21
- package/.claude/commands/workflow/ui-design/imitate-auto.md +24 -24
- package/.claude/skills/_shared/SKILL-DESIGN-SPEC.md +693 -0
- package/.claude/skills/ccw/SKILL.md +462 -0
- package/.claude/skills/ccw/index/command-capabilities.json +127 -0
- package/.claude/skills/ccw/index/intent-rules.json +136 -0
- package/.claude/skills/ccw/index/workflow-chains.json +451 -0
- package/.claude/skills/ccw/phases/actions/bugfix.md +218 -0
- package/.claude/skills/ccw/phases/actions/coupled.md +194 -0
- package/.claude/skills/ccw/phases/actions/docs.md +93 -0
- package/.claude/skills/ccw/phases/actions/full.md +154 -0
- package/.claude/skills/ccw/phases/actions/issue.md +201 -0
- package/.claude/skills/ccw/phases/actions/rapid.md +104 -0
- package/.claude/skills/ccw/phases/actions/review-fix.md +84 -0
- package/.claude/skills/ccw/phases/actions/tdd.md +66 -0
- package/.claude/skills/ccw/phases/actions/ui.md +79 -0
- package/.claude/skills/ccw/phases/orchestrator.md +435 -0
- package/.claude/skills/ccw/specs/intent-classification.md +336 -0
- package/.claude/skills/ccw-help/SKILL.md +177 -0
- package/.claude/skills/ccw-help/index/all-agents.json +82 -0
- package/.claude/skills/{command-guide → ccw-help}/index/all-commands.json +183 -73
- package/.claude/skills/{command-guide → ccw-help}/index/by-category.json +187 -73
- package/.claude/skills/{command-guide → ccw-help}/index/by-use-case.json +295 -185
- package/.claude/skills/{command-guide → ccw-help}/index/command-relationships.json +19 -166
- package/.claude/skills/{command-guide → ccw-help}/index/essential-commands.json +10 -10
- package/.claude/skills/ccw-help/scripts/analyze_commands.py +337 -0
- package/.claude/skills/code-reviewer/README.md +340 -0
- package/.claude/skills/code-reviewer/SKILL.md +308 -0
- package/.claude/skills/code-reviewer/phases/01-code-discovery.md +246 -0
- package/.claude/skills/code-reviewer/phases/02-security-analysis.md +442 -0
- package/.claude/skills/code-reviewer/phases/03-best-practices-review.md +36 -0
- package/.claude/skills/code-reviewer/phases/04-report-generation.md +278 -0
- package/.claude/skills/code-reviewer/specs/best-practices-requirements.md +346 -0
- package/.claude/skills/code-reviewer/specs/quality-standards.md +252 -0
- package/.claude/skills/code-reviewer/specs/security-requirements.md +243 -0
- package/.claude/skills/code-reviewer/templates/best-practice-finding.md +234 -0
- package/.claude/skills/code-reviewer/templates/report-template.md +316 -0
- package/.claude/skills/code-reviewer/templates/security-finding.md +161 -0
- package/.claude/skills/skill-generator/SKILL.md +187 -0
- package/.claude/skills/skill-generator/phases/01-requirements-discovery.md +239 -0
- package/.claude/skills/skill-generator/phases/02-structure-generation.md +207 -0
- package/.claude/skills/skill-generator/phases/03-phase-generation.md +802 -0
- package/.claude/skills/skill-generator/phases/04-specs-templates.md +328 -0
- package/.claude/skills/skill-generator/phases/05-validation.md +334 -0
- package/.claude/skills/skill-generator/specs/cli-integration.md +448 -0
- package/.claude/skills/skill-generator/specs/execution-modes.md +396 -0
- package/.claude/skills/skill-generator/specs/scripting-integration.md +265 -0
- package/.claude/skills/skill-generator/specs/skill-requirements.md +466 -0
- package/.claude/skills/skill-generator/templates/autonomous-action.md +517 -0
- package/.claude/skills/skill-generator/templates/autonomous-orchestrator.md +276 -0
- package/.claude/skills/skill-generator/templates/code-analysis-action.md +503 -0
- package/.claude/skills/skill-generator/templates/llm-action.md +355 -0
- package/.claude/skills/skill-generator/templates/script-bash.md +277 -0
- package/.claude/skills/skill-generator/templates/script-python.md +198 -0
- package/.claude/skills/skill-generator/templates/sequential-phase.md +441 -0
- package/.claude/skills/skill-generator/templates/skill-md.md +156 -0
- package/.claude/workflows/chinese-response.md +15 -28
- package/.claude/workflows/cli-templates/prompts/documentation/swagger-api.txt +266 -0
- package/.claude/workflows/cli-tools-usage.md +221 -177
- package/.claude/workflows/windows-platform.md +13 -10
- package/.codex/prompts/issue-execute.md +305 -82
- package/.codex/prompts/issue-queue.md +22 -0
- package/.codex/prompts/lite-execute.md +36 -11
- package/README.md +309 -305
- package/ccw/README.md +10 -4
- package/ccw/dist/cli.d.ts.map +1 -1
- package/ccw/dist/cli.js +4 -1
- package/ccw/dist/cli.js.map +1 -1
- package/ccw/dist/commands/cli.d.ts.map +1 -1
- package/ccw/dist/commands/cli.js +131 -34
- package/ccw/dist/commands/cli.js.map +1 -1
- package/ccw/dist/commands/issue.d.ts +152 -0
- package/ccw/dist/commands/issue.d.ts.map +1 -1
- package/ccw/dist/commands/issue.js +550 -85
- package/ccw/dist/commands/issue.js.map +1 -1
- package/ccw/dist/commands/serve.d.ts +1 -0
- package/ccw/dist/commands/serve.d.ts.map +1 -1
- package/ccw/dist/commands/serve.js +12 -5
- package/ccw/dist/commands/serve.js.map +1 -1
- package/ccw/dist/commands/stop.d.ts.map +1 -1
- package/ccw/dist/commands/stop.js +29 -5
- package/ccw/dist/commands/stop.js.map +1 -1
- package/ccw/dist/commands/tool.d.ts.map +1 -1
- package/ccw/dist/commands/tool.js +19 -2
- package/ccw/dist/commands/tool.js.map +1 -1
- package/ccw/dist/commands/view.d.ts +1 -0
- package/ccw/dist/commands/view.d.ts.map +1 -1
- package/ccw/dist/commands/view.js +10 -3
- package/ccw/dist/commands/view.js.map +1 -1
- package/ccw/dist/config/cli-settings-manager.d.ts +86 -0
- package/ccw/dist/config/cli-settings-manager.d.ts.map +1 -0
- package/ccw/dist/config/cli-settings-manager.js +392 -0
- package/ccw/dist/config/cli-settings-manager.js.map +1 -0
- package/ccw/dist/config/litellm-api-config-manager.d.ts +71 -5
- package/ccw/dist/config/litellm-api-config-manager.d.ts.map +1 -1
- package/ccw/dist/config/litellm-api-config-manager.js +290 -20
- package/ccw/dist/config/litellm-api-config-manager.js.map +1 -1
- package/ccw/dist/core/auth/csrf-manager.d.ts +18 -0
- package/ccw/dist/core/auth/csrf-manager.d.ts.map +1 -0
- package/ccw/dist/core/auth/csrf-manager.js +80 -0
- package/ccw/dist/core/auth/csrf-manager.js.map +1 -0
- package/ccw/dist/core/auth/csrf-middleware.d.ts +8 -0
- package/ccw/dist/core/auth/csrf-middleware.d.ts.map +1 -0
- package/ccw/dist/core/auth/csrf-middleware.js +141 -0
- package/ccw/dist/core/auth/csrf-middleware.js.map +1 -0
- package/ccw/dist/core/auth/middleware.d.ts +15 -0
- package/ccw/dist/core/auth/middleware.d.ts.map +1 -0
- package/ccw/dist/core/auth/middleware.js +76 -0
- package/ccw/dist/core/auth/middleware.js.map +1 -0
- package/ccw/dist/core/auth/token-manager.d.ts +41 -0
- package/ccw/dist/core/auth/token-manager.d.ts.map +1 -0
- package/ccw/dist/core/auth/token-manager.js +171 -0
- package/ccw/dist/core/auth/token-manager.js.map +1 -0
- package/ccw/dist/core/cache-manager.d.ts +6 -6
- package/ccw/dist/core/cache-manager.d.ts.map +1 -1
- package/ccw/dist/core/cache-manager.js +70 -48
- package/ccw/dist/core/cache-manager.js.map +1 -1
- package/ccw/dist/core/claude-freshness.d.ts.map +1 -1
- package/ccw/dist/core/claude-freshness.js +23 -3
- package/ccw/dist/core/claude-freshness.js.map +1 -1
- package/ccw/dist/core/core-memory-store.d.ts.map +1 -1
- package/ccw/dist/core/core-memory-store.js +2 -1
- package/ccw/dist/core/core-memory-store.js.map +1 -1
- package/ccw/dist/core/cors.d.ts +3 -0
- package/ccw/dist/core/cors.d.ts.map +1 -0
- package/ccw/dist/core/cors.js +10 -0
- package/ccw/dist/core/cors.js.map +1 -0
- package/ccw/dist/core/dashboard-generator-patch.js +0 -1
- package/ccw/dist/core/dashboard-generator-patch.js.map +1 -1
- package/ccw/dist/core/dashboard-generator.d.ts.map +1 -1
- package/ccw/dist/core/dashboard-generator.js +417 -416
- package/ccw/dist/core/dashboard-generator.js.map +1 -1
- package/ccw/dist/core/data-aggregator.js +2 -2
- package/ccw/dist/core/data-aggregator.js.map +1 -1
- package/ccw/dist/core/lite-scanner.d.ts +1 -1
- package/ccw/dist/core/lite-scanner.d.ts.map +1 -1
- package/ccw/dist/core/lite-scanner.js +130 -127
- package/ccw/dist/core/lite-scanner.js.map +1 -1
- package/ccw/dist/core/routes/auth-routes.d.ts +12 -0
- package/ccw/dist/core/routes/auth-routes.d.ts.map +1 -0
- package/ccw/dist/core/routes/auth-routes.js +80 -0
- package/ccw/dist/core/routes/auth-routes.js.map +1 -0
- package/ccw/dist/core/routes/ccw-routes.d.ts +1 -14
- package/ccw/dist/core/routes/ccw-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/ccw-routes.js +9 -4
- package/ccw/dist/core/routes/ccw-routes.js.map +1 -1
- package/ccw/dist/core/routes/claude-routes.d.ts +1 -14
- package/ccw/dist/core/routes/claude-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/claude-routes.js +98 -39
- package/ccw/dist/core/routes/claude-routes.js.map +1 -1
- package/ccw/dist/core/routes/cli-routes.d.ts +14 -12
- package/ccw/dist/core/routes/cli-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/cli-routes.js +122 -43
- package/ccw/dist/core/routes/cli-routes.js.map +1 -1
- package/ccw/dist/core/routes/cli-settings-routes.d.ts +11 -0
- package/ccw/dist/core/routes/cli-settings-routes.d.ts.map +1 -0
- package/ccw/dist/core/routes/cli-settings-routes.js +204 -0
- package/ccw/dist/core/routes/cli-settings-routes.js.map +1 -0
- package/ccw/dist/core/routes/codexlens/config-handlers.d.ts +6 -0
- package/ccw/dist/core/routes/codexlens/config-handlers.d.ts.map +1 -0
- package/ccw/dist/core/routes/codexlens/config-handlers.js +1195 -0
- package/ccw/dist/core/routes/codexlens/config-handlers.js.map +1 -0
- package/ccw/dist/core/routes/codexlens/index-handlers.d.ts +10 -0
- package/ccw/dist/core/routes/codexlens/index-handlers.d.ts.map +1 -0
- package/ccw/dist/core/routes/codexlens/index-handlers.js +322 -0
- package/ccw/dist/core/routes/codexlens/index-handlers.js.map +1 -0
- package/ccw/dist/core/routes/codexlens/semantic-handlers.d.ts +6 -0
- package/ccw/dist/core/routes/codexlens/semantic-handlers.d.ts.map +1 -0
- package/ccw/dist/core/routes/codexlens/semantic-handlers.js +865 -0
- package/ccw/dist/core/routes/codexlens/semantic-handlers.js.map +1 -0
- package/ccw/dist/core/routes/codexlens/utils.d.ts +23 -0
- package/ccw/dist/core/routes/codexlens/utils.d.ts.map +1 -0
- package/ccw/dist/core/routes/codexlens/utils.js +85 -0
- package/ccw/dist/core/routes/codexlens/utils.js.map +1 -0
- package/ccw/dist/core/routes/codexlens/watcher-handlers.d.ts +13 -0
- package/ccw/dist/core/routes/codexlens/watcher-handlers.d.ts.map +1 -0
- package/ccw/dist/core/routes/codexlens/watcher-handlers.js +235 -0
- package/ccw/dist/core/routes/codexlens/watcher-handlers.js.map +1 -0
- package/ccw/dist/core/routes/codexlens-routes.d.ts +2 -11
- package/ccw/dist/core/routes/codexlens-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/codexlens-routes.js +10 -981
- package/ccw/dist/core/routes/codexlens-routes.js.map +1 -1
- package/ccw/dist/core/routes/discovery-routes.d.ts +1 -35
- package/ccw/dist/core/routes/discovery-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/discovery-routes.js +25 -0
- package/ccw/dist/core/routes/discovery-routes.js.map +1 -1
- package/ccw/dist/core/routes/files-routes.d.ts +1 -14
- package/ccw/dist/core/routes/files-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/files-routes.js +57 -14
- package/ccw/dist/core/routes/files-routes.js.map +1 -1
- package/ccw/dist/core/routes/graph-routes.d.ts +1 -14
- package/ccw/dist/core/routes/graph-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/graph-routes.js +36 -37
- package/ccw/dist/core/routes/graph-routes.js.map +1 -1
- package/ccw/dist/core/routes/help-routes.d.ts +1 -14
- package/ccw/dist/core/routes/help-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/help-routes.js +5 -0
- package/ccw/dist/core/routes/help-routes.js.map +1 -1
- package/ccw/dist/core/routes/hooks-routes.d.ts +4 -14
- package/ccw/dist/core/routes/hooks-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/hooks-routes.js +43 -21
- package/ccw/dist/core/routes/hooks-routes.js.map +1 -1
- package/ccw/dist/core/routes/issue-routes.d.ts +1 -34
- package/ccw/dist/core/routes/issue-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/issue-routes.js +24 -0
- package/ccw/dist/core/routes/issue-routes.js.map +1 -1
- package/ccw/dist/core/routes/litellm-api-routes.d.ts +1 -14
- package/ccw/dist/core/routes/litellm-api-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/litellm-api-routes.js +505 -48
- package/ccw/dist/core/routes/litellm-api-routes.js.map +1 -1
- package/ccw/dist/core/routes/litellm-routes.d.ts +1 -14
- package/ccw/dist/core/routes/litellm-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/litellm-routes.js +28 -11
- package/ccw/dist/core/routes/litellm-routes.js.map +1 -1
- package/ccw/dist/core/routes/mcp-routes.d.ts +1 -14
- package/ccw/dist/core/routes/mcp-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/mcp-routes.js +99 -30
- package/ccw/dist/core/routes/mcp-routes.js.map +1 -1
- package/ccw/dist/core/routes/mcp-templates-db.d.ts.map +1 -1
- package/ccw/dist/core/routes/mcp-templates-db.js +30 -31
- package/ccw/dist/core/routes/mcp-templates-db.js.map +1 -1
- package/ccw/dist/core/routes/memory-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/memory-routes.js +74 -24
- package/ccw/dist/core/routes/memory-routes.js.map +1 -1
- package/ccw/dist/core/routes/nav-status-routes.d.ts +3 -0
- package/ccw/dist/core/routes/nav-status-routes.d.ts.map +1 -0
- package/ccw/dist/core/routes/nav-status-routes.js +217 -0
- package/ccw/dist/core/routes/nav-status-routes.js.map +1 -0
- package/ccw/dist/core/routes/rules-routes.d.ts +1 -14
- package/ccw/dist/core/routes/rules-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/rules-routes.js +481 -58
- package/ccw/dist/core/routes/rules-routes.js.map +1 -1
- package/ccw/dist/core/routes/session-routes.d.ts +1 -14
- package/ccw/dist/core/routes/session-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/session-routes.js +15 -3
- package/ccw/dist/core/routes/session-routes.js.map +1 -1
- package/ccw/dist/core/routes/skills-routes.d.ts +1 -14
- package/ccw/dist/core/routes/skills-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/skills-routes.js +394 -112
- package/ccw/dist/core/routes/skills-routes.js.map +1 -1
- package/ccw/dist/core/routes/status-routes.d.ts +1 -14
- package/ccw/dist/core/routes/status-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/status-routes.js +4 -0
- package/ccw/dist/core/routes/status-routes.js.map +1 -1
- package/ccw/dist/core/routes/system-routes.d.ts +4 -10
- package/ccw/dist/core/routes/system-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/system-routes.js +6 -4
- package/ccw/dist/core/routes/system-routes.js.map +1 -1
- package/ccw/dist/core/routes/types.d.ts +19 -0
- package/ccw/dist/core/routes/types.d.ts.map +1 -0
- package/ccw/dist/core/routes/types.js +2 -0
- package/ccw/dist/core/routes/types.js.map +1 -0
- package/ccw/dist/core/server.d.ts.map +1 -1
- package/ccw/dist/core/server.js +201 -29
- package/ccw/dist/core/server.js.map +1 -1
- package/ccw/dist/core/services/api-key-tester.d.ts +31 -0
- package/ccw/dist/core/services/api-key-tester.d.ts.map +1 -0
- package/ccw/dist/core/services/api-key-tester.js +106 -0
- package/ccw/dist/core/services/api-key-tester.js.map +1 -0
- package/ccw/dist/core/services/health-check-service.d.ts +82 -0
- package/ccw/dist/core/services/health-check-service.d.ts.map +1 -0
- package/ccw/dist/core/services/health-check-service.js +271 -0
- package/ccw/dist/core/services/health-check-service.js.map +1 -0
- package/ccw/dist/core/websocket.d.ts +9 -7
- package/ccw/dist/core/websocket.d.ts.map +1 -1
- package/ccw/dist/core/websocket.js +9 -4
- package/ccw/dist/core/websocket.js.map +1 -1
- package/ccw/dist/tools/claude-cli-tools.d.ts +152 -28
- package/ccw/dist/tools/claude-cli-tools.d.ts.map +1 -1
- package/ccw/dist/tools/claude-cli-tools.js +490 -100
- package/ccw/dist/tools/claude-cli-tools.js.map +1 -1
- package/ccw/dist/tools/cli-config-manager.d.ts +24 -8
- package/ccw/dist/tools/cli-config-manager.d.ts.map +1 -1
- package/ccw/dist/tools/cli-config-manager.js +76 -156
- package/ccw/dist/tools/cli-config-manager.js.map +1 -1
- package/ccw/dist/tools/cli-executor-core.d.ts +85 -0
- package/ccw/dist/tools/cli-executor-core.d.ts.map +1 -0
- package/ccw/dist/tools/cli-executor-core.js +1310 -0
- package/ccw/dist/tools/cli-executor-core.js.map +1 -0
- package/ccw/dist/tools/cli-executor-state.d.ts +241 -0
- package/ccw/dist/tools/cli-executor-state.d.ts.map +1 -0
- package/ccw/dist/tools/cli-executor-state.js +392 -0
- package/ccw/dist/tools/cli-executor-state.js.map +1 -0
- package/ccw/dist/tools/cli-executor-utils.d.ts +36 -0
- package/ccw/dist/tools/cli-executor-utils.d.ts.map +1 -0
- package/ccw/dist/tools/cli-executor-utils.js +298 -0
- package/ccw/dist/tools/cli-executor-utils.js.map +1 -0
- package/ccw/dist/tools/cli-executor.d.ts +3 -377
- package/ccw/dist/tools/cli-executor.d.ts.map +1 -1
- package/ccw/dist/tools/cli-executor.js +3 -1884
- package/ccw/dist/tools/cli-executor.js.map +1 -1
- package/ccw/dist/tools/cli-history-store.d.ts +2 -0
- package/ccw/dist/tools/cli-history-store.d.ts.map +1 -1
- package/ccw/dist/tools/cli-history-store.js.map +1 -1
- package/ccw/dist/tools/cli-output-converter.d.ts +192 -0
- package/ccw/dist/tools/cli-output-converter.d.ts.map +1 -0
- package/ccw/dist/tools/cli-output-converter.js +1047 -0
- package/ccw/dist/tools/cli-output-converter.js.map +1 -0
- package/ccw/dist/tools/cli-prompt-builder.d.ts +113 -0
- package/ccw/dist/tools/cli-prompt-builder.d.ts.map +1 -0
- package/ccw/dist/tools/cli-prompt-builder.js +363 -0
- package/ccw/dist/tools/cli-prompt-builder.js.map +1 -0
- package/ccw/dist/tools/codex-lens.d.ts +15 -1
- package/ccw/dist/tools/codex-lens.d.ts.map +1 -1
- package/ccw/dist/tools/codex-lens.js +289 -55
- package/ccw/dist/tools/codex-lens.js.map +1 -1
- package/ccw/dist/tools/detect-changed-modules.d.ts.map +1 -1
- package/ccw/dist/tools/detect-changed-modules.js +22 -4
- package/ccw/dist/tools/detect-changed-modules.js.map +1 -1
- package/ccw/dist/tools/index.d.ts.map +1 -1
- package/ccw/dist/tools/index.js +2 -0
- package/ccw/dist/tools/index.js.map +1 -1
- package/ccw/dist/tools/litellm-client.d.ts.map +1 -1
- package/ccw/dist/tools/litellm-client.js +10 -4
- package/ccw/dist/tools/litellm-client.js.map +1 -1
- package/ccw/dist/tools/litellm-executor.d.ts +2 -4
- package/ccw/dist/tools/litellm-executor.d.ts.map +1 -1
- package/ccw/dist/tools/litellm-executor.js +39 -8
- package/ccw/dist/tools/litellm-executor.js.map +1 -1
- package/ccw/dist/tools/native-session-discovery.d.ts +2 -0
- package/ccw/dist/tools/native-session-discovery.d.ts.map +1 -1
- package/ccw/dist/tools/native-session-discovery.js +197 -1
- package/ccw/dist/tools/native-session-discovery.js.map +1 -1
- package/ccw/dist/tools/session-manager.d.ts.map +1 -1
- package/ccw/dist/tools/session-manager.js +79 -0
- package/ccw/dist/tools/session-manager.js.map +1 -1
- package/ccw/dist/tools/skill-context-loader.d.ts +15 -0
- package/ccw/dist/tools/skill-context-loader.d.ts.map +1 -0
- package/ccw/dist/tools/skill-context-loader.js +198 -0
- package/ccw/dist/tools/skill-context-loader.js.map +1 -0
- package/ccw/dist/tools/smart-search.d.ts +8 -3
- package/ccw/dist/tools/smart-search.d.ts.map +1 -1
- package/ccw/dist/tools/smart-search.js +378 -75
- package/ccw/dist/tools/smart-search.js.map +1 -1
- package/ccw/dist/types/cli-settings.d.ts +86 -0
- package/ccw/dist/types/cli-settings.d.ts.map +1 -0
- package/ccw/dist/types/cli-settings.js +54 -0
- package/ccw/dist/types/cli-settings.js.map +1 -0
- package/ccw/dist/types/litellm-api-config.d.ts +40 -1
- package/ccw/dist/types/litellm-api-config.d.ts.map +1 -1
- package/ccw/dist/utils/exec-constants.d.ts +25 -0
- package/ccw/dist/utils/exec-constants.d.ts.map +1 -0
- package/ccw/dist/utils/exec-constants.js +25 -0
- package/ccw/dist/utils/exec-constants.js.map +1 -0
- package/ccw/dist/utils/path-resolver.d.ts +1 -0
- package/ccw/dist/utils/path-resolver.d.ts.map +1 -1
- package/ccw/dist/utils/path-resolver.js +48 -3
- package/ccw/dist/utils/path-resolver.js.map +1 -1
- package/ccw/dist/utils/path-validator.d.ts.map +1 -1
- package/ccw/dist/utils/path-validator.js +25 -6
- package/ccw/dist/utils/path-validator.js.map +1 -1
- package/ccw/dist/utils/python-utils.d.ts.map +1 -1
- package/ccw/dist/utils/python-utils.js +27 -7
- package/ccw/dist/utils/python-utils.js.map +1 -1
- package/ccw/dist/utils/shell-escape.d.ts +8 -0
- package/ccw/dist/utils/shell-escape.d.ts.map +1 -0
- package/ccw/dist/utils/shell-escape.js +24 -0
- package/ccw/dist/utils/shell-escape.js.map +1 -0
- package/ccw/dist/utils/uv-manager.d.ts +167 -0
- package/ccw/dist/utils/uv-manager.d.ts.map +1 -0
- package/ccw/dist/utils/uv-manager.js +644 -0
- package/ccw/dist/utils/uv-manager.js.map +1 -0
- package/ccw/src/cli.ts +4 -1
- package/ccw/src/commands/cli.ts +132 -34
- package/ccw/src/commands/issue.ts +605 -91
- package/ccw/src/commands/serve.ts +15 -5
- package/ccw/src/commands/stop.ts +32 -5
- package/ccw/src/commands/tool.ts +17 -2
- package/ccw/src/commands/view.ts +13 -3
- package/ccw/src/config/cli-settings-manager.ts +460 -0
- package/ccw/src/config/litellm-api-config-manager.ts +392 -57
- package/ccw/src/core/auth/csrf-manager.ts +104 -0
- package/ccw/src/core/auth/csrf-middleware.ts +159 -0
- package/ccw/src/core/auth/middleware.ts +94 -0
- package/ccw/src/core/auth/token-manager.ts +219 -0
- package/ccw/src/core/cache-manager.ts +64 -52
- package/ccw/src/core/claude-freshness.ts +26 -6
- package/ccw/src/core/core-memory-store.ts +2 -1
- package/ccw/src/core/cors.ts +10 -0
- package/ccw/src/core/dashboard-generator-patch.ts +47 -48
- package/ccw/src/core/dashboard-generator.ts +797 -744
- package/ccw/src/core/data-aggregator.ts +667 -667
- package/ccw/src/core/lite-scanner.ts +156 -140
- package/ccw/src/core/routes/auth-routes.ts +98 -0
- package/ccw/src/core/routes/ccw-routes.ts +10 -20
- package/ccw/src/core/routes/claude-routes.ts +101 -51
- package/ccw/src/core/routes/cli-routes.ts +152 -55
- package/ccw/src/core/routes/cli-settings-routes.ts +232 -0
- package/ccw/src/core/routes/codexlens/README.md +37 -0
- package/ccw/src/core/routes/codexlens/config-handlers.ts +1269 -0
- package/ccw/src/core/routes/codexlens/index-handlers.ts +354 -0
- package/ccw/src/core/routes/codexlens/semantic-handlers.ts +931 -0
- package/ccw/src/core/routes/codexlens/utils.ts +96 -0
- package/ccw/src/core/routes/codexlens/watcher-handlers.ts +265 -0
- package/ccw/src/core/routes/codexlens-routes.ts +11 -1044
- package/ccw/src/core/routes/discovery-routes.ts +1 -12
- package/ccw/src/core/routes/files-routes.ts +112 -40
- package/ccw/src/core/routes/graph-routes.ts +39 -46
- package/ccw/src/core/routes/help-routes.ts +2 -12
- package/ccw/src/core/routes/hooks-routes.ts +83 -44
- package/ccw/src/core/routes/issue-routes.ts +1 -12
- package/ccw/src/core/routes/litellm-api-routes.ts +566 -60
- package/ccw/src/core/routes/litellm-routes.ts +35 -27
- package/ccw/src/core/routes/mcp-routes.ts +157 -60
- package/ccw/src/core/routes/mcp-routes.ts.backup +549 -550
- package/ccw/src/core/routes/mcp-templates-db.ts +267 -268
- package/ccw/src/core/routes/memory-routes.ts +76 -22
- package/ccw/src/core/routes/nav-status-routes.ts +231 -0
- package/ccw/src/core/routes/rules-routes.ts +600 -81
- package/ccw/src/core/routes/session-routes.ts +28 -22
- package/ccw/src/core/routes/skills-routes.ts +452 -132
- package/ccw/src/core/routes/status-routes.ts +1 -12
- package/ccw/src/core/routes/system-routes.ts +15 -22
- package/ccw/src/core/routes/types.ts +25 -0
- package/ccw/src/core/server.ts +651 -468
- package/ccw/src/core/services/api-key-tester.ts +137 -0
- package/ccw/src/core/services/health-check-service.ts +340 -0
- package/ccw/src/core/websocket.ts +20 -12
- package/ccw/src/templates/dashboard-css/01-base.css +109 -0
- package/ccw/src/templates/dashboard-css/10-cli-status.css +202 -0
- package/ccw/src/templates/dashboard-css/21-cli-toolmgmt.css +308 -0
- package/ccw/src/templates/dashboard-css/30-core-memory.css +20 -0
- package/ccw/src/templates/dashboard-css/31-api-settings.css +751 -14
- package/ccw/src/templates/dashboard-css/33-cli-stream-viewer.css +230 -2
- package/ccw/src/templates/dashboard-js/api.js +5 -0
- package/ccw/src/templates/dashboard-js/components/cli-status.js +279 -107
- package/ccw/src/templates/dashboard-js/components/cli-stream-viewer.js +262 -20
- package/ccw/src/templates/dashboard-js/components/hook-manager.js +105 -5
- package/ccw/src/templates/dashboard-js/components/mcp-manager.js +317 -0
- package/ccw/src/templates/dashboard-js/components/navigation.js +45 -0
- package/ccw/src/templates/dashboard-js/components/notifications.js +128 -0
- package/ccw/src/templates/dashboard-js/i18n.js +4438 -3983
- package/ccw/src/templates/dashboard-js/main.js +71 -0
- package/ccw/src/templates/dashboard-js/services.js +289 -0
- package/ccw/src/templates/dashboard-js/views/api-settings.js +5613 -3361
- package/ccw/src/templates/dashboard-js/views/claude-manager.js +1 -7
- package/ccw/src/templates/dashboard-js/views/cli-manager.js +581 -87
- package/ccw/src/templates/dashboard-js/views/codexlens-manager.js +6091 -1965
- package/ccw/src/templates/dashboard-js/views/core-memory.js +129 -20
- package/ccw/src/templates/dashboard-js/views/hook-manager.js +17 -3
- package/ccw/src/templates/dashboard-js/views/mcp-manager.js +63 -0
- package/ccw/src/templates/dashboard-js/views/project-overview.js +182 -37
- package/ccw/src/templates/dashboard-js/views/rules-manager.js +26 -3
- package/ccw/src/templates/dashboard-js/views/skills-manager.js +2 -42
- package/ccw/src/templates/dashboard.html +6 -0
- package/ccw/src/tools/README.md +29 -0
- package/ccw/src/tools/claude-cli-tools.ts +640 -125
- package/ccw/src/tools/cli-config-manager.ts +102 -172
- package/ccw/src/tools/cli-executor-core.ts +1533 -0
- package/ccw/src/tools/cli-executor-state.ts +560 -0
- package/ccw/src/tools/cli-executor-utils.ts +349 -0
- package/ccw/src/tools/cli-executor.ts +3 -2309
- package/ccw/src/tools/cli-history-store.ts +2 -0
- package/ccw/src/tools/cli-output-converter.ts +1237 -0
- package/ccw/src/tools/cli-prompt-builder.ts +487 -0
- package/ccw/src/tools/codex-lens.ts +324 -59
- package/ccw/src/tools/detect-changed-modules.ts +24 -6
- package/ccw/src/tools/index.ts +2 -0
- package/ccw/src/tools/litellm-client.ts +10 -4
- package/ccw/src/tools/litellm-executor.ts +146 -114
- package/ccw/src/tools/native-session-discovery.ts +209 -1
- package/ccw/src/tools/session-manager.ts +88 -0
- package/ccw/src/tools/skill-context-loader.ts +213 -0
- package/ccw/src/tools/smart-search.ts +427 -76
- package/ccw/src/types/cli-settings.ts +137 -0
- package/ccw/src/types/litellm-api-config.ts +55 -1
- package/ccw/src/utils/exec-constants.ts +24 -0
- package/ccw/src/utils/path-resolver.ts +49 -3
- package/ccw/src/utils/path-validator.ts +28 -6
- package/ccw/src/utils/python-utils.ts +140 -121
- package/ccw/src/utils/shell-escape.ts +30 -0
- package/ccw/src/utils/uv-manager.ts +796 -0
- package/ccw-litellm/src/ccw_litellm/__pycache__/__init__.cpython-310.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/__pycache__/__init__.cpython-312.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/clients/__pycache__/__init__.cpython-310.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/clients/__pycache__/__init__.cpython-312.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_embedder.cpython-310.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_embedder.cpython-312.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_embedder.cpython-313.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_llm.cpython-310.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_llm.cpython-312.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_llm.cpython-313.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/clients/litellm_embedder.py +270 -251
- package/ccw-litellm/src/ccw_litellm/clients/litellm_llm.py +33 -0
- package/ccw-litellm/src/ccw_litellm/config/__pycache__/__init__.cpython-310.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/config/__pycache__/__init__.cpython-312.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/config/__pycache__/loader.cpython-310.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/config/__pycache__/loader.cpython-312.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/config/__pycache__/loader.cpython-313.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/config/__pycache__/models.cpython-310.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/config/__pycache__/models.cpython-312.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/config/__pycache__/models.cpython-313.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/config/loader.py +343 -316
- package/ccw-litellm/src/ccw_litellm/config/models.py +162 -130
- package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/__init__.cpython-310.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/__init__.cpython-312.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/embedder.cpython-310.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/embedder.cpython-312.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/llm.cpython-310.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/llm.cpython-312.pyc +0 -0
- package/codex-lens/pyproject.toml +43 -0
- package/codex-lens/src/codexlens/__pycache__/__init__.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/__main__.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/__main__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/config.cpython-310.pyc +0 -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__/entities.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/entities.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/entities.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/env_config.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/env_config.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/env_config.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/errors.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/errors.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/__init__.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/output.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/output.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/cli/commands.py +4416 -2295
- package/codex-lens/src/codexlens/cli/embedding_manager.py +767 -14
- package/codex-lens/src/codexlens/cli/model_manager.py +676 -0
- package/codex-lens/src/codexlens/config.py +321 -12
- package/codex-lens/src/codexlens/entities.py +4 -1
- package/codex-lens/src/codexlens/env_config.py +298 -0
- package/codex-lens/src/codexlens/indexing/__init__.py +23 -1
- package/codex-lens/src/codexlens/indexing/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/indexing/__pycache__/embedding.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/indexing/__pycache__/symbol_extractor.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/indexing/embedding.py +582 -0
- package/codex-lens/src/codexlens/indexing/symbol_extractor.py +62 -28
- package/codex-lens/src/codexlens/parsers/__pycache__/__init__.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/tokenizer.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/tokenizer.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/factory.py +139 -10
- package/codex-lens/src/codexlens/parsers/treesitter_parser.py +487 -13
- package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/binary_searcher.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-310.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__/enrichment.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/graph_expander.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-310.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-310.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/binary_searcher.py +277 -0
- package/codex-lens/src/codexlens/search/chain_search.py +1642 -8
- package/codex-lens/src/codexlens/search/enrichment.py +21 -0
- package/codex-lens/src/codexlens/search/graph_expander.py +264 -0
- package/codex-lens/src/codexlens/search/hybrid_search.py +772 -37
- package/codex-lens/src/codexlens/search/ranking.py +347 -8
- package/codex-lens/src/codexlens/semantic/SPLADE_IMPLEMENTATION.md +225 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/__init__.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/base.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/base.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/embedder.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/embedder.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/factory.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/factory.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/factory.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/gpu_support.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/gpu_support.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/gpu_support.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/litellm_embedder.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/litellm_embedder.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/litellm_embedder.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/reranker.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/splade_encoder.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/splade_encoder.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/splade_encoder.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/ann_index.py +654 -0
- package/codex-lens/src/codexlens/semantic/factory.py +63 -3
- package/codex-lens/src/codexlens/semantic/gpu_support.py +19 -2
- package/codex-lens/src/codexlens/semantic/litellm_embedder.py +144 -144
- package/codex-lens/src/codexlens/semantic/reranker/__init__.py +25 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/__init__.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/api_reranker.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/api_reranker.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/base.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/base.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/factory.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/factory.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/fastembed_reranker.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/fastembed_reranker.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/legacy.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/legacy.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/litellm_reranker.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/onnx_reranker.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/onnx_reranker.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/api_reranker.py +403 -0
- package/codex-lens/src/codexlens/semantic/reranker/base.py +46 -0
- package/codex-lens/src/codexlens/semantic/reranker/factory.py +159 -0
- package/codex-lens/src/codexlens/semantic/reranker/fastembed_reranker.py +257 -0
- package/codex-lens/src/codexlens/semantic/reranker/legacy.py +91 -0
- package/codex-lens/src/codexlens/semantic/reranker/litellm_reranker.py +214 -0
- package/codex-lens/src/codexlens/semantic/reranker/onnx_reranker.py +268 -0
- package/codex-lens/src/codexlens/semantic/splade_encoder.py +567 -0
- package/codex-lens/src/codexlens/semantic/vector_store.py +472 -352
- package/codex-lens/src/codexlens/storage/__init__.py +3 -0
- package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-310.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-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/global_index.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/merkle_tree.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/path_mapper.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/path_mapper.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/registry.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/registry.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/splade_index.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/splade_index.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/splade_index.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/sqlite_utils.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/sqlite_utils.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/vector_meta_store.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/vector_meta_store.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/vector_meta_store.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/dir_index.py +310 -12
- package/codex-lens/src/codexlens/storage/index_tree.py +194 -23
- package/codex-lens/src/codexlens/storage/merkle_tree.py +136 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/__init__.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_006_enhance_relationships.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_007_add_graph_neighbors.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_007_add_graph_neighbors.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_007_add_graph_neighbors.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_008_add_merkle_hashes.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_009_add_splade.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_010_add_multi_vector_chunks.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/migration_006_enhance_relationships.py +37 -0
- package/codex-lens/src/codexlens/storage/migrations/migration_007_add_graph_neighbors.py +47 -0
- package/codex-lens/src/codexlens/storage/migrations/migration_008_add_merkle_hashes.py +81 -0
- package/codex-lens/src/codexlens/storage/migrations/migration_009_add_splade.py +103 -0
- package/codex-lens/src/codexlens/storage/migrations/migration_010_add_multi_vector_chunks.py +162 -0
- package/codex-lens/src/codexlens/storage/splade_index.py +578 -0
- package/codex-lens/src/codexlens/storage/sqlite_store.py +508 -184
- package/codex-lens/src/codexlens/storage/vector_meta_store.py +415 -0
- package/codex-lens/src/codexlens/watcher/__init__.py +17 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/__init__.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/events.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/events.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/events.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/file_watcher.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/file_watcher.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/file_watcher.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/incremental_indexer.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/incremental_indexer.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/incremental_indexer.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/manager.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/manager.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/manager.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/events.py +82 -0
- package/codex-lens/src/codexlens/watcher/file_watcher.py +347 -0
- package/codex-lens/src/codexlens/watcher/incremental_indexer.py +369 -0
- package/codex-lens/src/codexlens/watcher/manager.py +255 -0
- package/package.json +4 -1
- package/.claude/commands/workflow/docs/analyze.md +0 -1467
- package/.claude/commands/workflow/docs/copyright.md +0 -1265
- package/.claude/skills/command-guide/SKILL.md +0 -388
- package/.claude/skills/command-guide/UPDATE-GUIDELINE.md +0 -592
- package/.claude/skills/command-guide/guides/cli-tools-guide.md +0 -410
- package/.claude/skills/command-guide/guides/examples.md +0 -537
- package/.claude/skills/command-guide/guides/getting-started.md +0 -242
- package/.claude/skills/command-guide/guides/implementation-details.md +0 -1010
- package/.claude/skills/command-guide/guides/index-structure.md +0 -326
- package/.claude/skills/command-guide/guides/troubleshooting.md +0 -92
- package/.claude/skills/command-guide/guides/ui-design-workflow-guide.md +0 -316
- package/.claude/skills/command-guide/guides/workflow-patterns.md +0 -662
- package/.claude/skills/command-guide/reference/agents/action-planning-agent.md +0 -855
- package/.claude/skills/command-guide/reference/agents/cli-execution-agent.md +0 -267
- package/.claude/skills/command-guide/reference/agents/cli-explore-agent.md +0 -182
- package/.claude/skills/command-guide/reference/agents/cli-lite-planning-agent.md +0 -446
- package/.claude/skills/command-guide/reference/agents/cli-planning-agent.md +0 -558
- package/.claude/skills/command-guide/reference/agents/code-developer.md +0 -311
- package/.claude/skills/command-guide/reference/agents/conceptual-planning-agent.md +0 -308
- package/.claude/skills/command-guide/reference/agents/context-search-agent.md +0 -581
- package/.claude/skills/command-guide/reference/agents/doc-generator.md +0 -330
- package/.claude/skills/command-guide/reference/agents/memory-bridge.md +0 -94
- package/.claude/skills/command-guide/reference/agents/test-context-search-agent.md +0 -400
- package/.claude/skills/command-guide/reference/agents/test-fix-agent.md +0 -344
- package/.claude/skills/command-guide/reference/agents/ui-design-agent.md +0 -593
- package/.claude/skills/command-guide/reference/agents/universal-executor.md +0 -131
- package/.claude/skills/command-guide/reference/commands/cli/cli-init.md +0 -440
- package/.claude/skills/command-guide/reference/commands/enhance-prompt.md +0 -93
- package/.claude/skills/command-guide/reference/commands/memory/code-map-memory.md +0 -687
- package/.claude/skills/command-guide/reference/commands/memory/docs-full-cli.md +0 -471
- package/.claude/skills/command-guide/reference/commands/memory/docs-related-cli.md +0 -386
- package/.claude/skills/command-guide/reference/commands/memory/docs.md +0 -616
- package/.claude/skills/command-guide/reference/commands/memory/load-skill-memory.md +0 -182
- package/.claude/skills/command-guide/reference/commands/memory/load.md +0 -240
- package/.claude/skills/command-guide/reference/commands/memory/skill-memory.md +0 -525
- package/.claude/skills/command-guide/reference/commands/memory/style-skill-memory.md +0 -396
- package/.claude/skills/command-guide/reference/commands/memory/tech-research.md +0 -314
- package/.claude/skills/command-guide/reference/commands/memory/update-full.md +0 -332
- package/.claude/skills/command-guide/reference/commands/memory/update-related.md +0 -332
- package/.claude/skills/command-guide/reference/commands/memory/workflow-skill-memory.md +0 -517
- package/.claude/skills/command-guide/reference/commands/task/breakdown.md +0 -204
- package/.claude/skills/command-guide/reference/commands/task/create.md +0 -152
- package/.claude/skills/command-guide/reference/commands/task/execute.md +0 -270
- package/.claude/skills/command-guide/reference/commands/task/replan.md +0 -437
- package/.claude/skills/command-guide/reference/commands/version.md +0 -254
- package/.claude/skills/command-guide/reference/commands/workflow/action-plan-verify.md +0 -447
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/api-designer.md +0 -585
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/artifacts.md +0 -452
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/auto-parallel.md +0 -443
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/data-architect.md +0 -220
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-manager.md +0 -200
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-owner.md +0 -200
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/scrum-master.md +0 -200
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/subject-matter-expert.md +0 -200
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/synthesis.md +0 -398
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/system-architect.md +0 -387
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ui-designer.md +0 -221
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ux-expert.md +0 -221
- package/.claude/skills/command-guide/reference/commands/workflow/execute.md +0 -465
- package/.claude/skills/command-guide/reference/commands/workflow/init.md +0 -164
- package/.claude/skills/command-guide/reference/commands/workflow/lite-execute.md +0 -748
- package/.claude/skills/command-guide/reference/commands/workflow/lite-fix.md +0 -664
- package/.claude/skills/command-guide/reference/commands/workflow/lite-plan.md +0 -645
- package/.claude/skills/command-guide/reference/commands/workflow/plan.md +0 -551
- package/.claude/skills/command-guide/reference/commands/workflow/replan.md +0 -515
- package/.claude/skills/command-guide/reference/commands/workflow/review-fix.md +0 -606
- package/.claude/skills/command-guide/reference/commands/workflow/review-module-cycle.md +0 -765
- package/.claude/skills/command-guide/reference/commands/workflow/review-session-cycle.md +0 -776
- package/.claude/skills/command-guide/reference/commands/workflow/review.md +0 -298
- package/.claude/skills/command-guide/reference/commands/workflow/session/complete.md +0 -547
- package/.claude/skills/command-guide/reference/commands/workflow/session/list.md +0 -114
- package/.claude/skills/command-guide/reference/commands/workflow/session/resume.md +0 -77
- package/.claude/skills/command-guide/reference/commands/workflow/session/start.md +0 -257
- package/.claude/skills/command-guide/reference/commands/workflow/tdd-plan.md +0 -460
- package/.claude/skills/command-guide/reference/commands/workflow/tdd-verify.md +0 -400
- package/.claude/skills/command-guide/reference/commands/workflow/test-cycle-execute.md +0 -498
- package/.claude/skills/command-guide/reference/commands/workflow/test-fix-gen.md +0 -699
- package/.claude/skills/command-guide/reference/commands/workflow/test-gen.md +0 -529
- package/.claude/skills/command-guide/reference/commands/workflow/tools/conflict-resolution.md +0 -766
- package/.claude/skills/command-guide/reference/commands/workflow/tools/context-gather.md +0 -433
- package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-agent.md +0 -487
- package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-tdd.md +0 -518
- package/.claude/skills/command-guide/reference/commands/workflow/tools/tdd-coverage-analysis.md +0 -309
- package/.claude/skills/command-guide/reference/commands/workflow/tools/test-concept-enhanced.md +0 -163
- package/.claude/skills/command-guide/reference/commands/workflow/tools/test-context-gather.md +0 -232
- package/.claude/skills/command-guide/reference/commands/workflow/tools/test-task-generate.md +0 -254
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/animation-extract.md +0 -1150
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/codify-style.md +0 -652
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/design-sync.md +0 -454
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/explore-auto.md +0 -678
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/generate.md +0 -504
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/imitate-auto.md +0 -745
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/import-from-code.md +0 -537
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/layout-extract.md +0 -788
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/reference-page-generator.md +0 -356
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/style-extract.md +0 -773
- package/.claude/skills/command-guide/scripts/analyze_commands.py +0 -502
- package/.claude/skills/command-guide/scripts/update-index.sh +0 -130
- package/.claude/skills/command-guide/templates/issue-bug.md +0 -104
- package/.claude/skills/command-guide/templates/issue-diagnosis.md +0 -275
- package/.claude/skills/command-guide/templates/issue-feature.md +0 -97
- package/.claude/skills/command-guide/templates/issue-question.md +0 -141
|
@@ -1,13 +1,178 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Execute all solutions from issue queue with git commit after each
|
|
3
|
-
argument-hint: ""
|
|
2
|
+
description: Execute all solutions from issue queue with git commit after each solution
|
|
3
|
+
argument-hint: "[--worktree [<existing-path>]] [--queue <queue-id>]"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Issue Execute (Codex Version)
|
|
7
7
|
|
|
8
8
|
## Core Principle
|
|
9
9
|
|
|
10
|
-
**Serial Execution**: Execute solutions ONE BY ONE from the issue queue via `ccw issue next`. For each solution, complete all tasks sequentially (implement → test → commit per
|
|
10
|
+
**Serial Execution**: Execute solutions ONE BY ONE from the issue queue via `ccw issue next`. For each solution, complete all tasks sequentially (implement → test → verify), then commit once per solution with formatted summary. Continue autonomously until queue is empty.
|
|
11
|
+
|
|
12
|
+
## Worktree Mode (Recommended for Parallel Execution)
|
|
13
|
+
|
|
14
|
+
When `--worktree` is specified, create or use a git worktree to isolate work.
|
|
15
|
+
|
|
16
|
+
**Usage**:
|
|
17
|
+
- `--worktree` - Create a new worktree with timestamp-based name
|
|
18
|
+
- `--worktree <existing-path>` - Resume in an existing worktree (for recovery/continuation)
|
|
19
|
+
|
|
20
|
+
**Note**: `ccw issue` commands auto-detect worktree and redirect to main repo automatically.
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# Step 0: Setup worktree before starting (run from MAIN REPO)
|
|
24
|
+
|
|
25
|
+
# Use absolute paths to avoid issues when running from subdirectories
|
|
26
|
+
REPO_ROOT=$(git rev-parse --show-toplevel)
|
|
27
|
+
WORKTREE_BASE="${REPO_ROOT}/.ccw/worktrees"
|
|
28
|
+
|
|
29
|
+
# Check if existing worktree path was provided
|
|
30
|
+
EXISTING_WORKTREE="${1:-}" # Pass as argument or empty
|
|
31
|
+
|
|
32
|
+
if [[ -n "${EXISTING_WORKTREE}" && -d "${EXISTING_WORKTREE}" ]]; then
|
|
33
|
+
# Resume mode: Use existing worktree
|
|
34
|
+
WORKTREE_PATH="${EXISTING_WORKTREE}"
|
|
35
|
+
WORKTREE_NAME=$(basename "${WORKTREE_PATH}")
|
|
36
|
+
|
|
37
|
+
# Verify it's a valid git worktree
|
|
38
|
+
if ! git -C "${WORKTREE_PATH}" rev-parse --is-inside-work-tree &>/dev/null; then
|
|
39
|
+
echo "Error: ${EXISTING_WORKTREE} is not a valid git worktree"
|
|
40
|
+
exit 1
|
|
41
|
+
fi
|
|
42
|
+
|
|
43
|
+
echo "Resuming in existing worktree: ${WORKTREE_PATH}"
|
|
44
|
+
else
|
|
45
|
+
# Create mode: New worktree with timestamp
|
|
46
|
+
WORKTREE_NAME="issue-exec-$(date +%Y%m%d-%H%M%S)"
|
|
47
|
+
WORKTREE_PATH="${WORKTREE_BASE}/${WORKTREE_NAME}"
|
|
48
|
+
|
|
49
|
+
# Ensure worktree base directory exists (gitignored)
|
|
50
|
+
mkdir -p "${WORKTREE_BASE}"
|
|
51
|
+
|
|
52
|
+
# Prune stale worktrees from previous interrupted executions
|
|
53
|
+
git worktree prune
|
|
54
|
+
|
|
55
|
+
# Create worktree from current branch
|
|
56
|
+
git worktree add "${WORKTREE_PATH}" -b "${WORKTREE_NAME}"
|
|
57
|
+
|
|
58
|
+
echo "Created new worktree: ${WORKTREE_PATH}"
|
|
59
|
+
fi
|
|
60
|
+
|
|
61
|
+
# Setup cleanup trap for graceful failure handling
|
|
62
|
+
cleanup_worktree() {
|
|
63
|
+
echo "Cleaning up worktree due to interruption..."
|
|
64
|
+
cd "${REPO_ROOT}" 2>/dev/null || true
|
|
65
|
+
git worktree remove "${WORKTREE_PATH}" --force 2>/dev/null || true
|
|
66
|
+
# Keep branch for debugging failed executions
|
|
67
|
+
echo "Worktree removed. Branch '${WORKTREE_NAME}' kept for inspection."
|
|
68
|
+
}
|
|
69
|
+
trap cleanup_worktree EXIT INT TERM
|
|
70
|
+
|
|
71
|
+
# Change to worktree directory
|
|
72
|
+
cd "${WORKTREE_PATH}"
|
|
73
|
+
|
|
74
|
+
# ccw issue commands auto-detect worktree and use main repo's .workflow/
|
|
75
|
+
# So you can run ccw issue next/done directly from worktree
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Worktree Execution Pattern**:
|
|
79
|
+
```
|
|
80
|
+
1. [WORKTREE] ccw issue next → auto-redirects to main repo's .workflow/
|
|
81
|
+
2. [WORKTREE] Implement all tasks, run tests, git commit
|
|
82
|
+
3. [WORKTREE] ccw issue done <item_id> → auto-redirects to main repo
|
|
83
|
+
4. Repeat from step 1
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**Note**: Add `.ccw/worktrees/` to `.gitignore` to prevent tracking worktree contents.
|
|
87
|
+
|
|
88
|
+
**Benefits:**
|
|
89
|
+
- Parallel executors don't conflict with each other
|
|
90
|
+
- Main working directory stays clean
|
|
91
|
+
- Easy cleanup after execution
|
|
92
|
+
- **Resume support**: Pass existing worktree path to continue interrupted executions
|
|
93
|
+
|
|
94
|
+
**Resume Examples:**
|
|
95
|
+
```bash
|
|
96
|
+
# List existing worktrees to find interrupted execution
|
|
97
|
+
git worktree list
|
|
98
|
+
|
|
99
|
+
# Resume in existing worktree (pass path as argument)
|
|
100
|
+
# The worktree path will be used instead of creating a new one
|
|
101
|
+
codex -p "@.codex/prompts/issue-execute.md --worktree /path/to/existing/worktree"
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**Completion - User Choice:**
|
|
105
|
+
|
|
106
|
+
When all solutions are complete, ask user what to do with the worktree branch:
|
|
107
|
+
|
|
108
|
+
```javascript
|
|
109
|
+
AskUserQuestion({
|
|
110
|
+
questions: [{
|
|
111
|
+
question: "All solutions completed in worktree. What would you like to do with the changes?",
|
|
112
|
+
header: "Merge",
|
|
113
|
+
multiSelect: false,
|
|
114
|
+
options: [
|
|
115
|
+
{
|
|
116
|
+
label: "Merge to main",
|
|
117
|
+
description: "Merge worktree branch into main branch and cleanup"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
label: "Create PR",
|
|
121
|
+
description: "Push branch and create a pull request for review"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
label: "Keep branch",
|
|
125
|
+
description: "Keep the branch for manual handling, cleanup worktree only"
|
|
126
|
+
}
|
|
127
|
+
]
|
|
128
|
+
}]
|
|
129
|
+
})
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**Based on user selection:**
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
# Disable cleanup trap before intentional cleanup
|
|
136
|
+
trap - EXIT INT TERM
|
|
137
|
+
|
|
138
|
+
# Return to main repo first (use REPO_ROOT from setup)
|
|
139
|
+
cd "${REPO_ROOT}"
|
|
140
|
+
|
|
141
|
+
# Validate main repo state before merge (prevents conflicts)
|
|
142
|
+
validate_main_clean() {
|
|
143
|
+
if [[ -n $(git status --porcelain) ]]; then
|
|
144
|
+
echo "⚠️ Warning: Main repo has uncommitted changes."
|
|
145
|
+
echo "Cannot auto-merge. Falling back to 'Create PR' option."
|
|
146
|
+
return 1
|
|
147
|
+
fi
|
|
148
|
+
return 0
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
# Option 1: Merge to main (only if main is clean)
|
|
152
|
+
if validate_main_clean; then
|
|
153
|
+
git merge "${WORKTREE_NAME}" --no-ff -m "Merge issue queue execution: ${WORKTREE_NAME}"
|
|
154
|
+
git worktree remove "${WORKTREE_PATH}"
|
|
155
|
+
git branch -d "${WORKTREE_NAME}"
|
|
156
|
+
else
|
|
157
|
+
# Fallback to PR if main is dirty
|
|
158
|
+
git push -u origin "${WORKTREE_NAME}"
|
|
159
|
+
gh pr create --title "Issue Queue: ${WORKTREE_NAME}" --body "Automated issue queue execution (main had uncommitted changes)"
|
|
160
|
+
git worktree remove "${WORKTREE_PATH}"
|
|
161
|
+
fi
|
|
162
|
+
|
|
163
|
+
# Option 2: Create PR (Recommended for parallel execution)
|
|
164
|
+
git push -u origin "${WORKTREE_NAME}"
|
|
165
|
+
gh pr create --title "Issue Queue: ${WORKTREE_NAME}" --body "Automated issue queue execution"
|
|
166
|
+
git worktree remove "${WORKTREE_PATH}"
|
|
167
|
+
# Branch kept on remote
|
|
168
|
+
|
|
169
|
+
# Option 3: Keep branch
|
|
170
|
+
git worktree remove "${WORKTREE_PATH}"
|
|
171
|
+
# Branch kept locally for manual handling
|
|
172
|
+
echo "Branch '${WORKTREE_NAME}' kept. Merge manually when ready."
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
**Parallel Execution Safety**: For parallel executors, "Create PR" is the safest option as it avoids race conditions during merge. Multiple PRs can be reviewed and merged sequentially.
|
|
11
176
|
|
|
12
177
|
## Execution Flow
|
|
13
178
|
|
|
@@ -21,9 +186,9 @@ WHILE solution exists:
|
|
|
21
186
|
- IMPLEMENT: Follow task.implementation steps
|
|
22
187
|
- TEST: Run task.test commands
|
|
23
188
|
- VERIFY: Check task.acceptance criteria
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
189
|
+
3. COMMIT: Stage all files, commit once with formatted summary
|
|
190
|
+
4. Report completion via ccw issue done <item_id>
|
|
191
|
+
5. Fetch next solution via ccw issue next
|
|
27
192
|
|
|
28
193
|
WHEN queue empty:
|
|
29
194
|
Output final summary
|
|
@@ -33,8 +198,9 @@ WHEN queue empty:
|
|
|
33
198
|
|
|
34
199
|
Run this command to get your first solution:
|
|
35
200
|
|
|
36
|
-
```
|
|
37
|
-
ccw
|
|
201
|
+
```javascript
|
|
202
|
+
// ccw auto-detects worktree and uses main repo's .workflow/
|
|
203
|
+
const result = shell_command({ command: "ccw issue next" })
|
|
38
204
|
```
|
|
39
205
|
|
|
40
206
|
This returns JSON with the full solution definition:
|
|
@@ -112,44 +278,64 @@ Expected solution structure:
|
|
|
112
278
|
}
|
|
113
279
|
```
|
|
114
280
|
|
|
115
|
-
## Step 2.5: Initialize
|
|
281
|
+
## Step 2.5: Initialize Task Tracking
|
|
116
282
|
|
|
117
|
-
After parsing solution,
|
|
283
|
+
After parsing solution, use `update_plan` to track each task:
|
|
118
284
|
|
|
119
285
|
```javascript
|
|
120
|
-
//
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
286
|
+
// Initialize plan with all tasks from solution
|
|
287
|
+
update_plan({
|
|
288
|
+
explanation: `Starting solution ${item_id}`,
|
|
289
|
+
plan: solution.tasks.map(task => ({
|
|
290
|
+
step: `${task.id}: ${task.title}`,
|
|
125
291
|
status: "pending"
|
|
126
292
|
}))
|
|
127
293
|
})
|
|
128
294
|
```
|
|
129
295
|
|
|
296
|
+
**Note**: Codex uses `update_plan` tool for task tracking (not TodoWrite).
|
|
297
|
+
|
|
130
298
|
## Step 3: Execute Tasks Sequentially
|
|
131
299
|
|
|
132
300
|
Iterate through `solution.tasks` array and execute each task.
|
|
133
301
|
|
|
134
302
|
**Before starting each task**, mark it as in_progress:
|
|
135
303
|
```javascript
|
|
136
|
-
// Update current task status
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
304
|
+
// Update current task status
|
|
305
|
+
update_plan({
|
|
306
|
+
explanation: `Working on ${task.id}: ${task.title}`,
|
|
307
|
+
plan: tasks.map(t => ({
|
|
308
|
+
step: `${t.id}: ${t.title}`,
|
|
309
|
+
status: t.id === task.id ? "in_progress" : (t.completed ? "completed" : "pending")
|
|
310
|
+
}))
|
|
311
|
+
})
|
|
140
312
|
```
|
|
141
313
|
|
|
142
|
-
**After completing each task** (
|
|
314
|
+
**After completing each task** (verification passed), mark it as completed:
|
|
143
315
|
```javascript
|
|
144
|
-
//
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
316
|
+
// Mark task as completed (commit happens at solution level)
|
|
317
|
+
update_plan({
|
|
318
|
+
explanation: `Completed ${task.id}: ${task.title}`,
|
|
319
|
+
plan: tasks.map(t => ({
|
|
320
|
+
step: `${t.id}: ${t.title}`,
|
|
321
|
+
status: t.id === task.id ? "completed" : t.status
|
|
322
|
+
}))
|
|
323
|
+
})
|
|
148
324
|
```
|
|
149
325
|
|
|
150
326
|
### Phase A: IMPLEMENT
|
|
151
327
|
|
|
152
|
-
1. Read
|
|
328
|
+
1. **Read context files in parallel** using `multi_tool_use.parallel`:
|
|
329
|
+
```javascript
|
|
330
|
+
// Read all relevant files in parallel for context
|
|
331
|
+
multi_tool_use.parallel({
|
|
332
|
+
tool_uses: solution.exploration_context.relevant_files.map(file => ({
|
|
333
|
+
recipient_name: "functions.read_file",
|
|
334
|
+
parameters: { path: file }
|
|
335
|
+
}))
|
|
336
|
+
})
|
|
337
|
+
```
|
|
338
|
+
|
|
153
339
|
2. Follow `task.implementation` steps in order
|
|
154
340
|
3. Apply changes to `task.modification_points` files
|
|
155
341
|
4. Follow `solution.exploration_context.patterns` for code style consistency
|
|
@@ -210,80 +396,111 @@ All criteria met: YES
|
|
|
210
396
|
|
|
211
397
|
**If any criterion fails**: Go back to IMPLEMENT phase and fix.
|
|
212
398
|
|
|
213
|
-
###
|
|
399
|
+
### Repeat for Next Task
|
|
400
|
+
|
|
401
|
+
Continue to next task in `solution.tasks` array until all tasks are complete.
|
|
402
|
+
|
|
403
|
+
**Note**: Do NOT commit after each task. Commits happen at solution level after all tasks pass.
|
|
214
404
|
|
|
215
|
-
|
|
405
|
+
## Step 3.5: Commit Solution
|
|
406
|
+
|
|
407
|
+
After ALL tasks in the solution pass implementation, testing, and verification, commit once for the entire solution:
|
|
216
408
|
|
|
217
409
|
```bash
|
|
218
|
-
# Stage all modified files
|
|
410
|
+
# Stage all modified files from all tasks
|
|
219
411
|
git add path/to/file1.ts path/to/file2.ts ...
|
|
220
412
|
|
|
221
|
-
# Commit with
|
|
413
|
+
# Commit with formatted solution summary
|
|
222
414
|
git commit -m "$(cat <<'EOF'
|
|
223
|
-
[
|
|
415
|
+
[commit_type](scope): [solution.description - brief]
|
|
416
|
+
|
|
417
|
+
## Solution Summary
|
|
418
|
+
- **Solution-ID**: [solution_id]
|
|
419
|
+
- **Issue-ID**: [issue_id]
|
|
420
|
+
- **Risk/Impact/Complexity**: [solution.analysis.risk]/[solution.analysis.impact]/[solution.analysis.complexity]
|
|
224
421
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
422
|
+
## Tasks Completed
|
|
423
|
+
- [T1] [task1.title]: [task1.action] [task1.scope]
|
|
424
|
+
- [T2] [task2.title]: [task2.action] [task2.scope]
|
|
425
|
+
- ...
|
|
426
|
+
|
|
427
|
+
## Files Modified
|
|
428
|
+
- path/to/file1.ts
|
|
429
|
+
- path/to/file2.ts
|
|
430
|
+
- ...
|
|
431
|
+
|
|
432
|
+
## Verification
|
|
433
|
+
- All unit tests passed
|
|
434
|
+
- All acceptance criteria verified
|
|
228
435
|
EOF
|
|
229
436
|
)"
|
|
230
437
|
```
|
|
231
438
|
|
|
439
|
+
**Commit Type Selection**:
|
|
440
|
+
- `feat`: New feature or capability
|
|
441
|
+
- `fix`: Bug fix
|
|
442
|
+
- `refactor`: Code restructuring without behavior change
|
|
443
|
+
- `test`: Adding or updating tests
|
|
444
|
+
- `docs`: Documentation changes
|
|
445
|
+
- `chore`: Maintenance tasks
|
|
446
|
+
|
|
232
447
|
**Output format:**
|
|
233
448
|
```
|
|
234
|
-
## Committed: [
|
|
449
|
+
## Solution Committed: [solution_id]
|
|
235
450
|
|
|
236
451
|
**Commit**: [commit hash]
|
|
237
|
-
**
|
|
238
|
-
**
|
|
239
|
-
```
|
|
452
|
+
**Type**: [commit_type]
|
|
453
|
+
**Scope**: [scope]
|
|
240
454
|
|
|
241
|
-
|
|
455
|
+
**Summary**:
|
|
456
|
+
[solution.description]
|
|
242
457
|
|
|
243
|
-
|
|
458
|
+
**Tasks**: [N] tasks completed
|
|
459
|
+
- [x] T1: [task1.title]
|
|
460
|
+
- [x] T2: [task2.title]
|
|
461
|
+
...
|
|
462
|
+
|
|
463
|
+
**Files**: [M] files changed
|
|
464
|
+
```
|
|
244
465
|
|
|
245
466
|
## Step 4: Report Completion
|
|
246
467
|
|
|
247
|
-
After ALL tasks in the solution are complete, report to queue system:
|
|
468
|
+
After ALL tasks in the solution are complete and committed, report to queue system:
|
|
248
469
|
|
|
249
|
-
```
|
|
250
|
-
ccw
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
"summary": "[What was accomplished]"
|
|
260
|
-
}'
|
|
470
|
+
```javascript
|
|
471
|
+
// ccw auto-detects worktree and uses main repo's .workflow/
|
|
472
|
+
shell_command({
|
|
473
|
+
command: `ccw issue done ${item_id} --result '${JSON.stringify({
|
|
474
|
+
files_modified: ["path1", "path2"],
|
|
475
|
+
tests_passed: true,
|
|
476
|
+
commit: { hash: "abc123", type: "feat", tasks: ["T1", "T2"] },
|
|
477
|
+
summary: "[What was accomplished]"
|
|
478
|
+
})}'`
|
|
479
|
+
})
|
|
261
480
|
```
|
|
262
481
|
|
|
263
|
-
**If solution failed
|
|
482
|
+
**If solution failed:**
|
|
264
483
|
|
|
265
|
-
```
|
|
266
|
-
|
|
484
|
+
```javascript
|
|
485
|
+
shell_command({
|
|
486
|
+
command: `ccw issue done ${item_id} --fail --reason '{"task_id": "TX", "error_type": "test_failure", "message": "..."}'`
|
|
487
|
+
})
|
|
267
488
|
```
|
|
268
489
|
|
|
269
490
|
## Step 5: Continue to Next Solution
|
|
270
491
|
|
|
271
|
-
|
|
492
|
+
Fetch next solution:
|
|
272
493
|
|
|
273
494
|
```javascript
|
|
274
|
-
//
|
|
275
|
-
|
|
276
|
-
```
|
|
277
|
-
|
|
278
|
-
Then fetch next solution:
|
|
279
|
-
|
|
280
|
-
```bash
|
|
281
|
-
ccw issue next
|
|
495
|
+
// ccw auto-detects worktree
|
|
496
|
+
const result = shell_command({ command: "ccw issue next" })
|
|
282
497
|
```
|
|
283
498
|
|
|
284
499
|
**Output progress:**
|
|
285
500
|
```
|
|
286
|
-
✓ [N/M] Completed: [item_id] - [solution.
|
|
501
|
+
✓ [N/M] Completed: [item_id] - [solution.description]
|
|
502
|
+
Commit: [commit_hash] ([commit_type])
|
|
503
|
+
Tasks: [task_count] completed
|
|
287
504
|
→ Fetching next solution...
|
|
288
505
|
```
|
|
289
506
|
|
|
@@ -293,18 +510,21 @@ ccw issue next
|
|
|
293
510
|
|
|
294
511
|
When `ccw issue next` returns `{ "status": "empty" }`:
|
|
295
512
|
|
|
513
|
+
**If running in worktree mode**: Prompt user for merge/PR/keep choice (see "Completion - User Choice" above) before outputting summary.
|
|
514
|
+
|
|
296
515
|
```markdown
|
|
297
516
|
## Issue Queue Execution Complete
|
|
298
517
|
|
|
299
518
|
**Total Solutions Executed**: N
|
|
300
519
|
**Total Tasks Executed**: M
|
|
520
|
+
**Total Commits**: N (one per solution)
|
|
301
521
|
|
|
302
|
-
**
|
|
303
|
-
| # | Solution |
|
|
304
|
-
|
|
305
|
-
| 1 |
|
|
306
|
-
| 2 |
|
|
307
|
-
| 3 |
|
|
522
|
+
**Solution Commits**:
|
|
523
|
+
| # | Solution | Tasks | Commit | Type |
|
|
524
|
+
|---|----------|-------|--------|------|
|
|
525
|
+
| 1 | SOL-xxx-1 | T1, T2 | abc123 | feat |
|
|
526
|
+
| 2 | SOL-xxx-2 | T1 | def456 | fix |
|
|
527
|
+
| 3 | SOL-yyy-1 | T1, T2, T3 | ghi789 | refactor |
|
|
308
528
|
|
|
309
529
|
**Files Modified**:
|
|
310
530
|
- path/to/file1.ts
|
|
@@ -317,14 +537,15 @@ When `ccw issue next` returns `{ "status": "empty" }`:
|
|
|
317
537
|
## Execution Rules
|
|
318
538
|
|
|
319
539
|
1. **Never stop mid-queue** - Continue until queue is empty
|
|
320
|
-
2. **One solution at a time** - Fully complete (all tasks + report) before moving on
|
|
321
|
-
3. **Sequential within solution** - Complete each task
|
|
322
|
-
4. **Tests MUST pass** - Do not proceed
|
|
323
|
-
5. **
|
|
324
|
-
6. **Self-verify** - All acceptance criteria must pass before commit
|
|
540
|
+
2. **One solution at a time** - Fully complete (all tasks + commit + report) before moving on
|
|
541
|
+
3. **Sequential within solution** - Complete each task's implement/test/verify before next task
|
|
542
|
+
4. **Tests MUST pass** - Do not proceed if any task's tests fail
|
|
543
|
+
5. **One commit per solution** - All tasks share a single commit with formatted summary
|
|
544
|
+
6. **Self-verify** - All acceptance criteria must pass before solution commit
|
|
325
545
|
7. **Report accurately** - Use `ccw issue done` after each solution
|
|
326
546
|
8. **Handle failures gracefully** - If a solution fails, report via `ccw issue done --fail` and continue to next
|
|
327
|
-
9. **Track with
|
|
547
|
+
9. **Track with update_plan** - Use update_plan tool for task progress tracking
|
|
548
|
+
10. **Worktree auto-detect** - `ccw issue` commands auto-redirect to main repo from worktree
|
|
328
549
|
|
|
329
550
|
## Error Handling
|
|
330
551
|
|
|
@@ -333,17 +554,19 @@ When `ccw issue next` returns `{ "status": "empty" }`:
|
|
|
333
554
|
| `ccw issue next` returns empty | All done - output final summary |
|
|
334
555
|
| Tests fail | Fix code, re-run tests |
|
|
335
556
|
| Verification fails | Go back to implement phase |
|
|
336
|
-
|
|
|
557
|
+
| Solution commit fails | Check staging, retry commit |
|
|
337
558
|
| `ccw issue done` fails | Log error, continue to next solution |
|
|
338
|
-
|
|
|
559
|
+
| Any task unrecoverable | Call `ccw issue done --fail`, continue to next solution |
|
|
339
560
|
|
|
340
561
|
## CLI Command Reference
|
|
341
562
|
|
|
342
563
|
| Command | Purpose |
|
|
343
564
|
|---------|---------|
|
|
344
|
-
| `ccw issue next` | Fetch next solution from queue |
|
|
345
|
-
| `ccw issue
|
|
346
|
-
| `ccw issue done <id
|
|
565
|
+
| `ccw issue next` | Fetch next solution from queue (auto-selects from active queues) |
|
|
566
|
+
| `ccw issue next --queue QUE-xxx` | Fetch from specific queue |
|
|
567
|
+
| `ccw issue done <id>` | Mark solution complete with result (auto-detects queue) |
|
|
568
|
+
| `ccw issue done <id> --fail --reason "..."` | Mark solution failed with structured reason |
|
|
569
|
+
| `ccw issue retry --queue QUE-xxx` | Reset failed items in specific queue |
|
|
347
570
|
|
|
348
571
|
## Start Execution
|
|
349
572
|
|
|
@@ -183,10 +183,12 @@ Group assignment:
|
|
|
183
183
|
```json
|
|
184
184
|
{
|
|
185
185
|
"active_queue_id": "QUE-20251228-120000",
|
|
186
|
+
"active_queue_ids": ["QUE-20251228-120000"],
|
|
186
187
|
"queues": [
|
|
187
188
|
{
|
|
188
189
|
"id": "QUE-20251228-120000",
|
|
189
190
|
"status": "active",
|
|
191
|
+
"priority": 1,
|
|
190
192
|
"issue_ids": ["ISS-001", "ISS-002"],
|
|
191
193
|
"total_solutions": 3,
|
|
192
194
|
"completed_solutions": 0,
|
|
@@ -196,6 +198,26 @@ Group assignment:
|
|
|
196
198
|
}
|
|
197
199
|
```
|
|
198
200
|
|
|
201
|
+
## Multi-Queue Management
|
|
202
|
+
|
|
203
|
+
Multiple queues can be active simultaneously. The system executes queues in priority order (lower = higher priority).
|
|
204
|
+
|
|
205
|
+
**Activate multiple queues:**
|
|
206
|
+
```bash
|
|
207
|
+
ccw issue queue activate QUE-001,QUE-002,QUE-003
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
**Set queue priority:**
|
|
211
|
+
```bash
|
|
212
|
+
ccw issue queue priority QUE-001 --priority 1
|
|
213
|
+
ccw issue queue priority QUE-002 --priority 2
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**Execution behavior with multi-queue:**
|
|
217
|
+
- `ccw issue next` automatically selects from active queues in priority order
|
|
218
|
+
- Complete all items in Q1 before moving to Q2 (serialized execution)
|
|
219
|
+
- Use `--queue QUE-xxx` to target a specific queue
|
|
220
|
+
|
|
199
221
|
### Step 7: Update Issue Statuses
|
|
200
222
|
|
|
201
223
|
**MUST use CLI command** (NOT direct file operations):
|
|
@@ -63,22 +63,29 @@ For current task, perform:
|
|
|
63
63
|
```markdown
|
|
64
64
|
## Executing: [task.title]
|
|
65
65
|
|
|
66
|
-
**
|
|
66
|
+
**Scope**: `[task.scope]` (module/feature level)
|
|
67
67
|
**Action**: [task.action]
|
|
68
68
|
|
|
69
|
+
### Modification Points
|
|
70
|
+
For each point in task.modification_points:
|
|
71
|
+
- **File**: [point.file]
|
|
72
|
+
- **Target**: [point.target] (function/class/line range)
|
|
73
|
+
- **Change**: [point.change]
|
|
74
|
+
|
|
69
75
|
### Implementation
|
|
70
76
|
[Follow task.implementation steps]
|
|
71
77
|
|
|
72
78
|
### Reference Pattern
|
|
73
79
|
- Pattern: [task.reference.pattern]
|
|
74
|
-
-
|
|
80
|
+
- Files: [task.reference.files]
|
|
81
|
+
- Examples: [task.reference.examples]
|
|
75
82
|
|
|
76
83
|
### Acceptance Criteria
|
|
77
84
|
- [ ] [criterion 1]
|
|
78
85
|
- [ ] [criterion 2]
|
|
79
86
|
```
|
|
80
87
|
|
|
81
|
-
**Execute all
|
|
88
|
+
**Execute all modification points. Verify all acceptance criteria.**
|
|
82
89
|
|
|
83
90
|
### Step 4: Mark Completed
|
|
84
91
|
|
|
@@ -104,22 +111,40 @@ Output progress:
|
|
|
104
111
|
|
|
105
112
|
```json
|
|
106
113
|
{
|
|
107
|
-
"id": "
|
|
108
|
-
"title": "
|
|
109
|
-
"
|
|
110
|
-
"action": "
|
|
111
|
-
"description": "What to
|
|
112
|
-
"
|
|
114
|
+
"id": "T1",
|
|
115
|
+
"title": "Implement auth validation",
|
|
116
|
+
"scope": "src/auth/",
|
|
117
|
+
"action": "Create|Update|Implement|Refactor|Add|Delete|Configure|Test|Fix",
|
|
118
|
+
"description": "What to implement (1-2 sentences)",
|
|
119
|
+
"modification_points": [
|
|
120
|
+
{
|
|
121
|
+
"file": "src/auth/validator.ts",
|
|
122
|
+
"target": "validateToken:45-60",
|
|
123
|
+
"change": "Add expiry check"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"file": "src/auth/middleware.ts",
|
|
127
|
+
"target": "authMiddleware",
|
|
128
|
+
"change": "Call new validator"
|
|
129
|
+
}
|
|
130
|
+
],
|
|
131
|
+
"implementation": ["step 1", "step 2", "...max 7 steps"],
|
|
113
132
|
"reference": {
|
|
114
133
|
"pattern": "pattern name",
|
|
115
|
-
"files": ["example1.ts",
|
|
134
|
+
"files": ["example1.ts"],
|
|
135
|
+
"examples": "specific guidance"
|
|
116
136
|
},
|
|
117
137
|
"acceptance": ["criterion 1", "criterion 2"],
|
|
118
|
-
"depends_on": ["
|
|
138
|
+
"depends_on": ["T0"],
|
|
119
139
|
"status": "pending|completed"
|
|
120
140
|
}
|
|
121
141
|
```
|
|
122
142
|
|
|
143
|
+
**Key Fields**:
|
|
144
|
+
- `scope`: Module/feature level path (prefer over single file)
|
|
145
|
+
- `modification_points[]`: All files to modify with precise targets
|
|
146
|
+
- `target`: Function/class/line range (e.g., `validateToken:45-60`)
|
|
147
|
+
|
|
123
148
|
## Execution Rules
|
|
124
149
|
|
|
125
150
|
1. **Never stop mid-workflow** - Continue until all tasks complete
|