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
|
@@ -1,815 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# ⚠️ DEPRECATED: This script is deprecated.
|
|
3
|
-
# Please use: ccw tool exec ui_instantiate_prototypes '{"designPath":"design-run-1","outputDir":"output"}'
|
|
4
|
-
# This file will be removed in a future version.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
# UI Prototype Instantiation Script with Preview Generation (v3.0 - Auto-detect)
|
|
8
|
-
# Purpose: Generate S × L × P final prototypes from templates + interactive preview files
|
|
9
|
-
# Usage:
|
|
10
|
-
# Simple: ui-instantiate-prototypes.sh <prototypes_dir>
|
|
11
|
-
# Full: ui-instantiate-prototypes.sh <base_path> <pages> <style_variants> <layout_variants> [options]
|
|
12
|
-
|
|
13
|
-
# Use safer error handling
|
|
14
|
-
set -o pipefail
|
|
15
|
-
|
|
16
|
-
# ============================================================================
|
|
17
|
-
# Helper Functions
|
|
18
|
-
# ============================================================================
|
|
19
|
-
|
|
20
|
-
log_info() {
|
|
21
|
-
echo "$1"
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
log_success() {
|
|
25
|
-
echo "✅ $1"
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
log_error() {
|
|
29
|
-
echo "❌ $1"
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
log_warning() {
|
|
33
|
-
echo "⚠️ $1"
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
# Auto-detect pages from templates directory
|
|
37
|
-
auto_detect_pages() {
|
|
38
|
-
local templates_dir="$1/_templates"
|
|
39
|
-
|
|
40
|
-
if [ ! -d "$templates_dir" ]; then
|
|
41
|
-
log_error "Templates directory not found: $templates_dir"
|
|
42
|
-
return 1
|
|
43
|
-
fi
|
|
44
|
-
|
|
45
|
-
# Find unique page names from template files (e.g., login-layout-1.html -> login)
|
|
46
|
-
local pages=$(find "$templates_dir" -name "*-layout-*.html" -type f | \
|
|
47
|
-
sed 's|.*/||' | \
|
|
48
|
-
sed 's|-layout-[0-9]*\.html||' | \
|
|
49
|
-
sort -u | \
|
|
50
|
-
tr '\n' ',' | \
|
|
51
|
-
sed 's/,$//')
|
|
52
|
-
|
|
53
|
-
echo "$pages"
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
# Auto-detect style variants count
|
|
57
|
-
auto_detect_style_variants() {
|
|
58
|
-
local base_path="$1"
|
|
59
|
-
local style_dir="$base_path/../style-extraction"
|
|
60
|
-
|
|
61
|
-
if [ ! -d "$style_dir" ]; then
|
|
62
|
-
log_warning "Style consolidation directory not found: $style_dir"
|
|
63
|
-
echo "3" # Default
|
|
64
|
-
return
|
|
65
|
-
fi
|
|
66
|
-
|
|
67
|
-
# Count style-* directories
|
|
68
|
-
local count=$(find "$style_dir" -maxdepth 1 -type d -name "style-*" | wc -l)
|
|
69
|
-
|
|
70
|
-
if [ "$count" -eq 0 ]; then
|
|
71
|
-
echo "3" # Default
|
|
72
|
-
else
|
|
73
|
-
echo "$count"
|
|
74
|
-
fi
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
# Auto-detect layout variants count
|
|
78
|
-
auto_detect_layout_variants() {
|
|
79
|
-
local templates_dir="$1/_templates"
|
|
80
|
-
|
|
81
|
-
if [ ! -d "$templates_dir" ]; then
|
|
82
|
-
echo "3" # Default
|
|
83
|
-
return
|
|
84
|
-
fi
|
|
85
|
-
|
|
86
|
-
# Find the first page and count its layouts
|
|
87
|
-
local first_page=$(find "$templates_dir" -name "*-layout-1.html" -type f | head -1 | sed 's|.*/||' | sed 's|-layout-1\.html||')
|
|
88
|
-
|
|
89
|
-
if [ -z "$first_page" ]; then
|
|
90
|
-
echo "3" # Default
|
|
91
|
-
return
|
|
92
|
-
fi
|
|
93
|
-
|
|
94
|
-
# Count layout files for this page
|
|
95
|
-
local count=$(find "$templates_dir" -name "${first_page}-layout-*.html" -type f | wc -l)
|
|
96
|
-
|
|
97
|
-
if [ "$count" -eq 0 ]; then
|
|
98
|
-
echo "3" # Default
|
|
99
|
-
else
|
|
100
|
-
echo "$count"
|
|
101
|
-
fi
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
# ============================================================================
|
|
105
|
-
# Parse Arguments
|
|
106
|
-
# ============================================================================
|
|
107
|
-
|
|
108
|
-
show_usage() {
|
|
109
|
-
cat <<'EOF'
|
|
110
|
-
Usage:
|
|
111
|
-
Simple (auto-detect): ui-instantiate-prototypes.sh <prototypes_dir> [options]
|
|
112
|
-
Full: ui-instantiate-prototypes.sh <base_path> <pages> <style_variants> <layout_variants> [options]
|
|
113
|
-
|
|
114
|
-
Simple Mode (Recommended):
|
|
115
|
-
prototypes_dir Path to prototypes directory (auto-detects everything)
|
|
116
|
-
|
|
117
|
-
Full Mode:
|
|
118
|
-
base_path Base path to prototypes directory
|
|
119
|
-
pages Comma-separated list of pages/components
|
|
120
|
-
style_variants Number of style variants (1-5)
|
|
121
|
-
layout_variants Number of layout variants (1-5)
|
|
122
|
-
|
|
123
|
-
Options:
|
|
124
|
-
--run-id <id> Run ID (default: auto-generated)
|
|
125
|
-
--session-id <id> Session ID (default: standalone)
|
|
126
|
-
--mode <page|component> Exploration mode (default: page)
|
|
127
|
-
--template <path> Path to compare.html template (default: ~/.claude/workflows/_template-compare-matrix.html)
|
|
128
|
-
--no-preview Skip preview file generation
|
|
129
|
-
--help Show this help message
|
|
130
|
-
|
|
131
|
-
Examples:
|
|
132
|
-
# Simple usage (auto-detect everything)
|
|
133
|
-
ui-instantiate-prototypes.sh .workflow/design-run-*/prototypes
|
|
134
|
-
|
|
135
|
-
# With options
|
|
136
|
-
ui-instantiate-prototypes.sh .workflow/design-run-*/prototypes --session-id WFS-auth
|
|
137
|
-
|
|
138
|
-
# Full manual mode
|
|
139
|
-
ui-instantiate-prototypes.sh .workflow/design-run-*/prototypes "login,dashboard" 3 3 --session-id WFS-auth
|
|
140
|
-
EOF
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
# Default values
|
|
144
|
-
BASE_PATH=""
|
|
145
|
-
PAGES=""
|
|
146
|
-
STYLE_VARIANTS=""
|
|
147
|
-
LAYOUT_VARIANTS=""
|
|
148
|
-
RUN_ID="run-$(date +%Y%m%d-%H%M%S)"
|
|
149
|
-
SESSION_ID="standalone"
|
|
150
|
-
MODE="page"
|
|
151
|
-
TEMPLATE_PATH="$HOME/.claude/workflows/_template-compare-matrix.html"
|
|
152
|
-
GENERATE_PREVIEW=true
|
|
153
|
-
AUTO_DETECT=false
|
|
154
|
-
|
|
155
|
-
# Parse arguments
|
|
156
|
-
if [ $# -lt 1 ]; then
|
|
157
|
-
log_error "Missing required arguments"
|
|
158
|
-
show_usage
|
|
159
|
-
exit 1
|
|
160
|
-
fi
|
|
161
|
-
|
|
162
|
-
# Check if using simple mode (only 1 positional arg before options)
|
|
163
|
-
if [ $# -eq 1 ] || [[ "$2" == --* ]]; then
|
|
164
|
-
# Simple mode - auto-detect
|
|
165
|
-
AUTO_DETECT=true
|
|
166
|
-
BASE_PATH="$1"
|
|
167
|
-
shift 1
|
|
168
|
-
else
|
|
169
|
-
# Full mode - manual parameters
|
|
170
|
-
if [ $# -lt 4 ]; then
|
|
171
|
-
log_error "Full mode requires 4 positional arguments"
|
|
172
|
-
show_usage
|
|
173
|
-
exit 1
|
|
174
|
-
fi
|
|
175
|
-
|
|
176
|
-
BASE_PATH="$1"
|
|
177
|
-
PAGES="$2"
|
|
178
|
-
STYLE_VARIANTS="$3"
|
|
179
|
-
LAYOUT_VARIANTS="$4"
|
|
180
|
-
shift 4
|
|
181
|
-
fi
|
|
182
|
-
|
|
183
|
-
# Parse optional arguments
|
|
184
|
-
while [[ $# -gt 0 ]]; do
|
|
185
|
-
case $1 in
|
|
186
|
-
--run-id)
|
|
187
|
-
RUN_ID="$2"
|
|
188
|
-
shift 2
|
|
189
|
-
;;
|
|
190
|
-
--session-id)
|
|
191
|
-
SESSION_ID="$2"
|
|
192
|
-
shift 2
|
|
193
|
-
;;
|
|
194
|
-
--mode)
|
|
195
|
-
MODE="$2"
|
|
196
|
-
shift 2
|
|
197
|
-
;;
|
|
198
|
-
--template)
|
|
199
|
-
TEMPLATE_PATH="$2"
|
|
200
|
-
shift 2
|
|
201
|
-
;;
|
|
202
|
-
--no-preview)
|
|
203
|
-
GENERATE_PREVIEW=false
|
|
204
|
-
shift
|
|
205
|
-
;;
|
|
206
|
-
--help)
|
|
207
|
-
show_usage
|
|
208
|
-
exit 0
|
|
209
|
-
;;
|
|
210
|
-
*)
|
|
211
|
-
log_error "Unknown option: $1"
|
|
212
|
-
show_usage
|
|
213
|
-
exit 1
|
|
214
|
-
;;
|
|
215
|
-
esac
|
|
216
|
-
done
|
|
217
|
-
|
|
218
|
-
# ============================================================================
|
|
219
|
-
# Auto-detection (if enabled)
|
|
220
|
-
# ============================================================================
|
|
221
|
-
|
|
222
|
-
if [ "$AUTO_DETECT" = true ]; then
|
|
223
|
-
log_info "🔍 Auto-detecting configuration from directory..."
|
|
224
|
-
|
|
225
|
-
# Detect pages
|
|
226
|
-
PAGES=$(auto_detect_pages "$BASE_PATH")
|
|
227
|
-
if [ -z "$PAGES" ]; then
|
|
228
|
-
log_error "Could not auto-detect pages from templates"
|
|
229
|
-
exit 1
|
|
230
|
-
fi
|
|
231
|
-
log_info " Pages: $PAGES"
|
|
232
|
-
|
|
233
|
-
# Detect style variants
|
|
234
|
-
STYLE_VARIANTS=$(auto_detect_style_variants "$BASE_PATH")
|
|
235
|
-
log_info " Style variants: $STYLE_VARIANTS"
|
|
236
|
-
|
|
237
|
-
# Detect layout variants
|
|
238
|
-
LAYOUT_VARIANTS=$(auto_detect_layout_variants "$BASE_PATH")
|
|
239
|
-
log_info " Layout variants: $LAYOUT_VARIANTS"
|
|
240
|
-
|
|
241
|
-
echo ""
|
|
242
|
-
fi
|
|
243
|
-
|
|
244
|
-
# ============================================================================
|
|
245
|
-
# Validation
|
|
246
|
-
# ============================================================================
|
|
247
|
-
|
|
248
|
-
# Validate base path
|
|
249
|
-
if [ ! -d "$BASE_PATH" ]; then
|
|
250
|
-
log_error "Base path not found: $BASE_PATH"
|
|
251
|
-
exit 1
|
|
252
|
-
fi
|
|
253
|
-
|
|
254
|
-
# Validate style and layout variants
|
|
255
|
-
if [ "$STYLE_VARIANTS" -lt 1 ] || [ "$STYLE_VARIANTS" -gt 5 ]; then
|
|
256
|
-
log_error "Style variants must be between 1 and 5 (got: $STYLE_VARIANTS)"
|
|
257
|
-
exit 1
|
|
258
|
-
fi
|
|
259
|
-
|
|
260
|
-
if [ "$LAYOUT_VARIANTS" -lt 1 ] || [ "$LAYOUT_VARIANTS" -gt 5 ]; then
|
|
261
|
-
log_error "Layout variants must be between 1 and 5 (got: $LAYOUT_VARIANTS)"
|
|
262
|
-
exit 1
|
|
263
|
-
fi
|
|
264
|
-
|
|
265
|
-
# Validate STYLE_VARIANTS against actual style directories
|
|
266
|
-
if [ "$STYLE_VARIANTS" -gt 0 ]; then
|
|
267
|
-
style_dir="$BASE_PATH/../style-extraction"
|
|
268
|
-
|
|
269
|
-
if [ ! -d "$style_dir" ]; then
|
|
270
|
-
log_error "Style consolidation directory not found: $style_dir"
|
|
271
|
-
log_info "Run /workflow:ui-design:consolidate first"
|
|
272
|
-
exit 1
|
|
273
|
-
fi
|
|
274
|
-
|
|
275
|
-
actual_styles=$(find "$style_dir" -maxdepth 1 -type d -name "style-*" 2>/dev/null | wc -l)
|
|
276
|
-
|
|
277
|
-
if [ "$actual_styles" -eq 0 ]; then
|
|
278
|
-
log_error "No style directories found in: $style_dir"
|
|
279
|
-
log_info "Run /workflow:ui-design:consolidate first to generate style design systems"
|
|
280
|
-
exit 1
|
|
281
|
-
fi
|
|
282
|
-
|
|
283
|
-
if [ "$STYLE_VARIANTS" -gt "$actual_styles" ]; then
|
|
284
|
-
log_warning "Requested $STYLE_VARIANTS style variants, but only found $actual_styles directories"
|
|
285
|
-
log_info "Available style directories:"
|
|
286
|
-
find "$style_dir" -maxdepth 1 -type d -name "style-*" 2>/dev/null | sed 's|.*/||' | sort
|
|
287
|
-
log_info "Auto-correcting to $actual_styles style variants"
|
|
288
|
-
STYLE_VARIANTS=$actual_styles
|
|
289
|
-
fi
|
|
290
|
-
fi
|
|
291
|
-
|
|
292
|
-
# Parse pages into array
|
|
293
|
-
IFS=',' read -ra PAGE_ARRAY <<< "$PAGES"
|
|
294
|
-
|
|
295
|
-
if [ ${#PAGE_ARRAY[@]} -eq 0 ]; then
|
|
296
|
-
log_error "No pages found"
|
|
297
|
-
exit 1
|
|
298
|
-
fi
|
|
299
|
-
|
|
300
|
-
# ============================================================================
|
|
301
|
-
# Header Output
|
|
302
|
-
# ============================================================================
|
|
303
|
-
|
|
304
|
-
echo "========================================="
|
|
305
|
-
echo "UI Prototype Instantiation & Preview"
|
|
306
|
-
if [ "$AUTO_DETECT" = true ]; then
|
|
307
|
-
echo "(Auto-detected configuration)"
|
|
308
|
-
fi
|
|
309
|
-
echo "========================================="
|
|
310
|
-
echo "Base Path: $BASE_PATH"
|
|
311
|
-
echo "Mode: $MODE"
|
|
312
|
-
echo "Pages/Components: $PAGES"
|
|
313
|
-
echo "Style Variants: $STYLE_VARIANTS"
|
|
314
|
-
echo "Layout Variants: $LAYOUT_VARIANTS"
|
|
315
|
-
echo "Run ID: $RUN_ID"
|
|
316
|
-
echo "Session ID: $SESSION_ID"
|
|
317
|
-
echo "========================================="
|
|
318
|
-
echo ""
|
|
319
|
-
|
|
320
|
-
# Change to base path
|
|
321
|
-
cd "$BASE_PATH" || exit 1
|
|
322
|
-
|
|
323
|
-
# ============================================================================
|
|
324
|
-
# Phase 1: Instantiate Prototypes
|
|
325
|
-
# ============================================================================
|
|
326
|
-
|
|
327
|
-
log_info "🚀 Phase 1: Instantiating prototypes from templates..."
|
|
328
|
-
echo ""
|
|
329
|
-
|
|
330
|
-
total_generated=0
|
|
331
|
-
total_failed=0
|
|
332
|
-
|
|
333
|
-
for page in "${PAGE_ARRAY[@]}"; do
|
|
334
|
-
# Trim whitespace
|
|
335
|
-
page=$(echo "$page" | xargs)
|
|
336
|
-
|
|
337
|
-
log_info "Processing page/component: $page"
|
|
338
|
-
|
|
339
|
-
for s in $(seq 1 "$STYLE_VARIANTS"); do
|
|
340
|
-
for l in $(seq 1 "$LAYOUT_VARIANTS"); do
|
|
341
|
-
# Define file paths
|
|
342
|
-
TEMPLATE_HTML="_templates/${page}-layout-${l}.html"
|
|
343
|
-
STRUCTURAL_CSS="_templates/${page}-layout-${l}.css"
|
|
344
|
-
TOKEN_CSS="../style-extraction/style-${s}/tokens.css"
|
|
345
|
-
OUTPUT_HTML="${page}-style-${s}-layout-${l}.html"
|
|
346
|
-
|
|
347
|
-
# Copy template and replace placeholders
|
|
348
|
-
if [ -f "$TEMPLATE_HTML" ]; then
|
|
349
|
-
cp "$TEMPLATE_HTML" "$OUTPUT_HTML" || {
|
|
350
|
-
log_error "Failed to copy template: $TEMPLATE_HTML"
|
|
351
|
-
((total_failed++))
|
|
352
|
-
continue
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
# Replace CSS placeholders (Windows-compatible sed syntax)
|
|
356
|
-
sed -i "s|{{STRUCTURAL_CSS}}|${STRUCTURAL_CSS}|g" "$OUTPUT_HTML" || true
|
|
357
|
-
sed -i "s|{{TOKEN_CSS}}|${TOKEN_CSS}|g" "$OUTPUT_HTML" || true
|
|
358
|
-
|
|
359
|
-
log_success "Created: $OUTPUT_HTML"
|
|
360
|
-
((total_generated++))
|
|
361
|
-
|
|
362
|
-
# Create implementation notes (simplified)
|
|
363
|
-
NOTES_FILE="${page}-style-${s}-layout-${l}-notes.md"
|
|
364
|
-
|
|
365
|
-
# Generate notes with simple heredoc
|
|
366
|
-
cat > "$NOTES_FILE" <<NOTESEOF
|
|
367
|
-
# Implementation Notes: ${page}-style-${s}-layout-${l}
|
|
368
|
-
|
|
369
|
-
## Generation Details
|
|
370
|
-
- **Template**: ${TEMPLATE_HTML}
|
|
371
|
-
- **Structural CSS**: ${STRUCTURAL_CSS}
|
|
372
|
-
- **Style Tokens**: ${TOKEN_CSS}
|
|
373
|
-
- **Layout Strategy**: Layout ${l}
|
|
374
|
-
- **Style Variant**: Style ${s}
|
|
375
|
-
- **Mode**: ${MODE}
|
|
376
|
-
|
|
377
|
-
## Template Reuse
|
|
378
|
-
This prototype was generated from a shared layout template to ensure consistency
|
|
379
|
-
across all style variants. The HTML structure is identical for all ${page}-layout-${l}
|
|
380
|
-
prototypes, with only the design tokens (colors, fonts, spacing) varying.
|
|
381
|
-
|
|
382
|
-
## Design System Reference
|
|
383
|
-
Refer to \`../style-extraction/style-${s}/style-guide.md\` for:
|
|
384
|
-
- Design philosophy
|
|
385
|
-
- Token usage guidelines
|
|
386
|
-
- Component patterns
|
|
387
|
-
- Accessibility requirements
|
|
388
|
-
|
|
389
|
-
## Customization
|
|
390
|
-
To modify this prototype:
|
|
391
|
-
1. Edit the layout template: \`${TEMPLATE_HTML}\` (affects all styles)
|
|
392
|
-
2. Edit the structural CSS: \`${STRUCTURAL_CSS}\` (affects all styles)
|
|
393
|
-
3. Edit design tokens: \`${TOKEN_CSS}\` (affects only this style variant)
|
|
394
|
-
|
|
395
|
-
## Run Information
|
|
396
|
-
- **Run ID**: ${RUN_ID}
|
|
397
|
-
- **Session ID**: ${SESSION_ID}
|
|
398
|
-
- **Generated**: $(date -u +%Y-%m-%dT%H:%M:%SZ 2>/dev/null || date -u +%Y-%m-%d)
|
|
399
|
-
NOTESEOF
|
|
400
|
-
|
|
401
|
-
else
|
|
402
|
-
log_error "Template not found: $TEMPLATE_HTML"
|
|
403
|
-
((total_failed++))
|
|
404
|
-
fi
|
|
405
|
-
done
|
|
406
|
-
done
|
|
407
|
-
done
|
|
408
|
-
|
|
409
|
-
echo ""
|
|
410
|
-
log_success "Phase 1 complete: Generated ${total_generated} prototypes"
|
|
411
|
-
if [ $total_failed -gt 0 ]; then
|
|
412
|
-
log_warning "Failed: ${total_failed} prototypes"
|
|
413
|
-
fi
|
|
414
|
-
echo ""
|
|
415
|
-
|
|
416
|
-
# ============================================================================
|
|
417
|
-
# Phase 2: Generate Preview Files (if enabled)
|
|
418
|
-
# ============================================================================
|
|
419
|
-
|
|
420
|
-
if [ "$GENERATE_PREVIEW" = false ]; then
|
|
421
|
-
log_info "⏭️ Skipping preview generation (--no-preview flag)"
|
|
422
|
-
exit 0
|
|
423
|
-
fi
|
|
424
|
-
|
|
425
|
-
log_info "🎨 Phase 2: Generating preview files..."
|
|
426
|
-
echo ""
|
|
427
|
-
|
|
428
|
-
# ============================================================================
|
|
429
|
-
# 2a. Generate compare.html from template
|
|
430
|
-
# ============================================================================
|
|
431
|
-
|
|
432
|
-
if [ ! -f "$TEMPLATE_PATH" ]; then
|
|
433
|
-
log_warning "Template not found: $TEMPLATE_PATH"
|
|
434
|
-
log_info " Skipping compare.html generation"
|
|
435
|
-
else
|
|
436
|
-
log_info "📄 Generating compare.html from template..."
|
|
437
|
-
|
|
438
|
-
# Convert page array to JSON format
|
|
439
|
-
PAGES_JSON="["
|
|
440
|
-
for i in "${!PAGE_ARRAY[@]}"; do
|
|
441
|
-
page=$(echo "${PAGE_ARRAY[$i]}" | xargs)
|
|
442
|
-
PAGES_JSON+="\"$page\""
|
|
443
|
-
if [ $i -lt $((${#PAGE_ARRAY[@]} - 1)) ]; then
|
|
444
|
-
PAGES_JSON+=", "
|
|
445
|
-
fi
|
|
446
|
-
done
|
|
447
|
-
PAGES_JSON+="]"
|
|
448
|
-
|
|
449
|
-
TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ 2>/dev/null || date -u +%Y-%m-%d)
|
|
450
|
-
|
|
451
|
-
# Read template and replace placeholders
|
|
452
|
-
cat "$TEMPLATE_PATH" | \
|
|
453
|
-
sed "s|{{run_id}}|${RUN_ID}|g" | \
|
|
454
|
-
sed "s|{{session_id}}|${SESSION_ID}|g" | \
|
|
455
|
-
sed "s|{{timestamp}}|${TIMESTAMP}|g" | \
|
|
456
|
-
sed "s|{{style_variants}}|${STYLE_VARIANTS}|g" | \
|
|
457
|
-
sed "s|{{layout_variants}}|${LAYOUT_VARIANTS}|g" | \
|
|
458
|
-
sed "s|{{pages_json}}|${PAGES_JSON}|g" \
|
|
459
|
-
> compare.html
|
|
460
|
-
|
|
461
|
-
log_success "Generated: compare.html"
|
|
462
|
-
fi
|
|
463
|
-
|
|
464
|
-
# ============================================================================
|
|
465
|
-
# 2b. Generate index.html
|
|
466
|
-
# ============================================================================
|
|
467
|
-
|
|
468
|
-
log_info "📄 Generating index.html..."
|
|
469
|
-
|
|
470
|
-
# Calculate total prototypes
|
|
471
|
-
TOTAL_PROTOTYPES=$((STYLE_VARIANTS * LAYOUT_VARIANTS * ${#PAGE_ARRAY[@]}))
|
|
472
|
-
|
|
473
|
-
# Generate index.html with simple heredoc
|
|
474
|
-
cat > index.html <<'INDEXEOF'
|
|
475
|
-
<!DOCTYPE html>
|
|
476
|
-
<html lang="en">
|
|
477
|
-
<head>
|
|
478
|
-
<meta charset="UTF-8">
|
|
479
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
480
|
-
<title>UI Prototypes - __MODE__ Mode - __RUN_ID__</title>
|
|
481
|
-
<style>
|
|
482
|
-
body {
|
|
483
|
-
font-family: system-ui, -apple-system, sans-serif;
|
|
484
|
-
max-width: 900px;
|
|
485
|
-
margin: 2rem auto;
|
|
486
|
-
padding: 0 2rem;
|
|
487
|
-
background: #f9fafb;
|
|
488
|
-
}
|
|
489
|
-
.header {
|
|
490
|
-
background: white;
|
|
491
|
-
padding: 2rem;
|
|
492
|
-
border-radius: 0.75rem;
|
|
493
|
-
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
|
|
494
|
-
margin-bottom: 2rem;
|
|
495
|
-
}
|
|
496
|
-
h1 {
|
|
497
|
-
color: #2563eb;
|
|
498
|
-
margin-bottom: 0.5rem;
|
|
499
|
-
font-size: 2rem;
|
|
500
|
-
}
|
|
501
|
-
.meta {
|
|
502
|
-
color: #6b7280;
|
|
503
|
-
font-size: 0.875rem;
|
|
504
|
-
margin-top: 0.5rem;
|
|
505
|
-
}
|
|
506
|
-
.info {
|
|
507
|
-
background: #f3f4f6;
|
|
508
|
-
padding: 1.5rem;
|
|
509
|
-
border-radius: 0.5rem;
|
|
510
|
-
margin: 1.5rem 0;
|
|
511
|
-
border-left: 4px solid #2563eb;
|
|
512
|
-
}
|
|
513
|
-
.cta {
|
|
514
|
-
display: inline-block;
|
|
515
|
-
background: #2563eb;
|
|
516
|
-
color: white;
|
|
517
|
-
padding: 1rem 2rem;
|
|
518
|
-
border-radius: 0.5rem;
|
|
519
|
-
text-decoration: none;
|
|
520
|
-
font-weight: 600;
|
|
521
|
-
margin: 1rem 0;
|
|
522
|
-
transition: background 0.2s;
|
|
523
|
-
}
|
|
524
|
-
.cta:hover {
|
|
525
|
-
background: #1d4ed8;
|
|
526
|
-
}
|
|
527
|
-
.stats {
|
|
528
|
-
display: grid;
|
|
529
|
-
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
|
|
530
|
-
gap: 1rem;
|
|
531
|
-
margin: 1.5rem 0;
|
|
532
|
-
}
|
|
533
|
-
.stat {
|
|
534
|
-
background: white;
|
|
535
|
-
border: 1px solid #e5e7eb;
|
|
536
|
-
padding: 1.5rem;
|
|
537
|
-
border-radius: 0.5rem;
|
|
538
|
-
text-align: center;
|
|
539
|
-
box-shadow: 0 1px 2px rgba(0,0,0,0.05);
|
|
540
|
-
}
|
|
541
|
-
.stat-value {
|
|
542
|
-
font-size: 2.5rem;
|
|
543
|
-
font-weight: bold;
|
|
544
|
-
color: #2563eb;
|
|
545
|
-
margin-bottom: 0.25rem;
|
|
546
|
-
}
|
|
547
|
-
.stat-label {
|
|
548
|
-
color: #6b7280;
|
|
549
|
-
font-size: 0.875rem;
|
|
550
|
-
}
|
|
551
|
-
.section {
|
|
552
|
-
background: white;
|
|
553
|
-
padding: 2rem;
|
|
554
|
-
border-radius: 0.75rem;
|
|
555
|
-
margin-bottom: 2rem;
|
|
556
|
-
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
|
|
557
|
-
}
|
|
558
|
-
h2 {
|
|
559
|
-
color: #1f2937;
|
|
560
|
-
margin-bottom: 1rem;
|
|
561
|
-
font-size: 1.5rem;
|
|
562
|
-
}
|
|
563
|
-
ul {
|
|
564
|
-
line-height: 1.8;
|
|
565
|
-
color: #374151;
|
|
566
|
-
}
|
|
567
|
-
.pages-list {
|
|
568
|
-
list-style: none;
|
|
569
|
-
padding: 0;
|
|
570
|
-
}
|
|
571
|
-
.pages-list li {
|
|
572
|
-
background: #f9fafb;
|
|
573
|
-
padding: 0.75rem 1rem;
|
|
574
|
-
margin: 0.5rem 0;
|
|
575
|
-
border-radius: 0.375rem;
|
|
576
|
-
border-left: 3px solid #2563eb;
|
|
577
|
-
}
|
|
578
|
-
.badge {
|
|
579
|
-
display: inline-block;
|
|
580
|
-
background: #dbeafe;
|
|
581
|
-
color: #1e40af;
|
|
582
|
-
padding: 0.25rem 0.75rem;
|
|
583
|
-
border-radius: 0.25rem;
|
|
584
|
-
font-size: 0.75rem;
|
|
585
|
-
font-weight: 600;
|
|
586
|
-
margin-left: 0.5rem;
|
|
587
|
-
}
|
|
588
|
-
</style>
|
|
589
|
-
</head>
|
|
590
|
-
<body>
|
|
591
|
-
<div class="header">
|
|
592
|
-
<h1>🎨 UI Prototype __MODE__ Mode</h1>
|
|
593
|
-
<div class="meta">
|
|
594
|
-
<strong>Run ID:</strong> __RUN_ID__ |
|
|
595
|
-
<strong>Session:</strong> __SESSION_ID__ |
|
|
596
|
-
<strong>Generated:</strong> __TIMESTAMP__
|
|
597
|
-
</div>
|
|
598
|
-
</div>
|
|
599
|
-
|
|
600
|
-
<div class="info">
|
|
601
|
-
<p><strong>Matrix Configuration:</strong> __STYLE_VARIANTS__ styles × __LAYOUT_VARIANTS__ layouts × __PAGE_COUNT__ __MODE__s</p>
|
|
602
|
-
<p><strong>Total Prototypes:</strong> __TOTAL_PROTOTYPES__ interactive HTML files</p>
|
|
603
|
-
</div>
|
|
604
|
-
|
|
605
|
-
<a href="compare.html" class="cta">🔍 Open Interactive Matrix Comparison →</a>
|
|
606
|
-
|
|
607
|
-
<div class="stats">
|
|
608
|
-
<div class="stat">
|
|
609
|
-
<div class="stat-value">__STYLE_VARIANTS__</div>
|
|
610
|
-
<div class="stat-label">Style Variants</div>
|
|
611
|
-
</div>
|
|
612
|
-
<div class="stat">
|
|
613
|
-
<div class="stat-value">__LAYOUT_VARIANTS__</div>
|
|
614
|
-
<div class="stat-label">Layout Options</div>
|
|
615
|
-
</div>
|
|
616
|
-
<div class="stat">
|
|
617
|
-
<div class="stat-value">__PAGE_COUNT__</div>
|
|
618
|
-
<div class="stat-label">__MODE__s</div>
|
|
619
|
-
</div>
|
|
620
|
-
<div class="stat">
|
|
621
|
-
<div class="stat-value">__TOTAL_PROTOTYPES__</div>
|
|
622
|
-
<div class="stat-label">Total Prototypes</div>
|
|
623
|
-
</div>
|
|
624
|
-
</div>
|
|
625
|
-
|
|
626
|
-
<div class="section">
|
|
627
|
-
<h2>🌟 Features</h2>
|
|
628
|
-
<ul>
|
|
629
|
-
<li><strong>Interactive Matrix View:</strong> __STYLE_VARIANTS__×__LAYOUT_VARIANTS__ grid with synchronized scrolling</li>
|
|
630
|
-
<li><strong>Flexible Zoom:</strong> 25%, 50%, 75%, 100% viewport scaling</li>
|
|
631
|
-
<li><strong>Fullscreen Mode:</strong> Detailed view for individual prototypes</li>
|
|
632
|
-
<li><strong>Selection System:</strong> Mark favorites with export to JSON</li>
|
|
633
|
-
<li><strong>__MODE__ Switcher:</strong> Compare different __MODE__s side-by-side</li>
|
|
634
|
-
<li><strong>Persistent State:</strong> Selections saved in localStorage</li>
|
|
635
|
-
</ul>
|
|
636
|
-
</div>
|
|
637
|
-
|
|
638
|
-
<div class="section">
|
|
639
|
-
<h2>📄 Generated __MODE__s</h2>
|
|
640
|
-
<ul class="pages-list">
|
|
641
|
-
__PAGES_LIST__
|
|
642
|
-
</ul>
|
|
643
|
-
</div>
|
|
644
|
-
|
|
645
|
-
<div class="section">
|
|
646
|
-
<h2>📚 Next Steps</h2>
|
|
647
|
-
<ol>
|
|
648
|
-
<li>Open <code>compare.html</code> to explore all variants in matrix view</li>
|
|
649
|
-
<li>Use zoom and sync scroll controls to compare details</li>
|
|
650
|
-
<li>Select your preferred style×layout combinations</li>
|
|
651
|
-
<li>Export selections as JSON for implementation planning</li>
|
|
652
|
-
<li>Review implementation notes in <code>*-notes.md</code> files</li>
|
|
653
|
-
</ol>
|
|
654
|
-
</div>
|
|
655
|
-
</body>
|
|
656
|
-
</html>
|
|
657
|
-
INDEXEOF
|
|
658
|
-
|
|
659
|
-
# Build pages list HTML
|
|
660
|
-
PAGES_LIST_HTML=""
|
|
661
|
-
for page in "${PAGE_ARRAY[@]}"; do
|
|
662
|
-
page=$(echo "$page" | xargs)
|
|
663
|
-
VARIANT_COUNT=$((STYLE_VARIANTS * LAYOUT_VARIANTS))
|
|
664
|
-
PAGES_LIST_HTML+=" <li>\n"
|
|
665
|
-
PAGES_LIST_HTML+=" <strong>${page}</strong>\n"
|
|
666
|
-
PAGES_LIST_HTML+=" <span class=\"badge\">${STYLE_VARIANTS}×${LAYOUT_VARIANTS} = ${VARIANT_COUNT} variants</span>\n"
|
|
667
|
-
PAGES_LIST_HTML+=" </li>\n"
|
|
668
|
-
done
|
|
669
|
-
|
|
670
|
-
# Replace all placeholders in index.html
|
|
671
|
-
MODE_UPPER=$(echo "$MODE" | awk '{print toupper(substr($0,1,1)) tolower(substr($0,2))}')
|
|
672
|
-
sed -i "s|__RUN_ID__|${RUN_ID}|g" index.html
|
|
673
|
-
sed -i "s|__SESSION_ID__|${SESSION_ID}|g" index.html
|
|
674
|
-
sed -i "s|__TIMESTAMP__|${TIMESTAMP}|g" index.html
|
|
675
|
-
sed -i "s|__MODE__|${MODE_UPPER}|g" index.html
|
|
676
|
-
sed -i "s|__STYLE_VARIANTS__|${STYLE_VARIANTS}|g" index.html
|
|
677
|
-
sed -i "s|__LAYOUT_VARIANTS__|${LAYOUT_VARIANTS}|g" index.html
|
|
678
|
-
sed -i "s|__PAGE_COUNT__|${#PAGE_ARRAY[@]}|g" index.html
|
|
679
|
-
sed -i "s|__TOTAL_PROTOTYPES__|${TOTAL_PROTOTYPES}|g" index.html
|
|
680
|
-
sed -i "s|__PAGES_LIST__|${PAGES_LIST_HTML}|g" index.html
|
|
681
|
-
|
|
682
|
-
log_success "Generated: index.html"
|
|
683
|
-
|
|
684
|
-
# ============================================================================
|
|
685
|
-
# 2c. Generate PREVIEW.md
|
|
686
|
-
# ============================================================================
|
|
687
|
-
|
|
688
|
-
log_info "📄 Generating PREVIEW.md..."
|
|
689
|
-
|
|
690
|
-
cat > PREVIEW.md <<PREVIEWEOF
|
|
691
|
-
# UI Prototype Preview Guide
|
|
692
|
-
|
|
693
|
-
## Quick Start
|
|
694
|
-
1. Open \`index.html\` for overview and navigation
|
|
695
|
-
2. Open \`compare.html\` for interactive matrix comparison
|
|
696
|
-
3. Use browser developer tools to inspect responsive behavior
|
|
697
|
-
|
|
698
|
-
## Configuration
|
|
699
|
-
|
|
700
|
-
- **Exploration Mode:** ${MODE_UPPER}
|
|
701
|
-
- **Run ID:** ${RUN_ID}
|
|
702
|
-
- **Session ID:** ${SESSION_ID}
|
|
703
|
-
- **Style Variants:** ${STYLE_VARIANTS}
|
|
704
|
-
- **Layout Options:** ${LAYOUT_VARIANTS}
|
|
705
|
-
- **${MODE_UPPER}s:** ${PAGES}
|
|
706
|
-
- **Total Prototypes:** ${TOTAL_PROTOTYPES}
|
|
707
|
-
- **Generated:** ${TIMESTAMP}
|
|
708
|
-
|
|
709
|
-
## File Naming Convention
|
|
710
|
-
|
|
711
|
-
\`\`\`
|
|
712
|
-
{${MODE}}-style-{s}-layout-{l}.html
|
|
713
|
-
\`\`\`
|
|
714
|
-
|
|
715
|
-
**Example:** \`dashboard-style-1-layout-2.html\`
|
|
716
|
-
- ${MODE_UPPER}: dashboard
|
|
717
|
-
- Style: Design system 1
|
|
718
|
-
- Layout: Layout variant 2
|
|
719
|
-
|
|
720
|
-
## Interactive Features (compare.html)
|
|
721
|
-
|
|
722
|
-
### Matrix View
|
|
723
|
-
- **Grid Layout:** ${STYLE_VARIANTS}×${LAYOUT_VARIANTS} table with all prototypes visible
|
|
724
|
-
- **Synchronized Scroll:** All iframes scroll together (toggle with button)
|
|
725
|
-
- **Zoom Controls:** Adjust viewport scale (25%, 50%, 75%, 100%)
|
|
726
|
-
- **${MODE_UPPER} Selector:** Switch between different ${MODE}s instantly
|
|
727
|
-
|
|
728
|
-
### Prototype Actions
|
|
729
|
-
- **⭐ Selection:** Click star icon to mark favorites
|
|
730
|
-
- **⛶ Fullscreen:** View prototype in fullscreen overlay
|
|
731
|
-
- **↗ New Tab:** Open prototype in dedicated browser tab
|
|
732
|
-
|
|
733
|
-
### Selection Export
|
|
734
|
-
1. Select preferred prototypes using star icons
|
|
735
|
-
2. Click "Export Selection" button
|
|
736
|
-
3. Downloads JSON file: \`selection-${RUN_ID}.json\`
|
|
737
|
-
4. Use exported file for implementation planning
|
|
738
|
-
|
|
739
|
-
## Design System References
|
|
740
|
-
|
|
741
|
-
Each prototype references a specific style design system:
|
|
742
|
-
PREVIEWEOF
|
|
743
|
-
|
|
744
|
-
# Add style references
|
|
745
|
-
for s in $(seq 1 "$STYLE_VARIANTS"); do
|
|
746
|
-
cat >> PREVIEW.md <<STYLEEOF
|
|
747
|
-
|
|
748
|
-
### Style ${s}
|
|
749
|
-
- **Tokens:** \`../style-extraction/style-${s}/design-tokens.json\`
|
|
750
|
-
- **CSS Variables:** \`../style-extraction/style-${s}/tokens.css\`
|
|
751
|
-
- **Style Guide:** \`../style-extraction/style-${s}/style-guide.md\`
|
|
752
|
-
STYLEEOF
|
|
753
|
-
done
|
|
754
|
-
|
|
755
|
-
cat >> PREVIEW.md <<'FOOTEREOF'
|
|
756
|
-
|
|
757
|
-
## Responsive Testing
|
|
758
|
-
|
|
759
|
-
All prototypes are mobile-first responsive. Test at these breakpoints:
|
|
760
|
-
|
|
761
|
-
- **Mobile:** 375px - 767px
|
|
762
|
-
- **Tablet:** 768px - 1023px
|
|
763
|
-
- **Desktop:** 1024px+
|
|
764
|
-
|
|
765
|
-
Use browser DevTools responsive mode for testing.
|
|
766
|
-
|
|
767
|
-
## Accessibility Features
|
|
768
|
-
|
|
769
|
-
- Semantic HTML5 structure
|
|
770
|
-
- ARIA attributes for screen readers
|
|
771
|
-
- Keyboard navigation support
|
|
772
|
-
- Proper heading hierarchy
|
|
773
|
-
- Focus indicators
|
|
774
|
-
|
|
775
|
-
## Next Steps
|
|
776
|
-
|
|
777
|
-
1. **Review:** Open `compare.html` and explore all variants
|
|
778
|
-
2. **Select:** Mark preferred prototypes using star icons
|
|
779
|
-
3. **Export:** Download selection JSON for implementation
|
|
780
|
-
4. **Implement:** Use `/workflow:ui-design:update` to integrate selected designs
|
|
781
|
-
5. **Plan:** Run `/workflow:plan` to generate implementation tasks
|
|
782
|
-
|
|
783
|
-
---
|
|
784
|
-
|
|
785
|
-
**Generated by:** `ui-instantiate-prototypes.sh`
|
|
786
|
-
**Version:** 3.0 (auto-detect mode)
|
|
787
|
-
FOOTEREOF
|
|
788
|
-
|
|
789
|
-
log_success "Generated: PREVIEW.md"
|
|
790
|
-
|
|
791
|
-
# ============================================================================
|
|
792
|
-
# Completion Summary
|
|
793
|
-
# ============================================================================
|
|
794
|
-
|
|
795
|
-
echo ""
|
|
796
|
-
echo "========================================="
|
|
797
|
-
echo "✅ Generation Complete!"
|
|
798
|
-
echo "========================================="
|
|
799
|
-
echo ""
|
|
800
|
-
echo "📊 Summary:"
|
|
801
|
-
echo " Prototypes: ${total_generated} generated"
|
|
802
|
-
if [ $total_failed -gt 0 ]; then
|
|
803
|
-
echo " Failed: ${total_failed}"
|
|
804
|
-
fi
|
|
805
|
-
echo " Preview Files: compare.html, index.html, PREVIEW.md"
|
|
806
|
-
echo " Matrix: ${STYLE_VARIANTS}×${LAYOUT_VARIANTS} (${#PAGE_ARRAY[@]} ${MODE}s)"
|
|
807
|
-
echo " Total Files: ${TOTAL_PROTOTYPES} prototypes + preview files"
|
|
808
|
-
echo ""
|
|
809
|
-
echo "🌐 Next Steps:"
|
|
810
|
-
echo " 1. Open: ${BASE_PATH}/index.html"
|
|
811
|
-
echo " 2. Explore: ${BASE_PATH}/compare.html"
|
|
812
|
-
echo " 3. Review: ${BASE_PATH}/PREVIEW.md"
|
|
813
|
-
echo ""
|
|
814
|
-
echo "Performance: Template-based approach with ${STYLE_VARIANTS}× speedup"
|
|
815
|
-
echo "========================================="
|