claude-code-workflow 6.1.4 → 6.2.2
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 +10 -0
- package/.claude/agents/action-planning-agent.md +857 -778
- package/.claude/agents/cli-execution-agent.md +266 -269
- package/.claude/agents/cli-explore-agent.md +2 -2
- package/.claude/agents/cli-lite-planning-agent.md +142 -92
- package/.claude/agents/cli-planning-agent.md +4 -4
- package/.claude/agents/code-developer.md +7 -6
- package/.claude/agents/conceptual-planning-agent.md +2 -2
- package/.claude/agents/context-search-agent.md +31 -32
- package/.claude/agents/doc-generator.md +4 -4
- package/.claude/agents/memory-bridge.md +93 -93
- package/.claude/agents/test-context-search-agent.md +8 -7
- package/.claude/agents/test-fix-agent.md +7 -6
- package/.claude/commands/clean.md +516 -0
- package/.claude/commands/memory/compact.md +383 -0
- 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.md +5 -5
- package/.claude/commands/memory/tech-research-rules.md +310 -0
- package/.claude/commands/memory/update-full.md +332 -332
- package/.claude/commands/memory/workflow-skill-memory.md +4 -4
- package/.claude/commands/task/create.md +151 -151
- package/.claude/commands/version.md +254 -254
- package/.claude/commands/workflow/brainstorm/api-designer.md +587 -585
- package/.claude/commands/workflow/brainstorm/artifacts.md +1 -0
- package/.claude/commands/workflow/brainstorm/auto-parallel.md +443 -443
- 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 -387
- 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.md +321 -0
- package/.claude/commands/workflow/execute.md +13 -0
- package/.claude/commands/workflow/init.md +165 -164
- package/.claude/commands/workflow/lite-execute.md +119 -13
- package/.claude/commands/workflow/lite-fix.md +623 -621
- package/.claude/commands/workflow/lite-plan.md +610 -592
- package/.claude/commands/workflow/plan.md +5 -5
- package/.claude/commands/workflow/review-module-cycle.md +2 -0
- package/.claude/commands/workflow/review-session-cycle.md +2 -0
- package/.claude/commands/workflow/review.md +297 -291
- package/.claude/commands/workflow/session/complete.md +153 -500
- package/.claude/commands/workflow/session/list.md +95 -95
- package/.claude/commands/workflow/session/resume.md +60 -60
- package/.claude/commands/workflow/session/start.md +199 -199
- package/.claude/commands/workflow/tdd-plan.md +3 -3
- package/.claude/commands/workflow/tdd-verify.md +23 -9
- package/.claude/commands/workflow/test-cycle-execute.md +2 -0
- package/.claude/commands/workflow/test-fix-gen.md +699 -699
- package/.claude/commands/workflow/tools/conflict-resolution.md +104 -18
- package/.claude/commands/workflow/tools/context-gather.md +436 -434
- package/.claude/commands/workflow/tools/task-generate-agent.md +490 -291
- package/.claude/commands/workflow/tools/task-generate-tdd.md +18 -10
- package/.claude/commands/workflow/tools/test-concept-enhanced.md +2 -1
- package/.claude/commands/workflow/tools/test-context-gather.md +1 -0
- package/.claude/commands/workflow/tools/test-task-generate.md +1 -0
- package/.claude/commands/workflow/ui-design/import-from-code.md +9 -6
- package/.claude/skills/command-guide/SKILL.md +5 -5
- package/.claude/skills/command-guide/index/all-commands.json +1 -1
- package/.claude/skills/command-guide/index/by-category.json +1 -1
- package/.claude/skills/command-guide/index/by-use-case.json +1 -1
- package/.claude/skills/command-guide/reference/agents/action-planning-agent.md +857 -778
- package/.claude/skills/command-guide/reference/agents/cli-execution-agent.md +266 -269
- package/.claude/skills/command-guide/reference/agents/cli-explore-agent.md +2 -2
- package/.claude/skills/command-guide/reference/agents/cli-lite-planning-agent.md +142 -92
- package/.claude/skills/command-guide/reference/agents/cli-planning-agent.md +4 -4
- package/.claude/skills/command-guide/reference/agents/code-developer.md +7 -6
- package/.claude/skills/command-guide/reference/agents/conceptual-planning-agent.md +2 -2
- package/.claude/skills/command-guide/reference/agents/context-search-agent.md +31 -32
- package/.claude/skills/command-guide/reference/agents/doc-generator.md +4 -4
- package/.claude/skills/command-guide/reference/agents/memory-bridge.md +93 -93
- package/.claude/skills/command-guide/reference/agents/test-context-search-agent.md +8 -7
- package/.claude/skills/command-guide/reference/agents/test-fix-agent.md +7 -6
- package/.claude/skills/command-guide/reference/commands/memory/docs-full-cli.md +471 -471
- package/.claude/skills/command-guide/reference/commands/memory/docs-related-cli.md +386 -386
- package/.claude/skills/command-guide/reference/commands/memory/docs.md +17 -16
- package/.claude/skills/command-guide/reference/commands/memory/load.md +5 -5
- package/.claude/skills/command-guide/reference/commands/memory/tech-research.md +194 -357
- package/.claude/skills/command-guide/reference/commands/memory/update-full.md +332 -332
- package/.claude/skills/command-guide/reference/commands/memory/workflow-skill-memory.md +4 -4
- package/.claude/skills/command-guide/reference/commands/task/create.md +151 -151
- package/.claude/skills/command-guide/reference/commands/version.md +254 -254
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/api-designer.md +585 -585
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/auto-parallel.md +443 -443
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/data-architect.md +220 -220
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-manager.md +200 -200
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-owner.md +200 -200
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/scrum-master.md +200 -200
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/subject-matter-expert.md +200 -200
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/system-architect.md +387 -387
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ui-designer.md +221 -221
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ux-expert.md +221 -221
- package/.claude/skills/command-guide/reference/commands/workflow/execute.md +25 -20
- package/.claude/skills/command-guide/reference/commands/workflow/init.md +164 -164
- package/.claude/skills/command-guide/reference/commands/workflow/lite-execute.md +748 -686
- package/.claude/skills/command-guide/reference/commands/workflow/lite-fix.md +664 -621
- package/.claude/skills/command-guide/reference/commands/workflow/lite-plan.md +645 -592
- package/.claude/skills/command-guide/reference/commands/workflow/plan.md +5 -5
- package/.claude/skills/command-guide/reference/commands/workflow/review.md +25 -18
- package/.claude/skills/command-guide/reference/commands/workflow/session/complete.md +547 -500
- package/.claude/skills/command-guide/reference/commands/workflow/session/list.md +45 -27
- package/.claude/skills/command-guide/reference/commands/workflow/session/resume.md +35 -19
- package/.claude/skills/command-guide/reference/commands/workflow/session/start.md +90 -33
- package/.claude/skills/command-guide/reference/commands/workflow/tdd-plan.md +3 -3
- package/.claude/skills/command-guide/reference/commands/workflow/tdd-verify.md +23 -9
- package/.claude/skills/command-guide/reference/commands/workflow/test-fix-gen.md +699 -699
- package/.claude/skills/command-guide/reference/commands/workflow/tools/conflict-resolution.md +103 -17
- package/.claude/skills/command-guide/reference/commands/workflow/tools/context-gather.md +434 -434
- package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-agent.md +487 -291
- package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-tdd.md +17 -10
- package/.claude/skills/command-guide/reference/commands/workflow/tools/test-concept-enhanced.md +1 -1
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/import-from-code.md +6 -6
- package/.claude/workflows/chinese-response.md +38 -0
- package/.claude/workflows/cli-templates/prompts/rules/rule-api.txt +122 -0
- package/.claude/workflows/cli-templates/prompts/rules/rule-components.txt +122 -0
- package/.claude/workflows/cli-templates/prompts/rules/rule-config.txt +89 -0
- package/.claude/workflows/cli-templates/prompts/rules/rule-core.txt +60 -0
- package/.claude/workflows/cli-templates/prompts/rules/rule-patterns.txt +70 -0
- package/.claude/workflows/cli-templates/prompts/rules/rule-testing.txt +81 -0
- package/.claude/workflows/cli-templates/prompts/rules/tech-rules-agent-prompt.txt +89 -0
- package/.claude/workflows/cli-templates/prompts/workflow/gemini-solution-design.txt +131 -131
- package/.claude/workflows/cli-templates/prompts/workflow/skill-conflict-patterns.txt +5 -9
- package/.claude/workflows/cli-templates/prompts/workflow/skill-lessons-learned.txt +5 -9
- package/.claude/workflows/cli-templates/protocols/analysis-protocol.md +112 -0
- package/.claude/workflows/cli-templates/protocols/write-protocol.md +201 -0
- package/.claude/workflows/cli-templates/schemas/conflict-resolution-schema.json +137 -0
- package/.claude/workflows/cli-templates/schemas/debug-log-json-schema.json +127 -0
- package/.claude/workflows/cli-templates/schemas/fix-plan-json-schema.json +25 -0
- package/.claude/workflows/cli-templates/schemas/plan-json-schema.json +25 -0
- package/.claude/workflows/cli-tools-usage.md +526 -0
- package/{CLAUDE.md → .claude/workflows/coding-philosophy.md} +24 -45
- package/.claude/workflows/context-tools.md +84 -0
- package/.claude/workflows/file-modification.md +64 -0
- package/.claude/workflows/tool-strategy.md +216 -79
- package/.claude/workflows/windows-platform.md +16 -0
- package/.claude/workflows/workflow-architecture.md +942 -942
- package/.codex/AGENTS.md +63 -330
- package/.codex/prompts/debug.md +318 -0
- package/.codex/prompts/execute.md +273 -0
- package/.codex/prompts/lite-execute.md +164 -0
- package/.codex/prompts/lite-plan.md +469 -0
- package/.codex/prompts.zip +0 -0
- package/.gemini/GEMINI.md +25 -164
- package/.qwen/QWEN.md +0 -139
- package/README.md +29 -9
- package/ccw/README.md +30 -6
- package/ccw/bin/ccw-mcp.js +7 -0
- package/ccw/bin/ccw.js +9 -9
- package/ccw/package.json +65 -47
- package/ccw/src/.workflow/.cli-history/history.db +0 -0
- package/ccw/src/.workflow/.cli-history/history.db-shm +0 -0
- package/ccw/src/.workflow/.cli-history/history.db-wal +0 -0
- package/ccw/src/cli.ts +244 -0
- package/ccw/src/commands/cli.ts +740 -0
- package/ccw/src/commands/core-memory.ts +770 -0
- package/ccw/src/commands/hook.ts +315 -0
- package/ccw/src/commands/install.ts +519 -0
- package/ccw/src/commands/{list.js → list.ts} +1 -1
- package/ccw/src/commands/memory.ts +1090 -0
- package/ccw/src/commands/{serve.js → serve.ts} +14 -5
- package/ccw/src/commands/session-path-resolver.ts +372 -0
- package/ccw/src/commands/session.ts +1141 -0
- package/ccw/src/commands/{stop.js → stop.ts} +16 -6
- package/ccw/src/commands/tool.ts +201 -0
- package/ccw/src/commands/{uninstall.js → uninstall.ts} +89 -40
- package/ccw/src/commands/{upgrade.js → upgrade.ts} +68 -23
- package/ccw/src/commands/{view.js → view.ts} +22 -8
- package/ccw/src/config/storage-paths.ts +670 -0
- package/ccw/src/core/cache-manager.ts +294 -0
- package/ccw/src/core/claude-freshness.ts +319 -0
- package/ccw/src/core/core-memory-store.ts +1528 -0
- package/ccw/src/core/{dashboard-generator-patch.js → dashboard-generator-patch.ts} +18 -0
- package/ccw/src/core/{dashboard-generator.js → dashboard-generator.ts} +69 -12
- package/ccw/src/core/data-aggregator.ts +584 -0
- package/ccw/src/core/history-importer.ts +625 -0
- package/ccw/src/core/{lite-scanner.js → lite-scanner-complete.ts} +162 -66
- package/ccw/src/core/lite-scanner.ts +469 -0
- package/ccw/src/core/{manifest.js → manifest.ts} +104 -34
- package/ccw/src/core/memory-embedder-bridge.ts +262 -0
- package/ccw/src/core/memory-store.ts +978 -0
- package/ccw/src/core/routes/ccw-routes.ts +96 -0
- package/ccw/src/core/routes/claude-routes.ts +1183 -0
- package/ccw/src/core/routes/cli-routes.ts +561 -0
- package/ccw/src/core/routes/codexlens-routes.ts +806 -0
- package/ccw/src/core/routes/core-memory-routes.ts +605 -0
- package/ccw/src/core/routes/files-routes.ts +428 -0
- package/ccw/src/core/routes/graph-routes.md +164 -0
- package/ccw/src/core/routes/graph-routes.ts +626 -0
- package/ccw/src/core/routes/help-routes.ts +308 -0
- package/ccw/src/core/routes/hooks-routes.ts +405 -0
- package/ccw/src/core/routes/mcp-routes.ts +1271 -0
- package/ccw/src/core/routes/mcp-routes.ts.backup +550 -0
- package/ccw/src/core/routes/mcp-templates-db.ts +268 -0
- package/ccw/src/core/routes/memory-routes.ts +1206 -0
- package/ccw/src/core/routes/rules-routes.ts +526 -0
- package/ccw/src/core/routes/session-routes.ts +467 -0
- package/ccw/src/core/routes/skills-routes.ts +599 -0
- package/ccw/src/core/routes/status-routes.ts +57 -0
- package/ccw/src/core/routes/system-routes.ts +427 -0
- package/ccw/src/core/server.ts +431 -0
- package/ccw/src/core/session-clustering-service.ts +1258 -0
- package/ccw/src/core/session-scanner.ts +283 -0
- package/ccw/src/core/websocket.ts +190 -0
- package/ccw/src/{index.js → index.ts} +1 -0
- package/ccw/src/mcp-server/index.ts +186 -0
- package/ccw/src/templates/assets/css/github-dark.min.css +10 -0
- package/ccw/src/templates/assets/css/github.min.css +10 -0
- package/ccw/src/templates/assets/js/cytoscape.min.js +32 -0
- package/ccw/src/templates/assets/js/d3.min.js +2 -0
- package/ccw/src/templates/assets/js/highlight.min.js +1244 -0
- package/ccw/src/templates/assets/js/lucide.min.js +12 -0
- package/ccw/src/templates/assets/js/marked.min.js +69 -0
- package/ccw/src/templates/assets/js/tailwind.js +83 -0
- package/ccw/src/templates/dashboard-css/01-base.css +11 -0
- package/ccw/src/templates/dashboard-css/02-session.css +22 -0
- package/ccw/src/templates/dashboard-css/04-lite-tasks.css +10 -0
- package/ccw/src/templates/dashboard-css/06-cards.css +10 -4
- package/ccw/src/templates/dashboard-css/07-managers.css +1178 -7
- package/ccw/src/templates/dashboard-css/09-explorer.css +23 -12
- package/ccw/src/templates/dashboard-css/10-cli-status.css +337 -0
- package/ccw/src/templates/dashboard-css/11-cli-history.css +271 -0
- package/ccw/src/templates/dashboard-css/12-cli-legacy.css +796 -0
- package/ccw/src/templates/dashboard-css/13-cli-ccw.css +199 -0
- package/ccw/src/templates/dashboard-css/14-cli-modals.css +258 -0
- package/ccw/src/templates/dashboard-css/15-cli-endpoints.css +305 -0
- package/ccw/src/templates/dashboard-css/16-cli-session.css +241 -0
- package/ccw/src/templates/dashboard-css/17-cli-conversation.css +283 -0
- package/ccw/src/templates/dashboard-css/18-cli-settings.css +160 -0
- package/ccw/src/templates/dashboard-css/19-cli-native-session.css +496 -0
- package/ccw/src/templates/dashboard-css/20-cli-taskqueue.css +188 -0
- package/ccw/src/templates/dashboard-css/21-cli-toolmgmt.css +310 -0
- package/ccw/src/templates/dashboard-css/22-cli-semantic.css +240 -0
- package/ccw/src/templates/dashboard-css/23-memory.css +2390 -0
- package/ccw/src/templates/dashboard-css/24-prompt-history.css +1089 -0
- package/ccw/src/templates/dashboard-css/25-skills-rules.css +326 -0
- package/ccw/src/templates/dashboard-css/26-claude-manager.css +908 -0
- package/ccw/src/templates/dashboard-css/27-graph-explorer.css +1678 -0
- package/ccw/src/templates/dashboard-css/28-mcp-manager.css +748 -0
- package/ccw/src/templates/dashboard-css/29-help.css +264 -0
- package/ccw/src/templates/dashboard-css/30-core-memory.css +1700 -0
- package/ccw/src/templates/dashboard-js/api.js +162 -142
- package/ccw/src/templates/dashboard-js/components/carousel.js +4 -4
- package/ccw/src/templates/dashboard-js/components/cli-history.js +876 -0
- package/ccw/src/templates/dashboard-js/components/cli-status.js +978 -0
- package/ccw/src/templates/dashboard-js/components/global-notifications.js +508 -219
- package/ccw/src/templates/dashboard-js/components/hook-manager.js +1277 -282
- package/ccw/src/templates/dashboard-js/components/index-manager.js +302 -0
- package/ccw/src/templates/dashboard-js/components/mcp-manager.js +718 -27
- package/ccw/src/templates/dashboard-js/components/modals.js +66 -0
- package/ccw/src/templates/dashboard-js/components/navigation.js +80 -12
- package/ccw/src/templates/dashboard-js/components/notifications.js +758 -194
- package/ccw/src/templates/dashboard-js/components/storage-manager.js +478 -0
- package/ccw/src/templates/dashboard-js/components/tabs-other.js +157 -6
- package/ccw/src/templates/dashboard-js/components/task-queue-sidebar.js +716 -0
- package/ccw/src/templates/dashboard-js/help-i18n.js +272 -0
- package/ccw/src/templates/dashboard-js/i18n.js +2807 -0
- package/ccw/src/templates/dashboard-js/main.js +15 -0
- package/ccw/src/templates/dashboard-js/state.js +243 -42
- package/ccw/src/templates/dashboard-js/utils.js +47 -1
- package/ccw/src/templates/dashboard-js/views/claude-manager.js +912 -0
- package/ccw/src/templates/dashboard-js/views/cli-manager.js +2272 -0
- package/ccw/src/templates/dashboard-js/views/codexlens-manager.js +964 -0
- package/ccw/src/templates/dashboard-js/views/core-memory-clusters.js +503 -0
- package/ccw/src/templates/dashboard-js/views/core-memory.js +782 -0
- package/ccw/src/templates/dashboard-js/views/explorer.js +888 -852
- package/ccw/src/templates/dashboard-js/views/graph-explorer.js +1157 -0
- package/ccw/src/templates/dashboard-js/views/help.js +856 -0
- package/ccw/src/templates/dashboard-js/views/history.js +337 -0
- package/ccw/src/templates/dashboard-js/views/home.js +61 -15
- package/ccw/src/templates/dashboard-js/views/hook-manager.js +311 -43
- package/ccw/src/templates/dashboard-js/views/lite-tasks.js +204 -28
- package/ccw/src/templates/dashboard-js/views/mcp-manager.js +2187 -411
- package/ccw/src/templates/dashboard-js/views/mcp-manager.js.backup +1729 -0
- package/ccw/src/templates/dashboard-js/views/mcp-manager.js.new +928 -0
- package/ccw/src/templates/dashboard-js/views/memory.js +1221 -0
- package/ccw/src/templates/dashboard-js/views/prompt-history.js +713 -0
- package/ccw/src/templates/dashboard-js/views/rules-manager.js +828 -0
- package/ccw/src/templates/dashboard-js/views/session-detail.js +54 -53
- package/ccw/src/templates/dashboard-js/views/skills-manager.js +819 -0
- package/ccw/src/templates/dashboard.html +185 -85
- package/ccw/src/templates/hooks-config-example.json +60 -0
- package/ccw/src/tools/classify-folders.ts +245 -0
- package/ccw/src/tools/cli-config-manager.ts +268 -0
- package/ccw/src/tools/cli-executor.ts +2014 -0
- package/ccw/src/tools/cli-history-store.ts +1195 -0
- package/ccw/src/tools/codex-lens.ts +1141 -0
- package/ccw/src/tools/{convert-tokens-to-css.js → convert-tokens-to-css.ts} +73 -23
- package/ccw/src/tools/core-memory.ts +444 -0
- package/ccw/src/tools/detect-changed-modules.ts +325 -0
- package/ccw/src/tools/{discover-design-files.js → discover-design-files.ts} +74 -24
- package/ccw/src/tools/edit-file.ts +568 -0
- package/ccw/src/tools/{generate-module-docs.js → generate-module-docs.ts} +207 -185
- package/ccw/src/tools/{get-modules-by-depth.js → get-modules-by-depth.ts} +120 -79
- package/ccw/src/tools/index.ts +370 -0
- package/ccw/src/tools/native-session-discovery.ts +795 -0
- package/ccw/src/tools/notifier.ts +129 -0
- package/ccw/src/tools/read-file.ts +410 -0
- package/ccw/src/tools/resume-strategy.ts +345 -0
- package/ccw/src/tools/session-content-parser.ts +619 -0
- package/ccw/src/tools/session-manager.ts +1026 -0
- package/ccw/src/tools/smart-context.ts +228 -0
- package/ccw/src/tools/smart-search.ts +2065 -0
- package/ccw/src/tools/smart-search.ts.backup +1233 -0
- package/ccw/src/tools/storage-manager.ts +455 -0
- package/ccw/src/tools/write-file.ts +222 -0
- package/ccw/src/types/config.ts +11 -0
- package/ccw/src/types/index.ts +3 -0
- package/ccw/src/types/session.ts +25 -0
- package/ccw/src/types/tool.ts +41 -0
- package/ccw/src/utils/{browser-launcher.js → browser-launcher.ts} +10 -8
- package/ccw/src/utils/file-utils.ts +48 -0
- package/ccw/src/utils/{path-resolver.js → path-resolver.ts} +114 -78
- package/ccw/src/utils/path-validator.ts +153 -0
- package/ccw/src/utils/{ui.js → ui.ts} +32 -25
- package/codex-lens/pyproject.toml +48 -0
- package/codex-lens/src/codexlens/.workflow/.cli-history/history.db +0 -0
- package/codex-lens/src/codexlens/__init__.py +28 -0
- package/codex-lens/src/codexlens/__main__.py +14 -0
- package/codex-lens/src/codexlens/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/__main__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/config.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/entities.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/errors.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__init__.py +27 -0
- package/codex-lens/src/codexlens/cli/__pycache__/__init__.cpython-313.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-313.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-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/commands.py +1931 -0
- package/codex-lens/src/codexlens/cli/embedding_manager.py +620 -0
- package/codex-lens/src/codexlens/cli/model_manager.py +289 -0
- package/codex-lens/src/codexlens/cli/output.py +124 -0
- package/codex-lens/src/codexlens/config.py +201 -0
- package/codex-lens/src/codexlens/entities.py +121 -0
- package/codex-lens/src/codexlens/errors.py +55 -0
- package/codex-lens/src/codexlens/indexing/README.md +77 -0
- package/codex-lens/src/codexlens/indexing/__init__.py +4 -0
- package/codex-lens/src/codexlens/indexing/__pycache__/__init__.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/symbol_extractor.py +243 -0
- package/codex-lens/src/codexlens/parsers/__init__.py +8 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/encoding.cpython-313.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-313.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/encoding.py +202 -0
- package/codex-lens/src/codexlens/parsers/factory.py +256 -0
- package/codex-lens/src/codexlens/parsers/tokenizer.py +98 -0
- package/codex-lens/src/codexlens/parsers/treesitter_parser.py +335 -0
- package/codex-lens/src/codexlens/search/__init__.py +15 -0
- package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-313.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__/hybrid_search.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/query_parser.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/chain_search.py +647 -0
- package/codex-lens/src/codexlens/search/enrichment.py +150 -0
- package/codex-lens/src/codexlens/search/hybrid_search.py +313 -0
- package/codex-lens/src/codexlens/search/query_parser.py +242 -0
- package/codex-lens/src/codexlens/search/ranking.py +274 -0
- package/codex-lens/src/codexlens/semantic/__init__.py +39 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/code_extractor.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/embedder.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/graph_analyzer.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/llm_enhancer.cpython-313.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 +414 -0
- package/codex-lens/src/codexlens/semantic/chunker.py +448 -0
- package/codex-lens/src/codexlens/semantic/code_extractor.py +274 -0
- package/codex-lens/src/codexlens/semantic/embedder.py +185 -0
- package/codex-lens/src/codexlens/semantic/vector_store.py +955 -0
- package/codex-lens/src/codexlens/storage/__init__.py +29 -0
- package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/file_cache.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/migration_manager.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/path_mapper.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/registry.cpython-313.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-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/dir_index.py +1850 -0
- package/codex-lens/src/codexlens/storage/file_cache.py +32 -0
- package/codex-lens/src/codexlens/storage/index_tree.py +776 -0
- package/codex-lens/src/codexlens/storage/migration_manager.py +154 -0
- package/codex-lens/src/codexlens/storage/migrations/__init__.py +1 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_001_normalize_keywords.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_002_add_token_metadata.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_003_code_relationships.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_004_dual_fts.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_005_cleanup_unused_fields.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/migration_001_normalize_keywords.py +123 -0
- package/codex-lens/src/codexlens/storage/migrations/migration_002_add_token_metadata.py +48 -0
- package/codex-lens/src/codexlens/storage/migrations/migration_004_dual_fts.py +232 -0
- package/codex-lens/src/codexlens/storage/migrations/migration_005_cleanup_unused_fields.py +196 -0
- package/codex-lens/src/codexlens/storage/path_mapper.py +274 -0
- package/codex-lens/src/codexlens/storage/registry.py +670 -0
- package/codex-lens/src/codexlens/storage/sqlite_store.py +576 -0
- package/codex-lens/src/codexlens/storage/sqlite_utils.py +64 -0
- package/package.json +4 -1
- package/.claude/commands/memory/tech-research.md +0 -477
- package/.claude/scripts/classify-folders.sh +0 -39
- package/.claude/scripts/convert_tokens_to_css.sh +0 -229
- package/.claude/scripts/detect_changed_modules.sh +0 -161
- package/.claude/scripts/discover-design-files.sh +0 -87
- package/.claude/scripts/extract-animations.js +0 -243
- package/.claude/scripts/extract-computed-styles.js +0 -118
- package/.claude/scripts/extract-layout-structure.js +0 -411
- package/.claude/scripts/generate_module_docs.sh +0 -717
- package/.claude/scripts/get_modules_by_depth.sh +0 -170
- package/.claude/scripts/ui-generate-preview.sh +0 -395
- package/.claude/scripts/ui-instantiate-prototypes.sh +0 -815
- package/.claude/scripts/update_module_claude.sh +0 -337
- package/.claude/workflows/context-search-strategy.md +0 -77
- package/.claude/workflows/intelligent-tools-strategy.md +0 -662
- package/ccw/src/cli.js +0 -119
- package/ccw/src/commands/install.js +0 -324
- package/ccw/src/commands/tool.js +0 -138
- package/ccw/src/core/data-aggregator.js +0 -409
- package/ccw/src/core/server.js +0 -2063
- package/ccw/src/core/session-scanner.js +0 -235
- package/ccw/src/tools/classify-folders.js +0 -204
- package/ccw/src/tools/detect-changed-modules.js +0 -288
- package/ccw/src/tools/edit-file.js +0 -266
- package/ccw/src/tools/index.js +0 -176
- package/ccw/src/utils/file-utils.js +0 -48
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Lightweight interactive planning workflow with direct exploration, outputs plan.json after user confirmation
|
|
3
|
+
argument-hint: TASK="<task description or file.md path>" [EXPLORE="true"]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Workflow Lite-Plan Command
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Intelligent lightweight planning command with dynamic workflow adaptation based on task complexity. Focuses on planning phases (exploration, clarification, planning, confirmation) and outputs plan.json for subsequent execution.
|
|
11
|
+
|
|
12
|
+
**Core capabilities:**
|
|
13
|
+
- Intelligent task analysis with automatic exploration detection
|
|
14
|
+
- Direct code exploration (grep, find, file reading) when codebase understanding needed
|
|
15
|
+
- Interactive clarification after exploration to gather missing information
|
|
16
|
+
- Adaptive planning strategy based on complexity
|
|
17
|
+
- Two-step confirmation: plan display → user approval
|
|
18
|
+
- Outputs plan.json file after user confirmation
|
|
19
|
+
|
|
20
|
+
## Task Description
|
|
21
|
+
|
|
22
|
+
**Target task**: $TASK
|
|
23
|
+
**Force exploration**: $EXPLORE
|
|
24
|
+
|
|
25
|
+
## Execution Process
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
Phase 1: Task Analysis & Exploration
|
|
29
|
+
├─ Parse input (description or .md file)
|
|
30
|
+
├─ Intelligent complexity assessment (Low/Medium/High)
|
|
31
|
+
├─ Exploration decision (auto-detect or EXPLORE="true")
|
|
32
|
+
└─ Decision:
|
|
33
|
+
├─ needsExploration=true → Direct exploration using grep/find/read
|
|
34
|
+
└─ needsExploration=false → Skip to Phase 2/3
|
|
35
|
+
|
|
36
|
+
Phase 2: Clarification (optional)
|
|
37
|
+
├─ Aggregate clarification needs from exploration
|
|
38
|
+
├─ Output questions to user
|
|
39
|
+
└─ STOP and wait for user reply
|
|
40
|
+
|
|
41
|
+
Phase 3: Planning (NO CODE EXECUTION - planning only)
|
|
42
|
+
└─ Generate plan.json following schema
|
|
43
|
+
└─ MUST proceed to Phase 4
|
|
44
|
+
|
|
45
|
+
Phase 4: Confirmation
|
|
46
|
+
├─ Display plan summary (tasks, complexity, estimated time)
|
|
47
|
+
├─ Output confirmation request
|
|
48
|
+
└─ STOP and wait for user approval
|
|
49
|
+
|
|
50
|
+
Phase 5: Output
|
|
51
|
+
└─ Write plan.json to session folder
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Implementation
|
|
55
|
+
|
|
56
|
+
### Phase 1: Intelligent Direct Exploration
|
|
57
|
+
|
|
58
|
+
**Session Setup** (MANDATORY - follow exactly):
|
|
59
|
+
```javascript
|
|
60
|
+
// Helper: Get UTC+8 (China Standard Time) ISO string
|
|
61
|
+
const getUtc8ISOString = () => new Date(Date.now() + 8 * 60 * 60 * 1000).toISOString()
|
|
62
|
+
|
|
63
|
+
const taskSlug = "$TASK".toLowerCase().replace(/[^a-z0-9]+/g, '-').substring(0, 40)
|
|
64
|
+
const dateStr = getUtc8ISOString().substring(0, 10) // Format: 2025-11-29
|
|
65
|
+
|
|
66
|
+
const sessionId = `${taskSlug}-${dateStr}` // e.g., "implement-jwt-refresh-2025-11-29"
|
|
67
|
+
const sessionFolder = `.workflow/.lite-plan/${sessionId}`
|
|
68
|
+
|
|
69
|
+
// Create session folder
|
|
70
|
+
mkdir -p ${sessionFolder}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**Exploration Decision Logic**:
|
|
74
|
+
```javascript
|
|
75
|
+
needsExploration = (
|
|
76
|
+
"$EXPLORE" === "true" ||
|
|
77
|
+
task.mentions_specific_files ||
|
|
78
|
+
task.requires_codebase_context ||
|
|
79
|
+
task.needs_architecture_understanding ||
|
|
80
|
+
task.modifies_existing_code
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
if (!needsExploration) {
|
|
84
|
+
// Skip to Phase 2 (Clarification) or Phase 3 (Planning)
|
|
85
|
+
proceed_to_next_phase()
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**Complexity Assessment** (Intelligent Analysis):
|
|
90
|
+
```javascript
|
|
91
|
+
// Analyzes task complexity based on:
|
|
92
|
+
// - Scope: How many systems/modules are affected?
|
|
93
|
+
// - Depth: Surface change vs architectural impact?
|
|
94
|
+
// - Risk: Potential for breaking existing functionality?
|
|
95
|
+
// - Dependencies: How interconnected is the change?
|
|
96
|
+
|
|
97
|
+
const complexity = analyzeTaskComplexity("$TASK")
|
|
98
|
+
// Returns: 'Low' | 'Medium' | 'High'
|
|
99
|
+
// Low: Single file, isolated change, minimal risk
|
|
100
|
+
// Medium: Multiple files, some dependencies, moderate risk
|
|
101
|
+
// High: Cross-module, architectural, high risk
|
|
102
|
+
|
|
103
|
+
// Angle assignment based on task type
|
|
104
|
+
const ANGLE_PRESETS = {
|
|
105
|
+
architecture: ['architecture', 'dependencies', 'modularity', 'integration-points'],
|
|
106
|
+
security: ['security', 'auth-patterns', 'dataflow', 'validation'],
|
|
107
|
+
performance: ['performance', 'bottlenecks', 'caching', 'data-access'],
|
|
108
|
+
bugfix: ['error-handling', 'dataflow', 'state-management', 'edge-cases'],
|
|
109
|
+
feature: ['patterns', 'integration-points', 'testing', 'dependencies']
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
function selectAngles(taskDescription, count) {
|
|
113
|
+
const text = taskDescription.toLowerCase()
|
|
114
|
+
let preset = 'feature' // default
|
|
115
|
+
|
|
116
|
+
if (/refactor|architect|restructure|modular/.test(text)) preset = 'architecture'
|
|
117
|
+
else if (/security|auth|permission|access/.test(text)) preset = 'security'
|
|
118
|
+
else if (/performance|slow|optimi|cache/.test(text)) preset = 'performance'
|
|
119
|
+
else if (/fix|bug|error|issue|broken/.test(text)) preset = 'bugfix'
|
|
120
|
+
|
|
121
|
+
return ANGLE_PRESETS[preset].slice(0, count)
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
const selectedAngles = selectAngles("$TASK", complexity === 'High' ? 4 : (complexity === 'Medium' ? 3 : 1))
|
|
125
|
+
|
|
126
|
+
console.log(`
|
|
127
|
+
## Exploration Plan
|
|
128
|
+
|
|
129
|
+
Task Complexity: ${complexity}
|
|
130
|
+
Selected Angles: ${selectedAngles.join(', ')}
|
|
131
|
+
|
|
132
|
+
Starting direct exploration...
|
|
133
|
+
`)
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Direct Exploration** (No Agent - Use grep/find/read directly):
|
|
137
|
+
|
|
138
|
+
```javascript
|
|
139
|
+
// For each selected angle, perform direct exploration
|
|
140
|
+
|
|
141
|
+
selectedAngles.forEach((angle, index) => {
|
|
142
|
+
console.log(`\n### Exploring: ${angle} (${index + 1}/${selectedAngles.length})`)
|
|
143
|
+
|
|
144
|
+
// Step 1: Structural Scan
|
|
145
|
+
// - Find relevant files using grep/rg
|
|
146
|
+
// - Analyze directory structure
|
|
147
|
+
// - Identify modules related to the angle
|
|
148
|
+
|
|
149
|
+
// Example commands:
|
|
150
|
+
// rg -l "keyword_from_task" --type ts
|
|
151
|
+
// find . -name "*.ts" -path "*auth*"
|
|
152
|
+
// tree -L 3 src/
|
|
153
|
+
|
|
154
|
+
// Step 2: Content Analysis
|
|
155
|
+
// - Read key files identified
|
|
156
|
+
// - Analyze patterns and conventions
|
|
157
|
+
// - Identify integration points
|
|
158
|
+
|
|
159
|
+
// Step 3: Document Findings
|
|
160
|
+
const explorationResult = {
|
|
161
|
+
angle: angle,
|
|
162
|
+
project_structure: [], // Modules/architecture relevant to angle
|
|
163
|
+
relevant_files: [], // Files affected from angle perspective
|
|
164
|
+
patterns: [], // Angle-related patterns to follow
|
|
165
|
+
dependencies: [], // Dependencies relevant to angle
|
|
166
|
+
integration_points: [], // Where to integrate from angle viewpoint
|
|
167
|
+
constraints: [], // Angle-specific limitations/conventions
|
|
168
|
+
clarification_needs: [], // Angle-related ambiguities
|
|
169
|
+
_metadata: {
|
|
170
|
+
exploration_angle: angle,
|
|
171
|
+
exploration_index: index + 1,
|
|
172
|
+
timestamp: getUtc8ISOString()
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// Write exploration result
|
|
177
|
+
Write(`${sessionFolder}/exploration-${angle}.json`, JSON.stringify(explorationResult, null, 2))
|
|
178
|
+
})
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**Build Exploration Manifest**:
|
|
182
|
+
```javascript
|
|
183
|
+
// After all explorations complete, build manifest
|
|
184
|
+
const explorationFiles = find(`${sessionFolder}`, "-name", "exploration-*.json")
|
|
185
|
+
|
|
186
|
+
const explorationManifest = {
|
|
187
|
+
session_id: sessionId,
|
|
188
|
+
task_description: "$TASK",
|
|
189
|
+
timestamp: getUtc8ISOString(),
|
|
190
|
+
complexity: complexity,
|
|
191
|
+
exploration_count: selectedAngles.length,
|
|
192
|
+
explorations: explorationFiles.map(file => {
|
|
193
|
+
const data = JSON.parse(Read(file))
|
|
194
|
+
return {
|
|
195
|
+
angle: data._metadata.exploration_angle,
|
|
196
|
+
file: path.basename(file),
|
|
197
|
+
path: file,
|
|
198
|
+
index: data._metadata.exploration_index
|
|
199
|
+
}
|
|
200
|
+
})
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
Write(`${sessionFolder}/explorations-manifest.json`, JSON.stringify(explorationManifest, null, 2))
|
|
204
|
+
|
|
205
|
+
console.log(`
|
|
206
|
+
## Exploration Complete
|
|
207
|
+
|
|
208
|
+
Generated exploration files in ${sessionFolder}:
|
|
209
|
+
${explorationManifest.explorations.map(e => `- exploration-${e.angle}.json (angle: ${e.angle})`).join('\n')}
|
|
210
|
+
|
|
211
|
+
Manifest: explorations-manifest.json
|
|
212
|
+
Angles explored: ${explorationManifest.explorations.map(e => e.angle).join(', ')}
|
|
213
|
+
`)
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**Output**:
|
|
217
|
+
- `${sessionFolder}/exploration-{angle1}.json`
|
|
218
|
+
- `${sessionFolder}/exploration-{angle2}.json`
|
|
219
|
+
- ... (1-4 files based on complexity)
|
|
220
|
+
- `${sessionFolder}/explorations-manifest.json`
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
### Phase 2: Clarification (Optional)
|
|
225
|
+
|
|
226
|
+
**Skip if**: No exploration or `clarification_needs` is empty across all explorations
|
|
227
|
+
|
|
228
|
+
**Aggregate clarification needs from all exploration angles**:
|
|
229
|
+
```javascript
|
|
230
|
+
// Load manifest and all exploration files
|
|
231
|
+
const manifest = JSON.parse(Read(`${sessionFolder}/explorations-manifest.json`))
|
|
232
|
+
const explorations = manifest.explorations.map(exp => ({
|
|
233
|
+
angle: exp.angle,
|
|
234
|
+
data: JSON.parse(Read(exp.path))
|
|
235
|
+
}))
|
|
236
|
+
|
|
237
|
+
// Aggregate clarification needs from all explorations
|
|
238
|
+
const allClarifications = []
|
|
239
|
+
explorations.forEach(exp => {
|
|
240
|
+
if (exp.data.clarification_needs?.length > 0) {
|
|
241
|
+
exp.data.clarification_needs.forEach(need => {
|
|
242
|
+
allClarifications.push({
|
|
243
|
+
...need,
|
|
244
|
+
source_angle: exp.angle
|
|
245
|
+
})
|
|
246
|
+
})
|
|
247
|
+
}
|
|
248
|
+
})
|
|
249
|
+
|
|
250
|
+
// Intelligent deduplication: analyze allClarifications by intent
|
|
251
|
+
// - Identify questions with similar intent across different angles
|
|
252
|
+
// - Merge similar questions: combine options, consolidate context
|
|
253
|
+
// - Produce dedupedClarifications with unique intents only
|
|
254
|
+
const dedupedClarifications = intelligentMerge(allClarifications)
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
**Output Questions and Wait for User Reply**:
|
|
258
|
+
```javascript
|
|
259
|
+
if (dedupedClarifications.length > 0) {
|
|
260
|
+
console.log(`
|
|
261
|
+
## Clarification Needed
|
|
262
|
+
|
|
263
|
+
Based on exploration, the following questions need your input:
|
|
264
|
+
|
|
265
|
+
${dedupedClarifications.map((need, index) => `
|
|
266
|
+
### Question ${index + 1}: [${need.source_angle}]
|
|
267
|
+
|
|
268
|
+
**${need.question}**
|
|
269
|
+
|
|
270
|
+
Context: ${need.context}
|
|
271
|
+
|
|
272
|
+
Options:
|
|
273
|
+
${need.options.map((opt, i) => ` ${i + 1}. ${opt}${need.recommended === i ? ' ★ (Recommended)' : ''}`).join('\n')}
|
|
274
|
+
`).join('\n')}
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
**Please reply with your choices** (e.g., "Q1: 2, Q2: 1, Q3: 3") to continue planning.
|
|
279
|
+
|
|
280
|
+
**WAITING FOR USER INPUT...**
|
|
281
|
+
`)
|
|
282
|
+
|
|
283
|
+
// STOP HERE - Wait for user reply before continuing to Phase 3
|
|
284
|
+
return
|
|
285
|
+
}
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
**After User Reply**: Store responses in `clarificationContext` and proceed to Phase 3.
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
### Phase 3: Planning
|
|
293
|
+
|
|
294
|
+
**IMPORTANT**: Phase 3 is **planning only** - NO code execution.
|
|
295
|
+
|
|
296
|
+
**Read Schema**:
|
|
297
|
+
```javascript
|
|
298
|
+
// Read plan schema for reference
|
|
299
|
+
const schema = Read("~/.claude/workflows/cli-templates/schemas/plan-json-schema.json")
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
**Read All Exploration Files**:
|
|
303
|
+
```javascript
|
|
304
|
+
// MANDATORY - Read and review ALL exploration files
|
|
305
|
+
const manifest = JSON.parse(Read(`${sessionFolder}/explorations-manifest.json`))
|
|
306
|
+
manifest.explorations.forEach(exp => {
|
|
307
|
+
const explorationData = Read(exp.path)
|
|
308
|
+
console.log(`\n### Exploration: ${exp.angle}\n${explorationData}`)
|
|
309
|
+
})
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
**Generate Plan**:
|
|
313
|
+
```javascript
|
|
314
|
+
// Generate plan following schema
|
|
315
|
+
// Plan MUST incorporate insights from exploration files
|
|
316
|
+
const plan = {
|
|
317
|
+
summary: "Brief description of what will be implemented",
|
|
318
|
+
approach: "High-level approach and strategy",
|
|
319
|
+
tasks: [
|
|
320
|
+
// Each task: { id, title, description, scope, files, depends_on, execution_group, complexity }
|
|
321
|
+
// Group by feature/module, NOT by file
|
|
322
|
+
// 2-7 tasks recommended
|
|
323
|
+
],
|
|
324
|
+
estimated_time: "Total estimated time",
|
|
325
|
+
complexity: complexity, // Low | Medium | High
|
|
326
|
+
_metadata: {
|
|
327
|
+
timestamp: getUtc8ISOString(),
|
|
328
|
+
source: "lite-plan",
|
|
329
|
+
planning_mode: "direct",
|
|
330
|
+
exploration_angles: manifest.explorations.map(e => e.angle)
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
**Task Grouping Rules**:
|
|
336
|
+
1. **Group by feature**: All changes for one feature = one task (even if 3-5 files)
|
|
337
|
+
2. **Group by context**: Tasks with similar context or related functional changes can be grouped together
|
|
338
|
+
3. **Minimize task count**: Simple, unrelated tasks can also be grouped to reduce overhead
|
|
339
|
+
4. **Avoid file-per-task**: Do NOT create separate tasks for each file
|
|
340
|
+
5. **Substantial tasks**: Each task should represent 15-60 minutes of work
|
|
341
|
+
6. **True dependencies only**: Only use depends_on when Task B cannot start without Task A's output
|
|
342
|
+
7. **Prefer parallel**: Most tasks should be independent (no depends_on)
|
|
343
|
+
|
|
344
|
+
**Proceed to Phase 4** - DO NOT execute code here.
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
### Phase 4: Task Confirmation
|
|
349
|
+
|
|
350
|
+
**Display Plan Summary**:
|
|
351
|
+
```javascript
|
|
352
|
+
const plan = JSON.parse(Read(`${sessionFolder}/plan.json`))
|
|
353
|
+
|
|
354
|
+
console.log(`
|
|
355
|
+
## Implementation Plan
|
|
356
|
+
|
|
357
|
+
**Summary**: ${plan.summary}
|
|
358
|
+
**Approach**: ${plan.approach}
|
|
359
|
+
|
|
360
|
+
**Tasks** (${plan.tasks.length}):
|
|
361
|
+
${plan.tasks.map((t, i) => `
|
|
362
|
+
### Task ${i+1}: ${t.title}
|
|
363
|
+
- **Description**: ${t.description}
|
|
364
|
+
- **Scope**: ${t.scope}
|
|
365
|
+
- **Files**: ${t.files.join(', ')}
|
|
366
|
+
- **Complexity**: ${t.complexity}
|
|
367
|
+
- **Dependencies**: ${t.depends_on?.join(', ') || 'None'}
|
|
368
|
+
`).join('\n')}
|
|
369
|
+
|
|
370
|
+
**Overall Complexity**: ${plan.complexity}
|
|
371
|
+
**Estimated Time**: ${plan.estimated_time}
|
|
372
|
+
|
|
373
|
+
---
|
|
374
|
+
|
|
375
|
+
## Confirmation Required
|
|
376
|
+
|
|
377
|
+
Please review the plan above and reply with one of the following:
|
|
378
|
+
|
|
379
|
+
- **"Allow"** - Proceed with this plan, output plan.json
|
|
380
|
+
- **"Modify"** - Describe what changes you want to make
|
|
381
|
+
- **"Cancel"** - Abort the planning workflow
|
|
382
|
+
|
|
383
|
+
**WAITING FOR USER CONFIRMATION...**
|
|
384
|
+
`)
|
|
385
|
+
|
|
386
|
+
// STOP HERE - Wait for user confirmation before writing plan.json
|
|
387
|
+
return
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
---
|
|
391
|
+
|
|
392
|
+
### Phase 5: Output Plan File
|
|
393
|
+
|
|
394
|
+
**After User Confirms "Allow"**:
|
|
395
|
+
```javascript
|
|
396
|
+
// Write final plan.json to session folder
|
|
397
|
+
Write(`${sessionFolder}/plan.json`, JSON.stringify(plan, null, 2))
|
|
398
|
+
|
|
399
|
+
console.log(`
|
|
400
|
+
## Plan Output Complete
|
|
401
|
+
|
|
402
|
+
**Plan file written**: ${sessionFolder}/plan.json
|
|
403
|
+
|
|
404
|
+
**Session folder**: ${sessionFolder}
|
|
405
|
+
|
|
406
|
+
**Contents**:
|
|
407
|
+
- explorations-manifest.json
|
|
408
|
+
${manifest.explorations.map(e => `- exploration-${e.angle}.json`).join('\n')}
|
|
409
|
+
- plan.json
|
|
410
|
+
|
|
411
|
+
---
|
|
412
|
+
|
|
413
|
+
You can now use this plan with your preferred execution method:
|
|
414
|
+
- Manual implementation following the tasks
|
|
415
|
+
- Pass to another tool/agent for execution
|
|
416
|
+
- Import into project management system
|
|
417
|
+
`)
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
---
|
|
421
|
+
|
|
422
|
+
## Session Folder Structure
|
|
423
|
+
|
|
424
|
+
```
|
|
425
|
+
.workflow/.lite-plan/{task-slug}-{YYYY-MM-DD}/
|
|
426
|
+
├── exploration-{angle1}.json # Exploration angle 1
|
|
427
|
+
├── exploration-{angle2}.json # Exploration angle 2
|
|
428
|
+
├── exploration-{angle3}.json # Exploration angle 3 (if applicable)
|
|
429
|
+
├── exploration-{angle4}.json # Exploration angle 4 (if applicable)
|
|
430
|
+
├── explorations-manifest.json # Exploration index
|
|
431
|
+
└── plan.json # Implementation plan (after confirmation)
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
**Example**:
|
|
435
|
+
```
|
|
436
|
+
.workflow/.lite-plan/implement-jwt-refresh-2025-11-25/
|
|
437
|
+
├── exploration-architecture.json
|
|
438
|
+
├── exploration-auth-patterns.json
|
|
439
|
+
├── exploration-security.json
|
|
440
|
+
├── explorations-manifest.json
|
|
441
|
+
└── plan.json
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
## Workflow States
|
|
445
|
+
|
|
446
|
+
| State | Action | Next |
|
|
447
|
+
|-------|--------|------|
|
|
448
|
+
| Phase 1 Complete | Exploration done | → Phase 2 or 3 |
|
|
449
|
+
| Phase 2 Output | Questions displayed | → Wait for user reply |
|
|
450
|
+
| User Replied | Clarifications received | → Phase 3 |
|
|
451
|
+
| Phase 3 Complete | Plan generated | → Phase 4 |
|
|
452
|
+
| Phase 4 Output | Plan displayed | → Wait for user confirmation |
|
|
453
|
+
| User: "Allow" | Confirmed | → Phase 5 (Write plan.json) |
|
|
454
|
+
| User: "Modify" | Changes requested | → Revise plan, back to Phase 4 |
|
|
455
|
+
| User: "Cancel" | Aborted | → End workflow |
|
|
456
|
+
|
|
457
|
+
## Error Handling
|
|
458
|
+
|
|
459
|
+
| Error | Resolution |
|
|
460
|
+
|-------|------------|
|
|
461
|
+
| Exploration failure | Skip exploration, continue with task description only |
|
|
462
|
+
| No relevant files found | Broaden search scope or proceed with minimal context |
|
|
463
|
+
| Clarification timeout | Use exploration findings as-is |
|
|
464
|
+
| Confirmation timeout | Save context, display resume instructions |
|
|
465
|
+
| Modify loop > 3 times | Suggest breaking task into smaller pieces |
|
|
466
|
+
|
|
467
|
+
---
|
|
468
|
+
|
|
469
|
+
**Now execute the lite-plan workflow for task**: $TASK
|
|
Binary file
|
package/.gemini/GEMINI.md
CHANGED
|
@@ -1,164 +1,25 @@
|
|
|
1
|
-
# Gemini
|
|
2
|
-
|
|
3
|
-
##
|
|
4
|
-
|
|
5
|
-
**
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
**
|
|
25
|
-
- **
|
|
26
|
-
- **ANALYZE**: Code patterns, architecture, dependencies
|
|
27
|
-
- **GENERATE**: Text output, insights, recommendations
|
|
28
|
-
- **DOCUMENT**: Analysis results in output response only
|
|
29
|
-
|
|
30
|
-
**FORBIDDEN OPERATIONS**:
|
|
31
|
-
- **NO FILE CREATION**: Cannot create any files on disk
|
|
32
|
-
- **NO FILE MODIFICATION**: Cannot modify existing files
|
|
33
|
-
- **NO FILE DELETION**: Cannot delete any files
|
|
34
|
-
- **NO DIRECTORY OPERATIONS**: Cannot create/modify directories
|
|
35
|
-
|
|
36
|
-
**Execute**:
|
|
37
|
-
1. Read and analyze CONTEXT files
|
|
38
|
-
2. Identify patterns and issues
|
|
39
|
-
3. Generate insights and recommendations
|
|
40
|
-
4. Output structured analysis (text response only)
|
|
41
|
-
|
|
42
|
-
**CRITICAL CONSTRAINT**: Absolutely NO file system operations - ANALYSIS OUTPUT ONLY
|
|
43
|
-
|
|
44
|
-
### MODE: write - FILE CREATION/MODIFICATION OPERATIONS
|
|
45
|
-
|
|
46
|
-
**ALLOWED OPERATIONS**:
|
|
47
|
-
- **READ**: All CONTEXT files and analyze content
|
|
48
|
-
- **CREATE**: New files (documentation, code, configuration)
|
|
49
|
-
- **MODIFY**: Existing files (update content, refactor code)
|
|
50
|
-
- **DELETE**: Files when explicitly required
|
|
51
|
-
- **ORGANIZE**: Directory structure operations
|
|
52
|
-
|
|
53
|
-
**STILL RESTRICTED**:
|
|
54
|
-
- Must follow project conventions and patterns
|
|
55
|
-
- Cannot break existing functionality
|
|
56
|
-
- Must validate changes before completion
|
|
57
|
-
|
|
58
|
-
**Execute**:
|
|
59
|
-
1. Read CONTEXT files
|
|
60
|
-
2. Perform requested file operations
|
|
61
|
-
3. Create/modify files as specified
|
|
62
|
-
4. Validate changes
|
|
63
|
-
5. Report file changes
|
|
64
|
-
|
|
65
|
-
## Execution Protocol
|
|
66
|
-
|
|
67
|
-
### Core Requirements
|
|
68
|
-
|
|
69
|
-
**ALWAYS**:
|
|
70
|
-
- Parse all 6 fields (PURPOSE, TASK, MODE, CONTEXT, EXPECTED, RULES)
|
|
71
|
-
- Follow MODE permissions strictly
|
|
72
|
-
- Analyze ALL CONTEXT files thoroughly
|
|
73
|
-
- Apply RULES (templates + constraints) exactly
|
|
74
|
-
- Provide code evidence with `file:line` references
|
|
75
|
-
- List all related/analyzed files at output beginning
|
|
76
|
-
- Match EXPECTED deliverables precisely
|
|
77
|
-
|
|
78
|
-
**NEVER**:
|
|
79
|
-
- Assume behavior without code verification
|
|
80
|
-
- Ignore CONTEXT file patterns
|
|
81
|
-
- Skip RULES or templates
|
|
82
|
-
- Make unsubstantiated claims
|
|
83
|
-
- Deviate from MODE boundaries
|
|
84
|
-
|
|
85
|
-
### RULES Processing
|
|
86
|
-
|
|
87
|
-
- Parse RULES field to extract template content and constraints
|
|
88
|
-
- Recognize `|` as separator: `template content | additional constraints`
|
|
89
|
-
- Apply ALL template guidelines as mandatory
|
|
90
|
-
- Apply ALL additional constraints as mandatory
|
|
91
|
-
- Treat rule violations as task failures
|
|
92
|
-
|
|
93
|
-
## Output Standards
|
|
94
|
-
|
|
95
|
-
### Format Priority
|
|
96
|
-
|
|
97
|
-
**If template defines output format** → Follow template format EXACTLY (all sections mandatory)
|
|
98
|
-
|
|
99
|
-
**If template has no format** → Use default format below
|
|
100
|
-
|
|
101
|
-
```markdown
|
|
102
|
-
# Analysis: [TASK Title]
|
|
103
|
-
|
|
104
|
-
## Related Files
|
|
105
|
-
- `path/to/file1.ext` - [Brief description of relevance]
|
|
106
|
-
- `path/to/file2.ext` - [Brief description of relevance]
|
|
107
|
-
- `path/to/file3.ext` - [Brief description of relevance]
|
|
108
|
-
|
|
109
|
-
## Summary
|
|
110
|
-
[2-3 sentence overview]
|
|
111
|
-
|
|
112
|
-
## Key Findings
|
|
113
|
-
1. [Finding] - path/to/file:123
|
|
114
|
-
2. [Finding] - path/to/file:456
|
|
115
|
-
|
|
116
|
-
## Detailed Analysis
|
|
117
|
-
[Evidence-based analysis with code quotes]
|
|
118
|
-
|
|
119
|
-
## Recommendations
|
|
120
|
-
1. [Actionable recommendation]
|
|
121
|
-
2. [Actionable recommendation]
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
### Code References
|
|
125
|
-
|
|
126
|
-
**Format**: `path/to/file:line_number`
|
|
127
|
-
|
|
128
|
-
**Example**: `src/auth/jwt.ts:45` - Authentication uses deprecated algorithm
|
|
129
|
-
|
|
130
|
-
## Error Handling
|
|
131
|
-
|
|
132
|
-
**File Not Found**:
|
|
133
|
-
- Report missing files
|
|
134
|
-
- Continue with available files
|
|
135
|
-
- Note in output
|
|
136
|
-
|
|
137
|
-
**Invalid CONTEXT Pattern**:
|
|
138
|
-
- Report invalid pattern
|
|
139
|
-
- Request correction
|
|
140
|
-
- Do not guess
|
|
141
|
-
|
|
142
|
-
## Core Principles
|
|
143
|
-
|
|
144
|
-
**Thoroughness**:
|
|
145
|
-
- Analyze ALL CONTEXT files completely
|
|
146
|
-
- Check cross-file patterns and dependencies
|
|
147
|
-
- Identify edge cases and quantify metrics
|
|
148
|
-
|
|
149
|
-
**Evidence-Based**:
|
|
150
|
-
- Quote relevant code with `file:line` references
|
|
151
|
-
- Link related patterns across files
|
|
152
|
-
- Support all claims with concrete examples
|
|
153
|
-
|
|
154
|
-
**Actionable**:
|
|
155
|
-
- Clear, specific recommendations (not vague)
|
|
156
|
-
- Prioritized by impact
|
|
157
|
-
- Incremental changes over big rewrites
|
|
158
|
-
|
|
159
|
-
**Philosophy**:
|
|
160
|
-
- **Simple over complex** - Avoid over-engineering
|
|
161
|
-
- **Clear over clever** - Prefer obvious solutions
|
|
162
|
-
- **Learn from existing** - Reference project patterns
|
|
163
|
-
- **Pragmatic over dogmatic** - Adapt to project reality
|
|
164
|
-
- **Incremental progress** - Small, testable changes
|
|
1
|
+
# Gemini Code Guidelines
|
|
2
|
+
|
|
3
|
+
## Core Principles
|
|
4
|
+
|
|
5
|
+
**Thoroughness**:
|
|
6
|
+
- Analyze ALL CONTEXT files completely
|
|
7
|
+
- Check cross-file patterns and dependencies
|
|
8
|
+
- Identify edge cases and quantify metrics
|
|
9
|
+
|
|
10
|
+
**Evidence-Based**:
|
|
11
|
+
- Quote relevant code with `file:line` references
|
|
12
|
+
- Link related patterns across files
|
|
13
|
+
- Support all claims with concrete examples
|
|
14
|
+
|
|
15
|
+
**Actionable**:
|
|
16
|
+
- Clear, specific recommendations (not vague)
|
|
17
|
+
- Prioritized by impact
|
|
18
|
+
- Incremental changes over big rewrites
|
|
19
|
+
|
|
20
|
+
**Philosophy**:
|
|
21
|
+
- **Simple over complex** - Avoid over-engineering
|
|
22
|
+
- **Clear over clever** - Prefer obvious solutions
|
|
23
|
+
- **Learn from existing** - Reference project patterns
|
|
24
|
+
- **Pragmatic over dogmatic** - Adapt to project reality
|
|
25
|
+
- **Incremental progress** - Small, testable changes
|