task-o-matic-core 0.1.0
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/README.md +646 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +46 -0
- package/dist/lib/ai-service/ai-operations.d.ts +45 -0
- package/dist/lib/ai-service/ai-operations.d.ts.map +1 -0
- package/dist/lib/ai-service/ai-operations.js +60 -0
- package/dist/lib/ai-service/base-operations.d.ts +43 -0
- package/dist/lib/ai-service/base-operations.d.ts.map +1 -0
- package/dist/lib/ai-service/base-operations.js +119 -0
- package/dist/lib/ai-service/documentation-operations.d.ts +18 -0
- package/dist/lib/ai-service/documentation-operations.d.ts.map +1 -0
- package/dist/lib/ai-service/documentation-operations.js +308 -0
- package/dist/lib/ai-service/filesystem-tools.d.ts +69 -0
- package/dist/lib/ai-service/filesystem-tools.d.ts.map +1 -0
- package/dist/lib/ai-service/filesystem-tools.js +70 -0
- package/dist/lib/ai-service/json-parser.d.ts +34 -0
- package/dist/lib/ai-service/json-parser.d.ts.map +1 -0
- package/dist/lib/ai-service/json-parser.js +177 -0
- package/dist/lib/ai-service/mcp-client.d.ts +9 -0
- package/dist/lib/ai-service/mcp-client.d.ts.map +1 -0
- package/dist/lib/ai-service/mcp-client.js +48 -0
- package/dist/lib/ai-service/model-provider.d.ts +12 -0
- package/dist/lib/ai-service/model-provider.d.ts.map +1 -0
- package/dist/lib/ai-service/model-provider.js +146 -0
- package/dist/lib/ai-service/prd-operations.d.ts +25 -0
- package/dist/lib/ai-service/prd-operations.d.ts.map +1 -0
- package/dist/lib/ai-service/prd-operations.js +592 -0
- package/dist/lib/ai-service/research-tools.d.ts +4 -0
- package/dist/lib/ai-service/research-tools.d.ts.map +1 -0
- package/dist/lib/ai-service/research-tools.js +8 -0
- package/dist/lib/ai-service/retry-handler.d.ts +8 -0
- package/dist/lib/ai-service/retry-handler.d.ts.map +1 -0
- package/dist/lib/ai-service/retry-handler.js +63 -0
- package/dist/lib/ai-service/task-operations.d.ts +13 -0
- package/dist/lib/ai-service/task-operations.d.ts.map +1 -0
- package/dist/lib/ai-service/task-operations.js +220 -0
- package/dist/lib/benchmark/registry.d.ts +11 -0
- package/dist/lib/benchmark/registry.d.ts.map +1 -0
- package/dist/lib/benchmark/registry.js +212 -0
- package/dist/lib/benchmark/runner.d.ts +6 -0
- package/dist/lib/benchmark/runner.d.ts.map +1 -0
- package/dist/lib/benchmark/runner.js +150 -0
- package/dist/lib/benchmark/storage.d.ts +13 -0
- package/dist/lib/benchmark/storage.d.ts.map +1 -0
- package/dist/lib/benchmark/storage.js +100 -0
- package/dist/lib/benchmark/types.d.ts +104 -0
- package/dist/lib/benchmark/types.d.ts.map +1 -0
- package/dist/lib/benchmark/types.js +2 -0
- package/dist/lib/better-t-stack-cli.d.ts +50 -0
- package/dist/lib/better-t-stack-cli.d.ts.map +1 -0
- package/dist/lib/better-t-stack-cli.js +428 -0
- package/dist/lib/bootstrap/cli-bootstrap.d.ts +14 -0
- package/dist/lib/bootstrap/cli-bootstrap.d.ts.map +1 -0
- package/dist/lib/bootstrap/cli-bootstrap.js +322 -0
- package/dist/lib/bootstrap/index.d.ts +3 -0
- package/dist/lib/bootstrap/index.d.ts.map +1 -0
- package/dist/lib/bootstrap/index.js +18 -0
- package/dist/lib/bootstrap/medusa-bootstrap.d.ts +14 -0
- package/dist/lib/bootstrap/medusa-bootstrap.d.ts.map +1 -0
- package/dist/lib/bootstrap/medusa-bootstrap.js +215 -0
- package/dist/lib/config-validation.d.ts +215 -0
- package/dist/lib/config-validation.d.ts.map +1 -0
- package/dist/lib/config-validation.js +254 -0
- package/dist/lib/config.d.ts +55 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +351 -0
- package/dist/lib/context-builder.d.ts +66 -0
- package/dist/lib/context-builder.d.ts.map +1 -0
- package/dist/lib/context-builder.js +322 -0
- package/dist/lib/executors/claude-code-executor.d.ts +9 -0
- package/dist/lib/executors/claude-code-executor.d.ts.map +1 -0
- package/dist/lib/executors/claude-code-executor.js +69 -0
- package/dist/lib/executors/codex-executor.d.ts +9 -0
- package/dist/lib/executors/codex-executor.d.ts.map +1 -0
- package/dist/lib/executors/codex-executor.js +73 -0
- package/dist/lib/executors/executor-factory.d.ts +5 -0
- package/dist/lib/executors/executor-factory.d.ts.map +1 -0
- package/dist/lib/executors/executor-factory.js +27 -0
- package/dist/lib/executors/gemini-executor.d.ts +9 -0
- package/dist/lib/executors/gemini-executor.d.ts.map +1 -0
- package/dist/lib/executors/gemini-executor.js +67 -0
- package/dist/lib/executors/kilo-executor.d.ts +9 -0
- package/dist/lib/executors/kilo-executor.d.ts.map +1 -0
- package/dist/lib/executors/kilo-executor.js +69 -0
- package/dist/lib/executors/opencode-executor.d.ts +9 -0
- package/dist/lib/executors/opencode-executor.d.ts.map +1 -0
- package/dist/lib/executors/opencode-executor.js +67 -0
- package/dist/lib/git-utils.d.ts +88 -0
- package/dist/lib/git-utils.d.ts.map +1 -0
- package/dist/lib/git-utils.js +242 -0
- package/dist/lib/hooks.d.ts +73 -0
- package/dist/lib/hooks.d.ts.map +1 -0
- package/dist/lib/hooks.js +62 -0
- package/dist/lib/index.d.ts +100 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +143 -0
- package/dist/lib/logger.d.ts +20 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +32 -0
- package/dist/lib/notifications.d.ts +7 -0
- package/dist/lib/notifications.d.ts.map +1 -0
- package/dist/lib/notifications.js +81 -0
- package/dist/lib/prompt-builder.d.ts +70 -0
- package/dist/lib/prompt-builder.d.ts.map +1 -0
- package/dist/lib/prompt-builder.js +344 -0
- package/dist/lib/prompt-registry.d.ts +22 -0
- package/dist/lib/prompt-registry.d.ts.map +1 -0
- package/dist/lib/prompt-registry.js +409 -0
- package/dist/lib/provider-defaults.json +32 -0
- package/dist/lib/storage/file-system.d.ts +57 -0
- package/dist/lib/storage/file-system.d.ts.map +1 -0
- package/dist/lib/storage/file-system.js +638 -0
- package/dist/lib/storage/storage-callbacks.d.ts +17 -0
- package/dist/lib/storage/storage-callbacks.d.ts.map +1 -0
- package/dist/lib/storage/storage-callbacks.js +94 -0
- package/dist/lib/storage/types.d.ts +43 -0
- package/dist/lib/storage/types.d.ts.map +1 -0
- package/dist/lib/storage/types.js +2 -0
- package/dist/lib/task-execution-core.d.ts +7 -0
- package/dist/lib/task-execution-core.d.ts.map +1 -0
- package/dist/lib/task-execution-core.js +381 -0
- package/dist/lib/task-execution.d.ts +7 -0
- package/dist/lib/task-execution.d.ts.map +1 -0
- package/dist/lib/task-execution.js +40 -0
- package/dist/lib/task-loop-execution.d.ts +7 -0
- package/dist/lib/task-loop-execution.d.ts.map +1 -0
- package/dist/lib/task-loop-execution.js +156 -0
- package/dist/lib/task-planning.d.ts +29 -0
- package/dist/lib/task-planning.d.ts.map +1 -0
- package/dist/lib/task-planning.js +103 -0
- package/dist/lib/task-review.d.ts +27 -0
- package/dist/lib/task-review.d.ts.map +1 -0
- package/dist/lib/task-review.js +103 -0
- package/dist/lib/validation.d.ts +26 -0
- package/dist/lib/validation.d.ts.map +1 -0
- package/dist/lib/validation.js +98 -0
- package/dist/prompts/documentation-detection.d.ts +2 -0
- package/dist/prompts/documentation-detection.d.ts.map +1 -0
- package/dist/prompts/documentation-detection.js +24 -0
- package/dist/prompts/documentation-recap.d.ts +3 -0
- package/dist/prompts/documentation-recap.d.ts.map +1 -0
- package/dist/prompts/documentation-recap.js +13 -0
- package/dist/prompts/index.d.ts +15 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +30 -0
- package/dist/prompts/prd-combination.d.ts +2 -0
- package/dist/prompts/prd-combination.d.ts.map +1 -0
- package/dist/prompts/prd-combination.js +35 -0
- package/dist/prompts/prd-generation.d.ts +2 -0
- package/dist/prompts/prd-generation.d.ts.map +1 -0
- package/dist/prompts/prd-generation.js +49 -0
- package/dist/prompts/prd-parsing.d.ts +3 -0
- package/dist/prompts/prd-parsing.d.ts.map +1 -0
- package/dist/prompts/prd-parsing.js +172 -0
- package/dist/prompts/prd-question-answer.d.ts +3 -0
- package/dist/prompts/prd-question-answer.d.ts.map +1 -0
- package/dist/prompts/prd-question-answer.js +27 -0
- package/dist/prompts/prd-question.d.ts +3 -0
- package/dist/prompts/prd-question.d.ts.map +1 -0
- package/dist/prompts/prd-question.js +40 -0
- package/dist/prompts/prd-rework.d.ts +3 -0
- package/dist/prompts/prd-rework.d.ts.map +1 -0
- package/dist/prompts/prd-rework.js +81 -0
- package/dist/prompts/prd-suggest-stack.d.ts +3 -0
- package/dist/prompts/prd-suggest-stack.d.ts.map +1 -0
- package/dist/prompts/prd-suggest-stack.js +99 -0
- package/dist/prompts/task-breakdown.d.ts +3 -0
- package/dist/prompts/task-breakdown.d.ts.map +1 -0
- package/dist/prompts/task-breakdown.js +151 -0
- package/dist/prompts/task-enhancement.d.ts +3 -0
- package/dist/prompts/task-enhancement.d.ts.map +1 -0
- package/dist/prompts/task-enhancement.js +140 -0
- package/dist/prompts/task-execution.d.ts +3 -0
- package/dist/prompts/task-execution.d.ts.map +1 -0
- package/dist/prompts/task-execution.js +24 -0
- package/dist/prompts/task-planning.d.ts +3 -0
- package/dist/prompts/task-planning.d.ts.map +1 -0
- package/dist/prompts/task-planning.js +66 -0
- package/dist/prompts/workflow-assistance.d.ts +32 -0
- package/dist/prompts/workflow-assistance.d.ts.map +1 -0
- package/dist/prompts/workflow-assistance.js +130 -0
- package/dist/prompts/workflow-prompts.d.ts +9 -0
- package/dist/prompts/workflow-prompts.d.ts.map +1 -0
- package/dist/prompts/workflow-prompts.js +93 -0
- package/dist/services/benchmark.d.ts +26 -0
- package/dist/services/benchmark.d.ts.map +1 -0
- package/dist/services/benchmark.js +343 -0
- package/dist/services/prd.d.ts +136 -0
- package/dist/services/prd.d.ts.map +1 -0
- package/dist/services/prd.js +550 -0
- package/dist/services/tasks.d.ts +388 -0
- package/dist/services/tasks.d.ts.map +1 -0
- package/dist/services/tasks.js +1150 -0
- package/dist/services/workflow-ai-assistant.d.ts +74 -0
- package/dist/services/workflow-ai-assistant.d.ts.map +1 -0
- package/dist/services/workflow-ai-assistant.js +175 -0
- package/dist/services/workflow-benchmark.d.ts +34 -0
- package/dist/services/workflow-benchmark.d.ts.map +1 -0
- package/dist/services/workflow-benchmark.js +318 -0
- package/dist/services/workflow.d.ts +107 -0
- package/dist/services/workflow.d.ts.map +1 -0
- package/dist/services/workflow.js +580 -0
- package/dist/test/hooks.test.d.ts +2 -0
- package/dist/test/hooks.test.d.ts.map +1 -0
- package/dist/test/hooks.test.js +67 -0
- package/dist/test/integration/callbacks.test.d.ts +2 -0
- package/dist/test/integration/callbacks.test.d.ts.map +1 -0
- package/dist/test/integration/callbacks.test.js +64 -0
- package/dist/test/lib/ai-service/task-operations.test.d.ts +2 -0
- package/dist/test/lib/ai-service/task-operations.test.d.ts.map +1 -0
- package/dist/test/lib/ai-service/task-operations.test.js +362 -0
- package/dist/test/lib/config.test.d.ts +2 -0
- package/dist/test/lib/config.test.d.ts.map +1 -0
- package/dist/test/lib/config.test.js +128 -0
- package/dist/test/lib/git-utils.test.d.ts +2 -0
- package/dist/test/lib/git-utils.test.d.ts.map +1 -0
- package/dist/test/lib/git-utils.test.js +168 -0
- package/dist/test/mocks/mock-ai-operations.d.ts +15 -0
- package/dist/test/mocks/mock-ai-operations.d.ts.map +1 -0
- package/dist/test/mocks/mock-ai-operations.js +107 -0
- package/dist/test/mocks/mock-context-builder.d.ts +10 -0
- package/dist/test/mocks/mock-context-builder.d.ts.map +1 -0
- package/dist/test/mocks/mock-context-builder.js +81 -0
- package/dist/test/mocks/mock-model-provider.d.ts +7 -0
- package/dist/test/mocks/mock-model-provider.d.ts.map +1 -0
- package/dist/test/mocks/mock-model-provider.js +21 -0
- package/dist/test/mocks/mock-service-factory.d.ts +11 -0
- package/dist/test/mocks/mock-service-factory.d.ts.map +1 -0
- package/dist/test/mocks/mock-service-factory.js +61 -0
- package/dist/test/mocks/mock-storage.d.ts +50 -0
- package/dist/test/mocks/mock-storage.d.ts.map +1 -0
- package/dist/test/mocks/mock-storage.js +145 -0
- package/dist/test/model-parsing.test.d.ts +2 -0
- package/dist/test/model-parsing.test.d.ts.map +1 -0
- package/dist/test/model-parsing.test.js +73 -0
- package/dist/test/services/task-service.test.d.ts +2 -0
- package/dist/test/services/task-service.test.d.ts.map +1 -0
- package/dist/test/services/task-service.test.js +459 -0
- package/dist/test/storage.test.d.ts +2 -0
- package/dist/test/storage.test.d.ts.map +1 -0
- package/dist/test/storage.test.js +207 -0
- package/dist/test/task-loop-git.test.d.ts +2 -0
- package/dist/test/task-loop-git.test.d.ts.map +1 -0
- package/dist/test/task-loop-git.test.js +95 -0
- package/dist/test/test-mock-setup.d.ts +26 -0
- package/dist/test/test-mock-setup.d.ts.map +1 -0
- package/dist/test/test-mock-setup.js +41 -0
- package/dist/test/test-setup.d.ts +9 -0
- package/dist/test/test-setup.d.ts.map +1 -0
- package/dist/test/test-setup.js +44 -0
- package/dist/test/test-utils.d.ts +22 -0
- package/dist/test/test-utils.d.ts.map +1 -0
- package/dist/test/test-utils.js +37 -0
- package/dist/test/utils/ai-operation-utility.test.d.ts +2 -0
- package/dist/test/utils/ai-operation-utility.test.d.ts.map +1 -0
- package/dist/test/utils/ai-operation-utility.test.js +290 -0
- package/dist/test/utils/error-handling.test.d.ts +2 -0
- package/dist/test/utils/error-handling.test.d.ts.map +1 -0
- package/dist/test/utils/error-handling.test.js +231 -0
- package/dist/test/utils/file-utils.test.d.ts +2 -0
- package/dist/test/utils/file-utils.test.d.ts.map +1 -0
- package/dist/test/utils/file-utils.test.js +76 -0
- package/dist/test/utils/id-generator.test.d.ts +2 -0
- package/dist/test/utils/id-generator.test.d.ts.map +1 -0
- package/dist/test/utils/id-generator.test.js +41 -0
- package/dist/test/utils/model-parser.test.d.ts +2 -0
- package/dist/test/utils/model-parser.test.d.ts.map +1 -0
- package/dist/test/utils/model-parser.test.js +65 -0
- package/dist/test/validation.test.d.ts +2 -0
- package/dist/test/validation.test.d.ts.map +1 -0
- package/dist/test/validation.test.js +22 -0
- package/dist/types/callbacks.d.ts +30 -0
- package/dist/types/callbacks.d.ts.map +1 -0
- package/dist/types/callbacks.js +2 -0
- package/dist/types/index.d.ts +435 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +30 -0
- package/dist/types/mcp.d.ts +3 -0
- package/dist/types/mcp.d.ts.map +1 -0
- package/dist/types/mcp.js +3 -0
- package/dist/types/options.d.ts +112 -0
- package/dist/types/options.d.ts.map +1 -0
- package/dist/types/options.js +2 -0
- package/dist/types/results.d.ts +200 -0
- package/dist/types/results.d.ts.map +1 -0
- package/dist/types/results.js +2 -0
- package/dist/types/workflow-options.d.ts +82 -0
- package/dist/types/workflow-options.d.ts.map +1 -0
- package/dist/types/workflow-options.js +2 -0
- package/dist/types/workflow-results.d.ts +82 -0
- package/dist/types/workflow-results.d.ts.map +1 -0
- package/dist/types/workflow-results.js +2 -0
- package/dist/utils/ai-config-builder.d.ts +14 -0
- package/dist/utils/ai-config-builder.d.ts.map +1 -0
- package/dist/utils/ai-config-builder.js +22 -0
- package/dist/utils/ai-operation-utility.d.ts +142 -0
- package/dist/utils/ai-operation-utility.d.ts.map +1 -0
- package/dist/utils/ai-operation-utility.js +303 -0
- package/dist/utils/ai-service-factory.d.ts +34 -0
- package/dist/utils/ai-service-factory.d.ts.map +1 -0
- package/dist/utils/ai-service-factory.js +99 -0
- package/dist/utils/error-utils.d.ts +70 -0
- package/dist/utils/error-utils.d.ts.map +1 -0
- package/dist/utils/error-utils.js +104 -0
- package/dist/utils/file-utils.d.ts +107 -0
- package/dist/utils/file-utils.d.ts.map +1 -0
- package/dist/utils/file-utils.js +171 -0
- package/dist/utils/id-generator.d.ts +92 -0
- package/dist/utils/id-generator.d.ts.map +1 -0
- package/dist/utils/id-generator.js +146 -0
- package/dist/utils/metadata-utils.d.ts +40 -0
- package/dist/utils/metadata-utils.d.ts.map +1 -0
- package/dist/utils/metadata-utils.js +43 -0
- package/dist/utils/model-executor-parser.d.ts +38 -0
- package/dist/utils/model-executor-parser.d.ts.map +1 -0
- package/dist/utils/model-executor-parser.js +69 -0
- package/dist/utils/model-parser.d.ts +6 -0
- package/dist/utils/model-parser.d.ts.map +1 -0
- package/dist/utils/model-parser.js +49 -0
- package/dist/utils/stack-formatter.d.ts +12 -0
- package/dist/utils/stack-formatter.d.ts.map +1 -0
- package/dist/utils/stack-formatter.js +36 -0
- package/dist/utils/storage-utils.d.ts +49 -0
- package/dist/utils/storage-utils.d.ts.map +1 -0
- package/dist/utils/storage-utils.js +80 -0
- package/dist/utils/streaming-utils.d.ts +38 -0
- package/dist/utils/streaming-utils.d.ts.map +1 -0
- package/dist/utils/streaming-utils.js +64 -0
- package/dist/utils/task-o-matic-error.d.ts +206 -0
- package/dist/utils/task-o-matic-error.d.ts.map +1 -0
- package/dist/utils/task-o-matic-error.js +304 -0
- package/package.json +40 -0
- package/src/index.ts +36 -0
- package/src/lib/ai-service/ai-operations.ts +310 -0
- package/src/lib/ai-service/base-operations.ts +139 -0
- package/src/lib/ai-service/documentation-operations.ts +438 -0
- package/src/lib/ai-service/filesystem-tools.ts +73 -0
- package/src/lib/ai-service/gemini-proxy.ts.bak +52 -0
- package/src/lib/ai-service/json-parser.ts +203 -0
- package/src/lib/ai-service/mcp-client.ts +54 -0
- package/src/lib/ai-service/model-provider.ts +192 -0
- package/src/lib/ai-service/prd-operations.ts +854 -0
- package/src/lib/ai-service/research-tools.ts +207 -0
- package/src/lib/ai-service/retry-handler.ts +89 -0
- package/src/lib/ai-service/task-operations.ts +342 -0
- package/src/lib/benchmark/registry.ts +307 -0
- package/src/lib/benchmark/runner.ts +190 -0
- package/src/lib/benchmark/storage.ts +140 -0
- package/src/lib/benchmark/types.ts +121 -0
- package/src/lib/better-t-stack-cli.ts +524 -0
- package/src/lib/bootstrap/cli-bootstrap.ts +397 -0
- package/src/lib/bootstrap/index.ts +2 -0
- package/src/lib/bootstrap/medusa-bootstrap.ts +261 -0
- package/src/lib/config-validation.ts +278 -0
- package/src/lib/config.ts +435 -0
- package/src/lib/context-builder.ts +383 -0
- package/src/lib/executors/claude-code-executor.ts +83 -0
- package/src/lib/executors/codex-executor.ts +85 -0
- package/src/lib/executors/executor-factory.ts +28 -0
- package/src/lib/executors/gemini-executor.ts +80 -0
- package/src/lib/executors/kilo-executor.ts +83 -0
- package/src/lib/executors/opencode-executor.ts +81 -0
- package/src/lib/git-utils.ts +334 -0
- package/src/lib/hooks.ts +121 -0
- package/src/lib/index.ts +166 -0
- package/src/lib/logger.ts +43 -0
- package/src/lib/notifications.ts +103 -0
- package/src/lib/prompt-builder.ts +471 -0
- package/src/lib/prompt-registry.ts +491 -0
- package/src/lib/provider-defaults.json +32 -0
- package/src/lib/storage/file-system.ts +864 -0
- package/src/lib/storage/storage-callbacks.ts +120 -0
- package/src/lib/storage/types.ts +58 -0
- package/src/lib/task-execution-core.ts +591 -0
- package/src/lib/task-execution.ts +59 -0
- package/src/lib/task-loop-execution.ts +214 -0
- package/src/lib/task-planning.ts +157 -0
- package/src/lib/task-review.ts +138 -0
- package/src/lib/validation.ts +140 -0
- package/src/prompts/documentation-detection.ts +21 -0
- package/src/prompts/documentation-recap.ts +11 -0
- package/src/prompts/index.ts +14 -0
- package/src/prompts/prd-combination.ts +32 -0
- package/src/prompts/prd-generation.ts +46 -0
- package/src/prompts/prd-parsing.ts +170 -0
- package/src/prompts/prd-question-answer.ts +25 -0
- package/src/prompts/prd-question.ts +38 -0
- package/src/prompts/prd-rework.ts +79 -0
- package/src/prompts/prd-suggest-stack.ts +97 -0
- package/src/prompts/task-breakdown.ts +149 -0
- package/src/prompts/task-enhancement.ts +138 -0
- package/src/prompts/task-execution.ts +22 -0
- package/src/prompts/task-planning.ts +64 -0
- package/src/prompts/workflow-assistance.ts +151 -0
- package/src/prompts/workflow-prompts.ts +97 -0
- package/src/services/benchmark.ts +433 -0
- package/src/services/prd.ts +845 -0
- package/src/services/tasks.ts +1515 -0
- package/src/services/workflow-ai-assistant.ts +298 -0
- package/src/services/workflow-benchmark.ts +339 -0
- package/src/services/workflow.ts +779 -0
- package/src/test/hooks.test.ts +77 -0
- package/src/test/integration/callbacks.test.ts +39 -0
- package/src/test/lib/ai-service/task-operations.test.ts +430 -0
- package/src/test/lib/config.test.ts +150 -0
- package/src/test/lib/git-utils.test.ts +198 -0
- package/src/test/mocks/mock-ai-operations.ts +205 -0
- package/src/test/mocks/mock-context-builder.ts +84 -0
- package/src/test/mocks/mock-model-provider.ts +21 -0
- package/src/test/mocks/mock-service-factory.ts +64 -0
- package/src/test/mocks/mock-storage.ts +204 -0
- package/src/test/model-parsing.test.ts +78 -0
- package/src/test/services/task-service.test.ts +551 -0
- package/src/test/storage.test.ts +206 -0
- package/src/test/task-loop-git.test.ts +142 -0
- package/src/test/test-mock-setup.ts +46 -0
- package/src/test/test-setup.ts +48 -0
- package/src/test/test-utils.ts +45 -0
- package/src/test/utils/ai-operation-utility.test.ts +306 -0
- package/src/test/utils/error-handling.test.ts +241 -0
- package/src/test/utils/file-utils.test.ts +80 -0
- package/src/test/utils/id-generator.test.ts +44 -0
- package/src/test/utils/model-parser.test.ts +67 -0
- package/src/test/validation.test.ts +19 -0
- package/src/types/callbacks.ts +14 -0
- package/src/types/index.ts +628 -0
- package/src/types/mcp.ts +5 -0
- package/src/types/options.ts +165 -0
- package/src/types/results.ts +216 -0
- package/src/types/workflow-options.ts +113 -0
- package/src/types/workflow-results.ts +87 -0
- package/src/utils/ai-config-builder.ts +33 -0
- package/src/utils/ai-operation-utility.ts +380 -0
- package/src/utils/ai-service-factory.ts +125 -0
- package/src/utils/error-utils.ts +124 -0
- package/src/utils/file-utils.ts +197 -0
- package/src/utils/id-generator.ts +168 -0
- package/src/utils/metadata-utils.ts +48 -0
- package/src/utils/model-executor-parser.ts +80 -0
- package/src/utils/model-parser.ts +58 -0
- package/src/utils/stack-formatter.ts +53 -0
- package/src/utils/storage-utils.ts +94 -0
- package/src/utils/streaming-utils.ts +91 -0
- package/src/utils/task-o-matic-error.ts +393 -0
- package/tsconfig.json +20 -0
- package/tsconfig.tsbuildinfo +1 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export const PRD_COMBINATION_SYSTEM_PROMPT = `You are a Senior Product Lead tasked with synthesizing multiple Product Requirements Documents (PRDs) into a single, master PRD.
|
|
2
|
+
|
|
3
|
+
You will be provided with:
|
|
4
|
+
1. The original product description.
|
|
5
|
+
2. Multiple PRDs generated by different AI models.
|
|
6
|
+
|
|
7
|
+
Your goal is to create the "Best of Breed" Master PRD.
|
|
8
|
+
|
|
9
|
+
Process:
|
|
10
|
+
1. Analyze all input PRDs.
|
|
11
|
+
2. Identify the strongest points, most detailed features, and best technical architectural decisions from each.
|
|
12
|
+
3. Resolve any conflicts by choosing the most robust and feasible option.
|
|
13
|
+
4. Merge them into a single, cohesive document following the standard PRD structure.
|
|
14
|
+
|
|
15
|
+
Structure the Master PRD as follows:
|
|
16
|
+
|
|
17
|
+
# Master Product Requirements Document
|
|
18
|
+
|
|
19
|
+
## 1. Overview
|
|
20
|
+
## 2. Objectives
|
|
21
|
+
## 3. Target Audience
|
|
22
|
+
## 4. Features (MVP & Future)
|
|
23
|
+
## 5. Technical Requirements
|
|
24
|
+
## 6. Timeline & Milestones
|
|
25
|
+
## 7. Open Questions / Risks
|
|
26
|
+
|
|
27
|
+
Guidelines:
|
|
28
|
+
- Do not simply concatenate the documents. Synthesize them.
|
|
29
|
+
- If one PRD has a better database schema and another has better UI/UX flows, combine them.
|
|
30
|
+
- Maintain a consistent tone and voice.
|
|
31
|
+
- Ensure the final document is self-contained and complete.
|
|
32
|
+
`;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export const PRD_GENERATION_SYSTEM_PROMPT = `You are an expert Product Manager and Technical Architect. Your goal is to create a comprehensive Product Requirements Document (PRD) based on the user's description.
|
|
2
|
+
|
|
3
|
+
The PRD should be detailed, actionable, and structured in Markdown.
|
|
4
|
+
|
|
5
|
+
Structure the PRD with the following sections:
|
|
6
|
+
|
|
7
|
+
# Product Requirements Document
|
|
8
|
+
|
|
9
|
+
## 1. Overview
|
|
10
|
+
- Executive summary of the product
|
|
11
|
+
- Problem statement
|
|
12
|
+
- Value proposition
|
|
13
|
+
|
|
14
|
+
## 2. Objectives
|
|
15
|
+
- Key goals (Business & Technical)
|
|
16
|
+
- Success metrics (KPIs)
|
|
17
|
+
|
|
18
|
+
## 3. Target Audience
|
|
19
|
+
- User personas
|
|
20
|
+
- User stories
|
|
21
|
+
|
|
22
|
+
## 4. Features
|
|
23
|
+
### 4.1 Core Features (MVP)
|
|
24
|
+
- Detailed description of essential features
|
|
25
|
+
- Acceptance criteria for each
|
|
26
|
+
|
|
27
|
+
### 4.2 Future Features (Post-MVP)
|
|
28
|
+
- Nice-to-have features for later iterations
|
|
29
|
+
|
|
30
|
+
## 5. Technical Requirements
|
|
31
|
+
- Tech stack recommendations (Frontend, Backend, Database, etc.)
|
|
32
|
+
- System architecture overview
|
|
33
|
+
- Security and Performance requirements
|
|
34
|
+
|
|
35
|
+
## 6. Timeline & Milestones
|
|
36
|
+
- Rough estimation of phases
|
|
37
|
+
|
|
38
|
+
## 7. Open Questions / Risks
|
|
39
|
+
- Any ambiguities or potential blockers
|
|
40
|
+
|
|
41
|
+
Guidelines:
|
|
42
|
+
- Be specific and avoid vague language.
|
|
43
|
+
- Use professional technical terminology.
|
|
44
|
+
- Focus on feasibility and clarity.
|
|
45
|
+
- If the user provides specific technical constraints, adhere to them strictly.
|
|
46
|
+
`;
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
export const PRD_PARSING_PROMPT = `
|
|
2
|
+
You are an AI assistant specialized in analyzing Product Requirements Documents (PRDs) and generating a structured, logically ordered, dependency-aware and sequenced list of development phases in JSON format.
|
|
3
|
+
|
|
4
|
+
## 🏗️ IMPORTANT: PROJECT INFRASTRUCTURE IS READY
|
|
5
|
+
This project is **already bootstrapped and configured**. The foundation is complete and ready for development. **DO NOT** create tasks for setting up the basic infrastructure.
|
|
6
|
+
|
|
7
|
+
Analyze the provided PRD content and generate an appropriate number of top-level development phases. Each phase should represent 1-3 weeks of focused development work and focus on the most direct and effective way to implement the requirements without unnecessary complexity or overengineering.
|
|
8
|
+
|
|
9
|
+
If the complexity or the level of detail of the PRD is high, generate more phases relative to the complexity of the PRD. Let the PRD content determine the appropriate number of phases - there is no fixed target.
|
|
10
|
+
|
|
11
|
+
## CRITICAL: Task ID and Dependency Format
|
|
12
|
+
You MUST generate unique task IDs and reference them properly in dependencies:
|
|
13
|
+
|
|
14
|
+
1. **Task ID Generation**:
|
|
15
|
+
- Each task must have an "id" field with simple numeric format: "1", "2", "3", etc.
|
|
16
|
+
- IDs must be sequential starting from "1"
|
|
17
|
+
- Each task ID must be unique
|
|
18
|
+
- NO prefixes like "task-" - use simple numbers only
|
|
19
|
+
|
|
20
|
+
2. **Dependency References**:
|
|
21
|
+
- Dependencies MUST reference the exact task IDs (not titles)
|
|
22
|
+
- Use format: ["1", "2", "3"]
|
|
23
|
+
- NEVER use task titles in dependencies
|
|
24
|
+
- Only reference tasks that appear EARLIER in the list
|
|
25
|
+
- Ensure all dependency references are valid
|
|
26
|
+
|
|
27
|
+
## 📋 Phase Sizing (1-3 WEEKS per phase):
|
|
28
|
+
- **Small**: 1 week (5-7 days) - Focused module with clear boundaries
|
|
29
|
+
- **Medium**: 2 weeks (8-12 days) - Complex feature with multiple components
|
|
30
|
+
- **Large**: 3 weeks (13-15 days) - Major system with integrations and polish
|
|
31
|
+
|
|
32
|
+
## 🎯 PHASE EXAMPLES (1-3 WEEKS EACH):
|
|
33
|
+
✅ "User Authentication & Profile Management" - Complete user system with registration, login, profiles, and security
|
|
34
|
+
✅ "Interactive Map & Location Services" - Full mapping functionality with search, geolocation, and place markers
|
|
35
|
+
✅ "Rating & Review System" - Complete rating workflow with reviews, scores, and moderation
|
|
36
|
+
✅ "Content Management System" - Full CRUD system for managing content with validation and permissions
|
|
37
|
+
|
|
38
|
+
## ❌ FORBIDDEN MICRO-TASKS (THESE ARE IMPLEMENTATION DETAILS, NOT PHASES):
|
|
39
|
+
- "Implement API endpoint" (this is a planning step)
|
|
40
|
+
- "Build UI component" (this is a planning step)
|
|
41
|
+
- "Create database schema" (this is a planning step)
|
|
42
|
+
- "Setup authentication" (this is part of a larger phase)
|
|
43
|
+
|
|
44
|
+
## ✅ Guidelines:
|
|
45
|
+
1. Create an appropriate number of phases based on PRD complexity
|
|
46
|
+
2. Each phase should be atomic and focused on a major feature area
|
|
47
|
+
3. Order phases logically - consider dependencies and implementation sequence
|
|
48
|
+
4. Early phases should focus on foundation and core functionality first, then advanced features
|
|
49
|
+
5. Include clear technical considerations for each phase
|
|
50
|
+
6. Set appropriate dependency IDs (a phase can only depend on phases with lower IDs)
|
|
51
|
+
7. Assign effort based on the scope and complexity of work involved
|
|
52
|
+
8. Include detailed implementation guidance in the description
|
|
53
|
+
9. If the PRD contains specific requirements for libraries, frameworks, or tech stacks, STRICTLY ADHERE to these requirements
|
|
54
|
+
10. Focus on filling in any gaps left by the PRD while preserving all explicit requirements
|
|
55
|
+
11. Always aim to provide the most direct path to implementation, avoiding over-engineering
|
|
56
|
+
|
|
57
|
+
## ✅ Dependency Validation Rules:
|
|
58
|
+
- Task "1" must have no dependencies (it's the first task)
|
|
59
|
+
- Task N can only depend on tasks 1 through (N-1)
|
|
60
|
+
- No circular dependencies allowed
|
|
61
|
+
- No forward references
|
|
62
|
+
- Every task must have a unique sequential ID
|
|
63
|
+
|
|
64
|
+
Format your response as JSON:
|
|
65
|
+
{
|
|
66
|
+
"tasks": [
|
|
67
|
+
{
|
|
68
|
+
"id": "1",
|
|
69
|
+
"title": "User Authentication & Security System",
|
|
70
|
+
"description": "Implement complete user authentication system including registration, login/logout, password reset, session management, security measures, and user profile functionality with proper validation and error handling",
|
|
71
|
+
"effort": "medium",
|
|
72
|
+
"dependencies": [],
|
|
73
|
+
"technicalConsiderations": "Leverage existing Better-Auth integration and Convex backend for secure user management"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"id": "2",
|
|
77
|
+
"title": "Core Business Data Management",
|
|
78
|
+
"description": "Set up database schemas, models, and business logic for the main application entities including data validation, relationships, and core CRUD operations",
|
|
79
|
+
"effort": "medium",
|
|
80
|
+
"dependencies": ["1"],
|
|
81
|
+
"technicalConsiderations": "Design efficient Convex schemas with proper indexing and relationships"
|
|
82
|
+
}
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
## Technology Stack
|
|
87
|
+
{STACK_INFO}
|
|
88
|
+
|
|
89
|
+
PRD to parse:
|
|
90
|
+
{PRD_CONTENT}
|
|
91
|
+
`;
|
|
92
|
+
|
|
93
|
+
export const PRD_PARSING_SYSTEM_PROMPT = `
|
|
94
|
+
You are an AI assistant specialized in analyzing Product Requirements Documents (PRDs) and generating a structured, logically ordered, dependency-aware and sequenced list of development phases in JSON format.
|
|
95
|
+
|
|
96
|
+
## CRITICAL INSTRUCTION: Create Appropriate-Sized Phases
|
|
97
|
+
You MUST generate development phases that represent 1-3 weeks of focused work each. The number of phases should be determined by the PRD complexity, not by arbitrary targets.
|
|
98
|
+
|
|
99
|
+
## CRITICAL INSTRUCTION: Task ID Generation and Dependencies
|
|
100
|
+
You MUST generate unique task IDs and use them for dependencies:
|
|
101
|
+
|
|
102
|
+
1. **Generate Task IDs**:
|
|
103
|
+
- Each task needs an "id" field: "1", "2", "3", etc.
|
|
104
|
+
- IDs must be sequential and unique
|
|
105
|
+
- Start with "1"
|
|
106
|
+
- NO prefixes like "task-" - use simple numbers only
|
|
107
|
+
|
|
108
|
+
2. **Dependency References**:
|
|
109
|
+
- Use the exact task IDs in dependencies arrays
|
|
110
|
+
- NEVER use task titles
|
|
111
|
+
- Only reference earlier tasks (lower numbers)
|
|
112
|
+
- Validate that all dependency references exist
|
|
113
|
+
|
|
114
|
+
3. **Required Fields for Each Task**:
|
|
115
|
+
- id: "N" format (required)
|
|
116
|
+
- title: string (required)
|
|
117
|
+
- description: string (required)
|
|
118
|
+
- effort: "small"|"medium"|"large" (required - based on 1-3 week duration)
|
|
119
|
+
- dependencies: array of task IDs (required)
|
|
120
|
+
- technicalConsiderations: string (optional)
|
|
121
|
+
|
|
122
|
+
## Phase Analysis Guidelines:
|
|
123
|
+
1. **Scope Appropriately**: Each phase should represent 1-3 weeks of substantial development work
|
|
124
|
+
2. **Business-Focused**: Phase titles should reflect business value and user-facing features
|
|
125
|
+
3. **Logical Sequencing**: Order phases based on dependencies and implementation priorities
|
|
126
|
+
4. **Complexity-Based**: More complex PRDs should result in more phases, simpler PRDs in fewer phases
|
|
127
|
+
5. **Direct Implementation**: Focus on the most direct path to implementing requirements
|
|
128
|
+
|
|
129
|
+
## FORBIDDEN MICRO-TASKS (DO NOT CREATE):
|
|
130
|
+
- Individual API endpoints, UI components, database schemas
|
|
131
|
+
- Technical implementation details that belong in planning
|
|
132
|
+
- Tasks that take less than 1 week to complete
|
|
133
|
+
|
|
134
|
+
## REQUIRED PHASE EXAMPLES (1-3 WEEKS EACH):
|
|
135
|
+
- "User Authentication & Profile Management" → Complete user system
|
|
136
|
+
- "Interactive Map & Location Services" → Full mapping functionality
|
|
137
|
+
- "Rating & Review System" → Complete rating workflow
|
|
138
|
+
- "Content Management System" → Full CRUD for content
|
|
139
|
+
|
|
140
|
+
## Dependency Validation Rules:
|
|
141
|
+
- Task "1" MUST have empty dependencies array: []
|
|
142
|
+
- Task N can only reference tasks 1 through (N-1)
|
|
143
|
+
- No circular dependencies
|
|
144
|
+
- No forward references
|
|
145
|
+
- All dependency references must be valid task IDs
|
|
146
|
+
- Every task must have a unique sequential ID
|
|
147
|
+
- Verify all referenced IDs exist in the tasks array
|
|
148
|
+
|
|
149
|
+
## Quality Standards:
|
|
150
|
+
- Each phase should be atomic and focused on a major feature area
|
|
151
|
+
- Include detailed implementation guidance in descriptions
|
|
152
|
+
- Consider the existing technology stack and infrastructure
|
|
153
|
+
- Ensure phases build upon each other logically
|
|
154
|
+
- Focus on business value and user-facing outcomes
|
|
155
|
+
|
|
156
|
+
## Output Validation:
|
|
157
|
+
Before returning your response, verify:
|
|
158
|
+
1. Every task represents 1-3 weeks of substantial work
|
|
159
|
+
2. Tasks are major phases, not implementation details
|
|
160
|
+
3. Every task has a unique sequential ID ("1", "2", "3", etc.)
|
|
161
|
+
4. All dependency arrays contain valid task IDs (not titles)
|
|
162
|
+
5. No task depends on itself or a later task
|
|
163
|
+
6. Task "1" has no dependencies
|
|
164
|
+
7. All referenced task IDs exist in the tasks array
|
|
165
|
+
8. JSON structure is valid and parseable
|
|
166
|
+
9. All required fields are present for each task
|
|
167
|
+
10. The number of tasks is appropriate for the PRD complexity
|
|
168
|
+
|
|
169
|
+
Return only valid JSON that can be parsed. Ensure all required fields are present and properly formatted.
|
|
170
|
+
`;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export const PRD_QUESTION_ANSWER_PROMPT = `You are a product expert helping to clarify a PRD.
|
|
2
|
+
|
|
3
|
+
PRD Content:
|
|
4
|
+
{PRD_CONTENT}{CONTEXT_TEXT}
|
|
5
|
+
|
|
6
|
+
Please answer the following questions based on the PRD and context:
|
|
7
|
+
|
|
8
|
+
{QUESTIONS_TEXT}
|
|
9
|
+
|
|
10
|
+
Provide thoughtful, specific answers that will help refine the PRD.
|
|
11
|
+
Format your response as JSON with the following structure:
|
|
12
|
+
{
|
|
13
|
+
"answers": {
|
|
14
|
+
"1": "answer to question 1",
|
|
15
|
+
"2": "answer to question 2",
|
|
16
|
+
...
|
|
17
|
+
}
|
|
18
|
+
}`;
|
|
19
|
+
|
|
20
|
+
export const PRD_QUESTION_ANSWER_SYSTEM_PROMPT = `You are a product expert analyzing PRDs and answering clarifying questions.
|
|
21
|
+
Your answers should be:
|
|
22
|
+
- Specific and actionable
|
|
23
|
+
- Based on the PRD content and project context
|
|
24
|
+
- Helpful for refining the PRD
|
|
25
|
+
- Formatted as JSON`;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export const PRD_QUESTION_PROMPT = `
|
|
2
|
+
Analyze this PRD and generate meaningful clarifying questions to help improve its quality and completeness.
|
|
3
|
+
|
|
4
|
+
## Current PRD:
|
|
5
|
+
{PRD_CONTENT}
|
|
6
|
+
|
|
7
|
+
## Project Technology Stack:
|
|
8
|
+
{STACK_INFO}
|
|
9
|
+
|
|
10
|
+
Identify ambiguities, missing requirements, technical gaps, or potential conflicts.
|
|
11
|
+
Focus on questions that will help:
|
|
12
|
+
- Clarify user intent
|
|
13
|
+
- Define edge cases
|
|
14
|
+
- Specify technical implementation details aligned with the stack
|
|
15
|
+
- Resolve potential architectural issues
|
|
16
|
+
|
|
17
|
+
Return a JSON object with a "questions" array, where each item is a string containing a question.
|
|
18
|
+
`;
|
|
19
|
+
|
|
20
|
+
export const PRD_QUESTION_SYSTEM_PROMPT = `
|
|
21
|
+
You are an expert Product Manager and Technical Architect. Your goal is to analyze Product Requirements Documents (PRDs) and ask insightful questions to clarify requirements and ensure technical feasibility.
|
|
22
|
+
|
|
23
|
+
Output Format:
|
|
24
|
+
You must return a valid JSON object with the following structure:
|
|
25
|
+
{
|
|
26
|
+
"questions": [
|
|
27
|
+
"Question 1?",
|
|
28
|
+
"Question 2?",
|
|
29
|
+
...
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
Guidelines:
|
|
34
|
+
1. Ask 3-5 most critical questions. Do not overwhelm the user.
|
|
35
|
+
2. Focus on "what" and "why" rather than "how" unless it affects feasibility.
|
|
36
|
+
3. Be specific and reference parts of the PRD.
|
|
37
|
+
4. Consider the technology stack constraints.
|
|
38
|
+
`;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export const PRD_REWORK_PROMPT = `
|
|
2
|
+
Improve this PRD based on the following feedback and the existing project technology stack:
|
|
3
|
+
|
|
4
|
+
## User Feedback:
|
|
5
|
+
{USER_FEEDBACK}
|
|
6
|
+
|
|
7
|
+
## Project Technology Stack:
|
|
8
|
+
{STACK_INFO}
|
|
9
|
+
|
|
10
|
+
## Current PRD:
|
|
11
|
+
{PRD_CONTENT}
|
|
12
|
+
|
|
13
|
+
Provide an improved version of the PRD that:
|
|
14
|
+
- Addresses all the feedback points
|
|
15
|
+
- Maintains the core requirements and structure
|
|
16
|
+
- Improves clarity and completeness
|
|
17
|
+
- Fills in any gaps identified by the feedback
|
|
18
|
+
- Enhances technical specifications to align with the existing stack
|
|
19
|
+
- Maintains professional tone and formatting
|
|
20
|
+
- Leverages the existing technology stack capabilities
|
|
21
|
+
- Considers project structure and architecture patterns
|
|
22
|
+
- Ensures requirements are implementable with the current tools and frameworks
|
|
23
|
+
|
|
24
|
+
## Stack-Aware Considerations:
|
|
25
|
+
- Align technical requirements with the existing technology stack
|
|
26
|
+
- Consider authentication system capabilities and patterns
|
|
27
|
+
- Leverage database/ORM setup for data requirements
|
|
28
|
+
- Utilize addon capabilities where relevant
|
|
29
|
+
- Ensure compatibility with the current project architecture
|
|
30
|
+
- Consider package manager and deployment constraints
|
|
31
|
+
|
|
32
|
+
Focus on making the PRD more actionable and comprehensive while preserving the original intent and ensuring it's well-suited for the existing technology stack.
|
|
33
|
+
`;
|
|
34
|
+
|
|
35
|
+
export const PRD_REWORK_SYSTEM_PROMPT = `
|
|
36
|
+
You are an expert product manager and technical writer with deep expertise in modern web development stacks. Your role is to improve Product Requirements Documents based on user feedback while ensuring alignment with the existing project technology stack.
|
|
37
|
+
|
|
38
|
+
## Stack-Aware Improvement Guidelines:
|
|
39
|
+
|
|
40
|
+
### 1. **Feedback Integration**
|
|
41
|
+
- Address all feedback points thoroughly and specifically
|
|
42
|
+
- Ensure improvements don't conflict with existing architecture
|
|
43
|
+
- Maintain the original document's structure and intent
|
|
44
|
+
|
|
45
|
+
### 2. **Technical Stack Alignment**
|
|
46
|
+
- Enhance technical specifications to match the existing stack capabilities
|
|
47
|
+
- Ensure requirements are implementable with current tools and frameworks
|
|
48
|
+
- Leverage existing patterns and conventions in the stack
|
|
49
|
+
- Consider limitations and constraints of the current technology choices
|
|
50
|
+
|
|
51
|
+
### 3. **Architecture Considerations**
|
|
52
|
+
- Align with project structure and organization patterns
|
|
53
|
+
- Consider authentication, database, and deployment patterns
|
|
54
|
+
- Ensure compatibility with existing integrations and addons
|
|
55
|
+
- Maintain consistency with established development workflows
|
|
56
|
+
|
|
57
|
+
### 4. **Quality Enhancement**
|
|
58
|
+
- Enhance clarity and completeness with stack-specific details
|
|
59
|
+
- Add missing technical details where appropriate
|
|
60
|
+
- Improve formatting and organization
|
|
61
|
+
- Ensure all requirements are actionable and testable
|
|
62
|
+
- Maintain professional documentation standards
|
|
63
|
+
|
|
64
|
+
### 5. **Implementation Feasibility**
|
|
65
|
+
- Preserve the core scope and objectives
|
|
66
|
+
- Ensure requirements are realistic for the current stack
|
|
67
|
+
- Consider development effort and complexity
|
|
68
|
+
- Account for existing infrastructure and tooling
|
|
69
|
+
|
|
70
|
+
## Stack-Specific Focus Areas:
|
|
71
|
+
- Frontend framework patterns and capabilities
|
|
72
|
+
- Backend API and service architecture
|
|
73
|
+
- Authentication and authorization flows
|
|
74
|
+
- Data modeling and persistence patterns
|
|
75
|
+
- Deployment and operational considerations
|
|
76
|
+
- Integration with existing addons and tools
|
|
77
|
+
|
|
78
|
+
Return the improved PRD in a well-structured format that's ready for development teams working within the specified technology stack.
|
|
79
|
+
`;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
export const PRD_SUGGEST_STACK_SYSTEM_PROMPT = `You are an expert Software Architect specializing in modern full-stack development. Your goal is to analyze a Product Requirements Document (PRD) and suggest the optimal technology stack using the Better-T-Stack framework.
|
|
2
|
+
|
|
3
|
+
You must respond with valid JSON only. No markdown, no explanations outside the JSON structure.
|
|
4
|
+
|
|
5
|
+
Response Format:
|
|
6
|
+
{
|
|
7
|
+
"config": {
|
|
8
|
+
"projectName": "string (kebab-case)",
|
|
9
|
+
"frontend": "string or string[] for multiple",
|
|
10
|
+
"backend": "string",
|
|
11
|
+
"database": "string",
|
|
12
|
+
"orm": "string",
|
|
13
|
+
"api": "string",
|
|
14
|
+
"auth": "string",
|
|
15
|
+
"payments": "string",
|
|
16
|
+
"dbSetup": "string",
|
|
17
|
+
"runtime": "string",
|
|
18
|
+
"packageManager": "string",
|
|
19
|
+
"git": true,
|
|
20
|
+
"install": true,
|
|
21
|
+
"webDeploy": "string",
|
|
22
|
+
"serverDeploy": "string",
|
|
23
|
+
"addons": ["array of strings"],
|
|
24
|
+
"examples": ["array of strings"]
|
|
25
|
+
},
|
|
26
|
+
"reasoning": "string explaining your choices"
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
Guidelines:
|
|
30
|
+
- Choose technologies that best match the PRD requirements
|
|
31
|
+
- Consider scalability, maintainability, and developer experience
|
|
32
|
+
- Prefer modern, well-supported technologies
|
|
33
|
+
- Only use values from the allowed options listed in the prompt
|
|
34
|
+
- If a category is not needed, use "none"
|
|
35
|
+
- Be specific about WHY you chose each technology
|
|
36
|
+
`;
|
|
37
|
+
|
|
38
|
+
export const PRD_SUGGEST_STACK_PROMPT = `Analyze the following PRD and suggest the optimal technology stack.
|
|
39
|
+
|
|
40
|
+
## Available Stack Options
|
|
41
|
+
|
|
42
|
+
### Frontend (choose one or more)
|
|
43
|
+
- Web: \`tanstack-router\`, \`react-router\`, \`tanstack-start\`, \`next\`, \`nuxt\`, \`svelte\`, \`solid\`
|
|
44
|
+
- Native: \`native-bare\`, \`native-uniwind\`, \`native-unistyles\`
|
|
45
|
+
- Other: \`cli\`, \`medusa\`, \`none\`
|
|
46
|
+
|
|
47
|
+
### Backend
|
|
48
|
+
\`hono\`, \`express\`, \`fastify\`, \`elysia\`, \`convex\`, \`self\`, \`none\`
|
|
49
|
+
|
|
50
|
+
### Database
|
|
51
|
+
\`sqlite\`, \`postgres\`, \`mysql\`, \`mongodb\`, \`none\`
|
|
52
|
+
|
|
53
|
+
### ORM
|
|
54
|
+
\`drizzle\`, \`prisma\`, \`mongoose\`, \`none\`
|
|
55
|
+
|
|
56
|
+
### API Layer
|
|
57
|
+
\`trpc\`, \`orpc\`, \`none\`
|
|
58
|
+
|
|
59
|
+
### Authentication
|
|
60
|
+
\`better-auth\`, \`clerk\`, \`none\`
|
|
61
|
+
|
|
62
|
+
### Payments
|
|
63
|
+
\`polar\`, \`none\`
|
|
64
|
+
|
|
65
|
+
### Database Setup/Hosting
|
|
66
|
+
\`turso\`, \`neon\`, \`prisma-postgres\`, \`planetscale\`, \`mongodb-atlas\`, \`supabase\`, \`d1\`, \`docker\`, \`none\`
|
|
67
|
+
|
|
68
|
+
### Runtime
|
|
69
|
+
\`bun\`, \`node\`, \`workers\`, \`none\`
|
|
70
|
+
|
|
71
|
+
### Package Manager
|
|
72
|
+
\`npm\`, \`pnpm\`, \`bun\`
|
|
73
|
+
|
|
74
|
+
### Deployment
|
|
75
|
+
- Web: \`cloudflare\`, \`alchemy\`, \`none\`
|
|
76
|
+
- Server: \`cloudflare\`, \`alchemy\`, \`none\`
|
|
77
|
+
|
|
78
|
+
### Addons (choose multiple or "none")
|
|
79
|
+
\`turborepo\`, \`pwa\`, \`tauri\`, \`biome\`, \`husky\`, \`starlight\`, \`fumadocs\`, \`ultracite\`, \`oxlint\`, \`ruler\`, \`opentui\`, \`wxt\`, \`none\`
|
|
80
|
+
|
|
81
|
+
### Examples (choose multiple or "none")
|
|
82
|
+
\`todo\`, \`ai\`, \`none\`
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## PRD Content
|
|
87
|
+
|
|
88
|
+
{PRD_CONTENT}
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
{STACK_INFO}
|
|
93
|
+
|
|
94
|
+
{PROJECT_NAME}
|
|
95
|
+
|
|
96
|
+
Based on the PRD above, provide your technology stack recommendation as JSON.
|
|
97
|
+
`;
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
export const TASK_BREAKDOWN_PROMPT = `
|
|
2
|
+
You are a project management expert. Break down the following 1-3 week development phase into focused 1-3 day subtasks.
|
|
3
|
+
|
|
4
|
+
## 🚨 REQUIREMENTS - 1-3 DAYS PER SUBTASK 🚨
|
|
5
|
+
|
|
6
|
+
Each subtask MUST represent 1-3 DAYS of focused developer work. Each subtask should be a complete, deliverable piece of functionality.
|
|
7
|
+
|
|
8
|
+
### SUBTASK SCOPE (1-3 DAYS EACH):
|
|
9
|
+
- ✅ Complete feature implementations with full stack components
|
|
10
|
+
- ✅ Focused modules that can be demonstrated and tested independently
|
|
11
|
+
- ✅ Specific deliverables that contribute meaningfully to the parent phase
|
|
12
|
+
|
|
13
|
+
### EXAMPLE SUBTASKS (1-3 DAYS):
|
|
14
|
+
- ✅ "User authentication system with registration, login, password reset, database schema, API endpoints, and frontend forms"
|
|
15
|
+
- ✅ "Interactive map component with location search, marker display, geolocation, and integration with bakery data"
|
|
16
|
+
- ✅ "Rating system with star ratings, review submission, validation, storage, and display components"
|
|
17
|
+
|
|
18
|
+
## CRITICAL: Subtask ID and Dependency Format
|
|
19
|
+
You MUST generate unique subtask IDs and reference them properly in dependencies:
|
|
20
|
+
|
|
21
|
+
1. **Subtask ID Generation**:
|
|
22
|
+
- Each subtask must have an "id" field with format "N.M" where N is the parent task ID and M is the subtask index
|
|
23
|
+
- For example: "1.1", "1.2", "1.3", etc.
|
|
24
|
+
- IDs must be sequential starting from .1
|
|
25
|
+
- Each subtask ID must be unique
|
|
26
|
+
|
|
27
|
+
2. **Dependency References**:
|
|
28
|
+
- Dependencies MUST reference the exact subtask IDs (not titles)
|
|
29
|
+
- Use format: ["1.1", "1.2"]
|
|
30
|
+
- NEVER use subtask titles in dependencies
|
|
31
|
+
- Only reference subtasks that appear EARLIER in the list
|
|
32
|
+
- The first subtask should have no dependencies
|
|
33
|
+
|
|
34
|
+
## CRITICAL: Avoid Duplicate Subtasks
|
|
35
|
+
If existing subtasks are listed below, DO NOT create similar or duplicate subtasks. Focus on creating NEW subtasks that complement the existing ones.
|
|
36
|
+
|
|
37
|
+
## TASK SIZING - 1-3 DAYS:
|
|
38
|
+
- **1 DAY (8 hours)**: Focused feature with clear boundaries. Example: "Build user registration and login with database, API, and frontend forms"
|
|
39
|
+
- **2 DAYS (16 hours)**: Complex feature with multiple components. Example: "Implement map integration with search, markers, and user location"
|
|
40
|
+
- **3 DAYS (24 hours)**: Comprehensive feature with advanced functionality. Example: "Create complete rating system with reviews, validation, and admin moderation"
|
|
41
|
+
|
|
42
|
+
## 🚨 VALIDATION 🚨
|
|
43
|
+
Each subtask must be substantial enough to occupy a developer for 1-3 full days and represent meaningful, demonstrable progress.
|
|
44
|
+
|
|
45
|
+
Format your response as JSON:
|
|
46
|
+
{
|
|
47
|
+
"subtasks": [
|
|
48
|
+
{
|
|
49
|
+
"id": "1.1",
|
|
50
|
+
"title": "Build user authentication system",
|
|
51
|
+
"description": "Implement user registration, login/logout, password reset, database schema, secure API endpoints, and responsive frontend forms with proper validation and error handling",
|
|
52
|
+
"effort": "medium",
|
|
53
|
+
"dependencies": []
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "1.2",
|
|
57
|
+
"title": "Create interactive map integration",
|
|
58
|
+
"description": "Implement map component with bakery location markers, search functionality, geolocation support, and responsive design for mobile and desktop",
|
|
59
|
+
"effort": "medium",
|
|
60
|
+
"dependencies": ["1.1"]
|
|
61
|
+
}
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
## Task Details:
|
|
66
|
+
Title: {TASK_TITLE}
|
|
67
|
+
Description: {TASK_DESCRIPTION}
|
|
68
|
+
|
|
69
|
+
## Full Task Content:
|
|
70
|
+
{TASK_CONTENT}
|
|
71
|
+
|
|
72
|
+
## Technical Stack Context:
|
|
73
|
+
{STACK_INFO}
|
|
74
|
+
|
|
75
|
+
## Existing Subtasks (DO NOT DUPLICATE):
|
|
76
|
+
{EXISTING_SUBTASKS}
|
|
77
|
+
`;
|
|
78
|
+
|
|
79
|
+
export const TASK_BREAKDOWN_SYSTEM_PROMPT = `
|
|
80
|
+
🚨 CRITICAL SYSTEM PROMPT - BREAK DOWN PHASES INTO 1-3 DAY SUBTASKS 🚨
|
|
81
|
+
|
|
82
|
+
You are an expert technical project manager and software architect. Your role is to break down 1-3 week development phases into focused subtasks that represent 1-3 DAYS of work each.
|
|
83
|
+
|
|
84
|
+
## MANDATE: PROPER SUBTASK SIZING
|
|
85
|
+
Break down the parent phase into substantial subtasks that each represent 1-3 full days of focused development work.
|
|
86
|
+
|
|
87
|
+
### SUBTASK SCOPE (1-3 DAYS EACH):
|
|
88
|
+
- Complete features that can be demonstrated independently
|
|
89
|
+
- Focused modules with clear deliverables and boundaries
|
|
90
|
+
- Specific functionality that contributes meaningfully to the parent phase
|
|
91
|
+
|
|
92
|
+
### SUBTASK EXAMPLES (1-3 DAYS):
|
|
93
|
+
- "User authentication system with registration, login, password reset, database schema, API endpoints, and frontend forms"
|
|
94
|
+
- "Interactive map component with location search, markers, geolocation, and mobile responsiveness"
|
|
95
|
+
- "Rating system with star ratings, review submission, validation, storage, and display components"
|
|
96
|
+
|
|
97
|
+
## CRITICAL INSTRUCTION: Subtask ID Generation and Dependencies
|
|
98
|
+
You MUST generate unique subtask IDs and use them for dependencies:
|
|
99
|
+
|
|
100
|
+
1. **Generate Subtask IDs**:
|
|
101
|
+
- Each subtask needs an "id" field: "N.M" format where N is parent task ID, M is subtask index
|
|
102
|
+
- For example: "1.1", "1.2", "1.3", etc.
|
|
103
|
+
- IDs must be sequential and unique
|
|
104
|
+
- Start with .1 for the first subtask
|
|
105
|
+
|
|
106
|
+
2. **Dependency References**:
|
|
107
|
+
- Use the exact subtask IDs in dependencies arrays
|
|
108
|
+
- NEVER use subtask titles
|
|
109
|
+
- Only reference earlier subtasks (lower numbers)
|
|
110
|
+
- The first subtask must have no dependencies
|
|
111
|
+
|
|
112
|
+
3. **Required Fields for Each Subtask**:
|
|
113
|
+
- id: "N.M" format (required)
|
|
114
|
+
- title: string (required)
|
|
115
|
+
- description: string (required)
|
|
116
|
+
- effort: "small"|"medium"|"large" (required)
|
|
117
|
+
- dependencies: array of subtask IDs (required)
|
|
118
|
+
|
|
119
|
+
## CRITICAL: Avoid Duplicate Subtasks
|
|
120
|
+
If existing subtasks are provided in the context, DO NOT create similar or duplicate subtasks. Analyze the existing subtasks and create NEW ones that complement them.
|
|
121
|
+
|
|
122
|
+
## TASK SIZING - 1-3 DAYS:
|
|
123
|
+
- **small (1 day/8 hours)**: Focused feature with clear boundaries and deliverables
|
|
124
|
+
- **medium (2 days/16 hours)**: Complex feature with multiple components and integrations
|
|
125
|
+
- **large (3 days/24 hours)**: Comprehensive feature with advanced functionality and polish
|
|
126
|
+
|
|
127
|
+
## VALIDATION CHECKLIST:
|
|
128
|
+
Before returning your response, verify each subtask:
|
|
129
|
+
1. Represents 1-3 FULL DAYS of focused development work
|
|
130
|
+
2. Is a complete, deliverable feature or module
|
|
131
|
+
3. Can be demonstrated and tested independently
|
|
132
|
+
4. Contributes meaningfully to the parent phase
|
|
133
|
+
5. Has clear boundaries and specific outcomes
|
|
134
|
+
|
|
135
|
+
## Output Validation:
|
|
136
|
+
Before returning your response, verify:
|
|
137
|
+
1. Every subtask has a unique sequential ID ("1.1", "1.2", etc.)
|
|
138
|
+
2. All dependency arrays contain valid subtask IDs (not titles)
|
|
139
|
+
3. No subtask depends on itself or a later subtask
|
|
140
|
+
4. The first subtask has no dependencies
|
|
141
|
+
5. All referenced subtask IDs exist in the subtasks array
|
|
142
|
+
6. Each subtask represents 1-3 days of substantial work
|
|
143
|
+
7. JSON structure is valid and parseable
|
|
144
|
+
8. No duplicate subtasks based on existing subtasks in context
|
|
145
|
+
|
|
146
|
+
Return only valid JSON that can be parsed. Ensure all required fields are present and properly formatted.
|
|
147
|
+
|
|
148
|
+
🚨 REMINDER: BREAK PHASES INTO 1-3 DAY SUBTASKS! 🚨
|
|
149
|
+
`;
|