specweave 0.21.2 → 0.22.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/CLAUDE.md +429 -10
- package/README.md +33 -3
- package/dist/plugins/specweave-github/lib/CodeValidator.d.ts +101 -0
- package/dist/plugins/specweave-github/lib/CodeValidator.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/CodeValidator.js +219 -0
- package/dist/plugins/specweave-github/lib/CodeValidator.js.map +1 -0
- package/dist/plugins/specweave-github/lib/IssueStateManager.d.ts +98 -0
- package/dist/plugins/specweave-github/lib/IssueStateManager.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/IssueStateManager.js +146 -0
- package/dist/plugins/specweave-github/lib/IssueStateManager.js.map +1 -0
- package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.d.ts +182 -0
- package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.js +603 -0
- package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.js.map +1 -0
- package/dist/plugins/specweave-github/lib/types.d.ts +34 -0
- package/dist/plugins/specweave-github/lib/types.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/user-story-issue-builder.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/user-story-issue-builder.js +6 -0
- package/dist/plugins/specweave-github/lib/user-story-issue-builder.js.map +1 -1
- package/dist/src/cli/commands/check-hooks.d.ts +11 -0
- package/dist/src/cli/commands/check-hooks.d.ts.map +1 -0
- package/dist/src/cli/commands/check-hooks.js +144 -0
- package/dist/src/cli/commands/check-hooks.js.map +1 -0
- package/dist/src/cli/commands/cicd-monitor.js +3 -3
- package/dist/src/cli/commands/cicd-monitor.js.map +1 -1
- package/dist/src/cli/commands/import-docs.js +2 -2
- package/dist/src/cli/commands/import-docs.js.map +1 -1
- package/dist/src/cli/commands/init-multiproject.js +4 -4
- package/dist/src/cli/commands/init-multiproject.js.map +1 -1
- package/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +60 -5
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/migrate-to-multiproject.js +3 -3
- package/dist/src/cli/commands/migrate-to-multiproject.js.map +1 -1
- package/dist/src/cli/commands/plan/agent-invoker.d.ts +79 -0
- package/dist/src/cli/commands/plan/agent-invoker.d.ts.map +1 -0
- package/dist/src/cli/commands/plan/agent-invoker.js +383 -0
- package/dist/src/cli/commands/plan/agent-invoker.js.map +1 -0
- package/dist/src/cli/commands/plan/increment-detector.d.ts +27 -0
- package/dist/src/cli/commands/plan/increment-detector.d.ts.map +1 -0
- package/dist/src/cli/commands/plan/increment-detector.js +159 -0
- package/dist/src/cli/commands/plan/increment-detector.js.map +1 -0
- package/dist/src/cli/commands/plan/plan-orchestrator.d.ts +45 -0
- package/dist/src/cli/commands/plan/plan-orchestrator.d.ts.map +1 -0
- package/dist/src/cli/commands/plan/plan-orchestrator.js +229 -0
- package/dist/src/cli/commands/plan/plan-orchestrator.js.map +1 -0
- package/dist/src/cli/commands/plan/plan-validator.d.ts +36 -0
- package/dist/src/cli/commands/plan/plan-validator.d.ts.map +1 -0
- package/dist/src/cli/commands/plan/plan-validator.js +174 -0
- package/dist/src/cli/commands/plan/plan-validator.js.map +1 -0
- package/dist/src/cli/commands/plan/types.d.ts +170 -0
- package/dist/src/cli/commands/plan/types.d.ts.map +1 -0
- package/dist/src/cli/commands/plan/types.js +42 -0
- package/dist/src/cli/commands/plan/types.js.map +1 -0
- package/dist/src/cli/commands/plan-command.d.ts +16 -0
- package/dist/src/cli/commands/plan-command.d.ts.map +1 -0
- package/dist/src/cli/commands/plan-command.js +127 -0
- package/dist/src/cli/commands/plan-command.js.map +1 -0
- package/dist/src/cli/commands/switch-project.js +3 -3
- package/dist/src/cli/commands/switch-project.js.map +1 -1
- package/dist/src/cli/commands/validate-parent-repo.js +1 -1
- package/dist/src/cli/commands/validate-parent-repo.js.map +1 -1
- package/dist/src/config/ConfigManager.d.ts +69 -0
- package/dist/src/config/ConfigManager.d.ts.map +1 -0
- package/dist/src/config/ConfigManager.js +130 -0
- package/dist/src/config/ConfigManager.js.map +1 -0
- package/dist/src/config/types.d.ts +1357 -0
- package/dist/src/config/types.d.ts.map +1 -0
- package/dist/src/config/types.js +67 -0
- package/dist/src/config/types.js.map +1 -0
- package/dist/src/core/brownfield/importer.d.ts +1 -1
- package/dist/src/core/brownfield/importer.d.ts.map +1 -1
- package/dist/src/core/brownfield/importer.js +3 -3
- package/dist/src/core/brownfield/importer.js.map +1 -1
- package/dist/src/core/cicd/config-loader.d.ts +1 -1
- package/dist/src/core/cicd/config-loader.d.ts.map +1 -1
- package/dist/src/core/cicd/index.d.ts +6 -6
- package/dist/src/core/cicd/index.d.ts.map +1 -1
- package/dist/src/core/cicd/index.js +6 -6
- package/dist/src/core/cicd/index.js.map +1 -1
- package/dist/src/core/cicd/monitor-service.d.ts +3 -3
- package/dist/src/core/cicd/monitor-service.d.ts.map +1 -1
- package/dist/src/core/cicd/monitor-service.js +3 -3
- package/dist/src/core/cicd/monitor-service.js.map +1 -1
- package/dist/src/core/cicd/notifier.d.ts +1 -1
- package/dist/src/core/cicd/notifier.d.ts.map +1 -1
- package/dist/src/core/cicd/state-manager.d.ts +1 -1
- package/dist/src/core/cicd/state-manager.d.ts.map +1 -1
- package/dist/src/core/cicd/state-manager.js +1 -1
- package/dist/src/core/cicd/state-manager.js.map +1 -1
- package/dist/src/core/cicd/workflow-monitor.d.ts +1 -1
- package/dist/src/core/cicd/workflow-monitor.d.ts.map +1 -1
- package/dist/src/core/cicd/workflow-monitor.js +1 -1
- package/dist/src/core/cicd/workflow-monitor.js.map +1 -1
- package/dist/src/core/cost-tracker.d.ts +2 -2
- package/dist/src/core/cost-tracker.d.ts.map +1 -1
- package/dist/src/core/cost-tracker.js +1 -1
- package/dist/src/core/cost-tracker.js.map +1 -1
- package/dist/src/core/hooks/HealthReporter.d.ts +55 -0
- package/dist/src/core/hooks/HealthReporter.d.ts.map +1 -0
- package/dist/src/core/hooks/HealthReporter.js +268 -0
- package/dist/src/core/hooks/HealthReporter.js.map +1 -0
- package/dist/src/core/hooks/HookAutoFixer.d.ts +41 -0
- package/dist/src/core/hooks/HookAutoFixer.d.ts.map +1 -0
- package/dist/src/core/hooks/HookAutoFixer.js +222 -0
- package/dist/src/core/hooks/HookAutoFixer.js.map +1 -0
- package/dist/src/core/hooks/HookExecutor.d.ts +57 -0
- package/dist/src/core/hooks/HookExecutor.d.ts.map +1 -0
- package/dist/src/core/hooks/HookExecutor.js +287 -0
- package/dist/src/core/hooks/HookExecutor.js.map +1 -0
- package/dist/src/core/hooks/HookHealthChecker.d.ts +51 -0
- package/dist/src/core/hooks/HookHealthChecker.d.ts.map +1 -0
- package/dist/src/core/hooks/HookHealthChecker.js +212 -0
- package/dist/src/core/hooks/HookHealthChecker.js.map +1 -0
- package/dist/src/core/hooks/HookScanner.d.ts +65 -0
- package/dist/src/core/hooks/HookScanner.d.ts.map +1 -0
- package/dist/src/core/hooks/HookScanner.js +214 -0
- package/dist/src/core/hooks/HookScanner.js.map +1 -0
- package/dist/src/core/hooks/types.d.ts +281 -0
- package/dist/src/core/hooks/types.d.ts.map +1 -0
- package/dist/src/core/hooks/types.js +10 -0
- package/dist/src/core/hooks/types.js.map +1 -0
- package/dist/src/core/iac/index.d.ts +10 -0
- package/dist/src/core/iac/index.d.ts.map +1 -0
- package/dist/src/core/iac/index.js +11 -0
- package/dist/src/core/iac/index.js.map +1 -0
- package/dist/src/core/iac/template-engine.d.ts +77 -0
- package/dist/src/core/iac/template-engine.d.ts.map +1 -0
- package/dist/src/core/iac/template-engine.js +182 -0
- package/dist/src/core/iac/template-engine.js.map +1 -0
- package/dist/src/core/increment/ac-status-manager.d.ts +115 -0
- package/dist/src/core/increment/ac-status-manager.d.ts.map +1 -0
- package/dist/src/core/increment/ac-status-manager.js +343 -0
- package/dist/src/core/increment/ac-status-manager.js.map +1 -0
- package/dist/src/core/increment/auto-transition-manager.d.ts +60 -0
- package/dist/src/core/increment/auto-transition-manager.d.ts.map +1 -0
- package/dist/src/core/increment/auto-transition-manager.js +192 -0
- package/dist/src/core/increment/auto-transition-manager.js.map +1 -0
- package/dist/src/core/increment/limits.d.ts +1 -1
- package/dist/src/core/increment/limits.d.ts.map +1 -1
- package/dist/src/core/increment/limits.js +2 -2
- package/dist/src/core/increment/limits.js.map +1 -1
- package/dist/src/core/increment/spec-sync-manager.d.ts +177 -0
- package/dist/src/core/increment/spec-sync-manager.d.ts.map +1 -0
- package/dist/src/core/increment/spec-sync-manager.js +496 -0
- package/dist/src/core/increment/spec-sync-manager.js.map +1 -0
- package/dist/src/core/increment/status-auto-transition.d.ts +46 -0
- package/dist/src/core/increment/status-auto-transition.d.ts.map +1 -0
- package/dist/src/core/increment/status-auto-transition.js +178 -0
- package/dist/src/core/increment/status-auto-transition.js.map +1 -0
- package/dist/src/core/increment/task-state-manager.d.ts +75 -0
- package/dist/src/core/increment/task-state-manager.d.ts.map +1 -0
- package/dist/src/core/increment/task-state-manager.js +117 -0
- package/dist/src/core/increment/task-state-manager.js.map +1 -0
- package/dist/src/core/living-docs/CodeValidator.d.ts +68 -0
- package/dist/src/core/living-docs/CodeValidator.d.ts.map +1 -0
- package/dist/src/core/living-docs/CodeValidator.js +160 -0
- package/dist/src/core/living-docs/CodeValidator.js.map +1 -0
- package/dist/src/core/living-docs/CompletionPropagator.d.ts +84 -0
- package/dist/src/core/living-docs/CompletionPropagator.d.ts.map +1 -0
- package/dist/src/core/living-docs/CompletionPropagator.js +206 -0
- package/dist/src/core/living-docs/CompletionPropagator.js.map +1 -0
- package/dist/src/core/living-docs/ProjectDetector.d.ts +29 -0
- package/dist/src/core/living-docs/ProjectDetector.d.ts.map +1 -0
- package/dist/src/core/living-docs/ProjectDetector.js +94 -0
- package/dist/src/core/living-docs/ProjectDetector.js.map +1 -0
- package/dist/src/core/living-docs/SpecDistributor.d.ts +60 -0
- package/dist/src/core/living-docs/SpecDistributor.d.ts.map +1 -0
- package/dist/src/core/living-docs/SpecDistributor.js +228 -0
- package/dist/src/core/living-docs/SpecDistributor.js.map +1 -0
- package/dist/src/core/living-docs/ThreeLayerSyncManager.d.ts +116 -0
- package/dist/src/core/living-docs/ThreeLayerSyncManager.d.ts.map +1 -0
- package/dist/src/core/living-docs/ThreeLayerSyncManager.js +356 -0
- package/dist/src/core/living-docs/ThreeLayerSyncManager.js.map +1 -0
- package/dist/src/core/living-docs/hierarchy-mapper.d.ts.map +1 -1
- package/dist/src/core/living-docs/hierarchy-mapper.js +2 -1
- package/dist/src/core/living-docs/hierarchy-mapper.js.map +1 -1
- package/dist/src/core/living-docs/index.d.ts +1 -1
- package/dist/src/core/living-docs/index.d.ts.map +1 -1
- package/dist/src/core/living-docs/index.js +5 -1
- package/dist/src/core/living-docs/index.js.map +1 -1
- package/dist/src/core/living-docs/project-detector.d.ts.map +1 -1
- package/dist/src/core/living-docs/project-detector.js +38 -0
- package/dist/src/core/living-docs/project-detector.js.map +1 -1
- package/dist/src/core/living-docs/types.d.ts +70 -300
- package/dist/src/core/living-docs/types.d.ts.map +1 -1
- package/dist/src/core/living-docs/types.js +2 -10
- package/dist/src/core/living-docs/types.js.map +1 -1
- package/dist/src/core/project-manager.d.ts +1 -1
- package/dist/src/core/project-manager.d.ts.map +1 -1
- package/dist/src/core/project-manager.js +2 -2
- package/dist/src/core/project-manager.js.map +1 -1
- package/dist/src/core/qa/quality-gate-decider.d.ts +1 -1
- package/dist/src/core/qa/quality-gate-decider.d.ts.map +1 -1
- package/dist/src/core/qa/risk-calculator.d.ts +1 -1
- package/dist/src/core/qa/risk-calculator.d.ts.map +1 -1
- package/dist/src/core/repo-structure/setup-summary.d.ts +1 -1
- package/dist/src/core/repo-structure/setup-summary.d.ts.map +1 -1
- package/dist/src/core/rfc-generator-v2.d.ts +1 -1
- package/dist/src/core/rfc-generator-v2.d.ts.map +1 -1
- package/dist/src/core/rfc-generator-v2.js +1 -1
- package/dist/src/core/rfc-generator-v2.js.map +1 -1
- package/dist/src/core/serverless/context-detector.d.ts +12 -0
- package/dist/src/core/serverless/context-detector.d.ts.map +1 -0
- package/dist/src/core/serverless/context-detector.js +213 -0
- package/dist/src/core/serverless/context-detector.js.map +1 -0
- package/dist/src/core/serverless/cost-comparison.d.ts +73 -0
- package/dist/src/core/serverless/cost-comparison.d.ts.map +1 -0
- package/dist/src/core/serverless/cost-comparison.js +198 -0
- package/dist/src/core/serverless/cost-comparison.js.map +1 -0
- package/dist/src/core/serverless/cost-estimator.d.ts +69 -0
- package/dist/src/core/serverless/cost-estimator.d.ts.map +1 -0
- package/dist/src/core/serverless/cost-estimator.js +127 -0
- package/dist/src/core/serverless/cost-estimator.js.map +1 -0
- package/dist/src/core/serverless/cost-optimizer.d.ts +57 -0
- package/dist/src/core/serverless/cost-optimizer.d.ts.map +1 -0
- package/dist/src/core/serverless/cost-optimizer.js +221 -0
- package/dist/src/core/serverless/cost-optimizer.js.map +1 -0
- package/dist/src/core/serverless/index.d.ts +20 -0
- package/dist/src/core/serverless/index.d.ts.map +1 -0
- package/dist/src/core/serverless/index.js +26 -0
- package/dist/src/core/serverless/index.js.map +1 -0
- package/dist/src/core/serverless/learning-path-recommender.d.ts +152 -0
- package/dist/src/core/serverless/learning-path-recommender.d.ts.map +1 -0
- package/dist/src/core/serverless/learning-path-recommender.js +389 -0
- package/dist/src/core/serverless/learning-path-recommender.js.map +1 -0
- package/dist/src/core/serverless/platform-data-loader.d.ts +22 -0
- package/dist/src/core/serverless/platform-data-loader.d.ts.map +1 -0
- package/dist/src/core/serverless/platform-data-loader.js +49 -0
- package/dist/src/core/serverless/platform-data-loader.js.map +1 -0
- package/dist/src/core/serverless/platform-selector.d.ts +20 -0
- package/dist/src/core/serverless/platform-selector.d.ts.map +1 -0
- package/dist/src/core/serverless/platform-selector.js +279 -0
- package/dist/src/core/serverless/platform-selector.js.map +1 -0
- package/dist/src/core/serverless/recommendation-formatter.d.ts +24 -0
- package/dist/src/core/serverless/recommendation-formatter.d.ts.map +1 -0
- package/dist/src/core/serverless/recommendation-formatter.js +70 -0
- package/dist/src/core/serverless/recommendation-formatter.js.map +1 -0
- package/dist/src/core/serverless/suitability-analyzer.d.ts +22 -0
- package/dist/src/core/serverless/suitability-analyzer.d.ts.map +1 -0
- package/dist/src/core/serverless/suitability-analyzer.js +262 -0
- package/dist/src/core/serverless/suitability-analyzer.js.map +1 -0
- package/dist/src/core/serverless/types.d.ts +96 -0
- package/dist/src/core/serverless/types.d.ts.map +1 -0
- package/dist/src/core/serverless/types.js +5 -0
- package/dist/src/core/serverless/types.js.map +1 -0
- package/dist/src/core/sync/bidirectional-engine.d.ts +1 -1
- package/dist/src/core/sync/bidirectional-engine.d.ts.map +1 -1
- package/dist/src/core/sync/enhanced-content-builder.d.ts +1 -1
- package/dist/src/core/sync/enhanced-content-builder.d.ts.map +1 -1
- package/dist/src/core/sync/profile-manager.d.ts +1 -1
- package/dist/src/core/sync/profile-manager.d.ts.map +1 -1
- package/dist/src/core/sync/profile-selector.d.ts +1 -1
- package/dist/src/core/sync/profile-selector.d.ts.map +1 -1
- package/dist/src/core/sync/profile-selector.js +1 -1
- package/dist/src/core/sync/profile-selector.js.map +1 -1
- package/dist/src/core/sync/project-context.d.ts +1 -1
- package/dist/src/core/sync/project-context.d.ts.map +1 -1
- package/dist/src/core/sync/rate-limiter.d.ts +1 -1
- package/dist/src/core/sync/rate-limiter.d.ts.map +1 -1
- package/dist/src/core/sync/status-sync-engine.d.ts +2 -2
- package/dist/src/core/sync/status-sync-engine.d.ts.map +1 -1
- package/dist/src/core/sync/status-sync-engine.js +2 -2
- package/dist/src/core/sync/status-sync-engine.js.map +1 -1
- package/dist/src/core/sync/time-range-selector.d.ts +1 -1
- package/dist/src/core/sync/time-range-selector.d.ts.map +1 -1
- package/dist/src/core/sync/time-range-selector.js +1 -1
- package/dist/src/core/sync/time-range-selector.js.map +1 -1
- package/dist/src/core/types/config.d.ts +23 -0
- package/dist/src/core/types/config.d.ts.map +1 -1
- package/dist/src/core/types/config.js +10 -0
- package/dist/src/core/types/config.js.map +1 -1
- package/dist/src/core/types/increment-metadata.d.ts +27 -0
- package/dist/src/core/types/increment-metadata.d.ts.map +1 -1
- package/dist/src/core/types/increment-metadata.js +45 -1
- package/dist/src/core/types/increment-metadata.js.map +1 -1
- package/dist/src/core/types/sync-profile.d.ts +2 -0
- package/dist/src/core/types/sync-profile.d.ts.map +1 -1
- package/dist/src/core/types/sync-profile.js.map +1 -1
- package/dist/src/core/validation/increment-structure-validator.d.ts +47 -0
- package/dist/src/core/validation/increment-structure-validator.d.ts.map +1 -0
- package/dist/src/core/validation/increment-structure-validator.js +187 -0
- package/dist/src/core/validation/increment-structure-validator.js.map +1 -0
- package/dist/src/core/validation/three-file-validator.d.ts +82 -0
- package/dist/src/core/validation/three-file-validator.d.ts.map +1 -0
- package/dist/src/core/validation/three-file-validator.js +320 -0
- package/dist/src/core/validation/three-file-validator.js.map +1 -0
- package/dist/src/core/workflow/phase-detector.d.ts +103 -0
- package/dist/src/core/workflow/phase-detector.d.ts.map +1 -0
- package/dist/src/core/workflow/phase-detector.js +704 -0
- package/dist/src/core/workflow/phase-detector.js.map +1 -0
- package/dist/src/core/workflow/types.d.ts +153 -0
- package/dist/src/core/workflow/types.d.ts.map +1 -0
- package/dist/src/core/workflow/types.js +47 -0
- package/dist/src/core/workflow/types.js.map +1 -0
- package/dist/src/init/ArchitecturePresenter.d.ts +47 -0
- package/dist/src/init/ArchitecturePresenter.d.ts.map +1 -0
- package/dist/src/init/ArchitecturePresenter.js +180 -0
- package/dist/src/init/ArchitecturePresenter.js.map +1 -0
- package/dist/src/init/InitFlow.d.ts +37 -0
- package/dist/src/init/InitFlow.d.ts.map +1 -0
- package/dist/src/init/InitFlow.js +238 -0
- package/dist/src/init/InitFlow.js.map +1 -0
- package/dist/src/init/architecture/ArchitectureDecisionEngine.d.ts +107 -0
- package/dist/src/init/architecture/ArchitectureDecisionEngine.d.ts.map +1 -0
- package/dist/src/init/architecture/ArchitectureDecisionEngine.js +405 -0
- package/dist/src/init/architecture/ArchitectureDecisionEngine.js.map +1 -0
- package/dist/src/init/architecture/CloudCreditsDatabase.d.ts +11 -0
- package/dist/src/init/architecture/CloudCreditsDatabase.d.ts.map +1 -0
- package/dist/src/init/architecture/CloudCreditsDatabase.js +92 -0
- package/dist/src/init/architecture/CloudCreditsDatabase.js.map +1 -0
- package/dist/src/init/architecture/CostEstimator.d.ts +52 -0
- package/dist/src/init/architecture/CostEstimator.d.ts.map +1 -0
- package/dist/src/init/architecture/CostEstimator.js +107 -0
- package/dist/src/init/architecture/CostEstimator.js.map +1 -0
- package/dist/src/init/architecture/InfrastructureMapper.d.ts +41 -0
- package/dist/src/init/architecture/InfrastructureMapper.d.ts.map +1 -0
- package/dist/src/init/architecture/InfrastructureMapper.js +140 -0
- package/dist/src/init/architecture/InfrastructureMapper.js.map +1 -0
- package/dist/src/init/architecture/ProjectGenerator.d.ts +44 -0
- package/dist/src/init/architecture/ProjectGenerator.d.ts.map +1 -0
- package/dist/src/init/architecture/ProjectGenerator.js +216 -0
- package/dist/src/init/architecture/ProjectGenerator.js.map +1 -0
- package/dist/src/init/architecture/types.d.ts +251 -0
- package/dist/src/init/architecture/types.d.ts.map +1 -0
- package/dist/src/init/architecture/types.js +54 -0
- package/dist/src/init/architecture/types.js.map +1 -0
- package/dist/src/init/compliance/ComplianceDetector.d.ts +17 -0
- package/dist/src/init/compliance/ComplianceDetector.d.ts.map +1 -0
- package/dist/src/init/compliance/ComplianceDetector.js +64 -0
- package/dist/src/init/compliance/ComplianceDetector.js.map +1 -0
- package/dist/src/init/compliance/standards-database.d.ts +48 -0
- package/dist/src/init/compliance/standards-database.d.ts.map +1 -0
- package/dist/src/init/compliance/standards-database.js +506 -0
- package/dist/src/init/compliance/standards-database.js.map +1 -0
- package/dist/src/init/compliance/types.d.ts +91 -0
- package/dist/src/init/compliance/types.d.ts.map +1 -0
- package/dist/src/init/compliance/types.js +43 -0
- package/dist/src/init/compliance/types.js.map +1 -0
- package/dist/src/init/repo/GitHubAPIClient.d.ts +51 -0
- package/dist/src/init/repo/GitHubAPIClient.d.ts.map +1 -0
- package/dist/src/init/repo/GitHubAPIClient.js +144 -0
- package/dist/src/init/repo/GitHubAPIClient.js.map +1 -0
- package/dist/src/init/repo/RepositorySelector.d.ts +45 -0
- package/dist/src/init/repo/RepositorySelector.d.ts.map +1 -0
- package/dist/src/init/repo/RepositorySelector.js +106 -0
- package/dist/src/init/repo/RepositorySelector.js.map +1 -0
- package/dist/src/init/repo/types.d.ts +95 -0
- package/dist/src/init/repo/types.d.ts.map +1 -0
- package/dist/src/init/repo/types.js +25 -0
- package/dist/src/init/repo/types.js.map +1 -0
- package/dist/src/init/research/CompetitorAnalyzer.d.ts +79 -0
- package/dist/src/init/research/CompetitorAnalyzer.d.ts.map +1 -0
- package/dist/src/init/research/CompetitorAnalyzer.js +265 -0
- package/dist/src/init/research/CompetitorAnalyzer.js.map +1 -0
- package/dist/src/init/research/MarketDetector.d.ts +62 -0
- package/dist/src/init/research/MarketDetector.d.ts.map +1 -0
- package/dist/src/init/research/MarketDetector.js +247 -0
- package/dist/src/init/research/MarketDetector.js.map +1 -0
- package/dist/src/init/research/OpportunityScorer.d.ts +58 -0
- package/dist/src/init/research/OpportunityScorer.d.ts.map +1 -0
- package/dist/src/init/research/OpportunityScorer.js +194 -0
- package/dist/src/init/research/OpportunityScorer.js.map +1 -0
- package/dist/src/init/research/QuestionGenerator.d.ts +68 -0
- package/dist/src/init/research/QuestionGenerator.d.ts.map +1 -0
- package/dist/src/init/research/QuestionGenerator.js +244 -0
- package/dist/src/init/research/QuestionGenerator.js.map +1 -0
- package/dist/src/init/research/ReportGenerator.d.ts +36 -0
- package/dist/src/init/research/ReportGenerator.d.ts.map +1 -0
- package/dist/src/init/research/ReportGenerator.js +125 -0
- package/dist/src/init/research/ReportGenerator.js.map +1 -0
- package/dist/src/init/research/VisionAnalyzer.d.ts +129 -0
- package/dist/src/init/research/VisionAnalyzer.d.ts.map +1 -0
- package/dist/src/init/research/VisionAnalyzer.js +212 -0
- package/dist/src/init/research/VisionAnalyzer.js.map +1 -0
- package/dist/src/init/research/keyword-extractor.d.ts +78 -0
- package/dist/src/init/research/keyword-extractor.d.ts.map +1 -0
- package/dist/src/init/research/keyword-extractor.js +230 -0
- package/dist/src/init/research/keyword-extractor.js.map +1 -0
- package/dist/src/init/research/src/config/ConfigManager.d.ts +14 -0
- package/dist/src/init/research/src/config/ConfigManager.d.ts.map +1 -0
- package/dist/src/init/research/src/config/ConfigManager.js +45 -0
- package/dist/src/init/research/src/config/ConfigManager.js.map +1 -0
- package/dist/src/init/research/src/config/types.d.ts +102 -0
- package/dist/src/init/research/src/config/types.d.ts.map +1 -0
- package/dist/src/init/research/src/config/types.js +24 -0
- package/dist/src/init/research/src/config/types.js.map +1 -0
- package/dist/src/init/research/types.d.ts +183 -0
- package/dist/src/init/research/types.d.ts.map +1 -0
- package/dist/src/init/research/types.js +65 -0
- package/dist/src/init/research/types.js.map +1 -0
- package/dist/src/init/team/ServerlessSavingsCalculator.d.ts +136 -0
- package/dist/src/init/team/ServerlessSavingsCalculator.d.ts.map +1 -0
- package/dist/src/init/team/ServerlessSavingsCalculator.js +360 -0
- package/dist/src/init/team/ServerlessSavingsCalculator.js.map +1 -0
- package/dist/src/init/team/TeamRecommender.d.ts +122 -0
- package/dist/src/init/team/TeamRecommender.d.ts.map +1 -0
- package/dist/src/init/team/TeamRecommender.js +405 -0
- package/dist/src/init/team/TeamRecommender.js.map +1 -0
- package/dist/src/init/team/types.d.ts +95 -0
- package/dist/src/init/team/types.d.ts.map +1 -0
- package/dist/src/init/team/types.js +23 -0
- package/dist/src/init/team/types.js.map +1 -0
- package/dist/src/integrations/jira/jira-mapper.d.ts +1 -1
- package/dist/src/integrations/jira/jira-mapper.d.ts.map +1 -1
- package/dist/src/types/cost-tracking.d.ts +1 -1
- package/dist/src/types/cost-tracking.d.ts.map +1 -1
- package/dist/src/utils/cost-reporter.d.ts +2 -2
- package/dist/src/utils/cost-reporter.d.ts.map +1 -1
- package/dist/src/utils/docs-preview/config-generator.d.ts +1 -1
- package/dist/src/utils/docs-preview/config-generator.d.ts.map +1 -1
- package/dist/src/utils/docs-preview/config-generator.js +1 -1
- package/dist/src/utils/docs-preview/docusaurus-setup.d.ts +1 -1
- package/dist/src/utils/docs-preview/docusaurus-setup.d.ts.map +1 -1
- package/dist/src/utils/docs-preview/docusaurus-setup.js +4 -4
- package/dist/src/utils/docs-preview/docusaurus-setup.js.map +1 -1
- package/dist/src/utils/docs-preview/index.d.ts +6 -6
- package/dist/src/utils/docs-preview/index.d.ts.map +1 -1
- package/dist/src/utils/docs-preview/index.js +6 -6
- package/dist/src/utils/docs-preview/index.js.map +1 -1
- package/dist/src/utils/docs-preview/package-installer.d.ts +1 -1
- package/dist/src/utils/docs-preview/package-installer.d.ts.map +1 -1
- package/dist/src/utils/docs-preview/package-installer.js +1 -1
- package/dist/src/utils/docs-preview/package-installer.js.map +1 -1
- package/dist/src/utils/docs-preview/server-manager.d.ts +1 -1
- package/dist/src/utils/docs-preview/server-manager.d.ts.map +1 -1
- package/dist/src/utils/docs-preview/server-manager.js +1 -1
- package/dist/src/utils/docs-preview/server-manager.js.map +1 -1
- package/dist/src/utils/docs-preview/sidebar-builder.d.ts +1 -1
- package/dist/src/utils/docs-preview/sidebar-builder.d.ts.map +1 -1
- package/dist/src/utils/generate-skills-index.d.ts +1 -1
- package/dist/src/utils/generate-skills-index.js +1 -1
- package/dist/src/utils/project-detection.js +1 -1
- package/dist/src/utils/project-detection.js.map +1 -1
- package/package.json +17 -10
- package/plugins/specweave/agents/architect/AGENT.md +605 -0
- package/plugins/specweave/agents/infrastructure/AGENT.md +760 -0
- package/plugins/specweave/agents/pm/AGENT.md +14 -13
- package/plugins/specweave/commands/specweave-check-hooks.md +186 -0
- package/plugins/specweave/commands/specweave-plan.md +151 -0
- package/plugins/specweave/commands/specweave-sync-acs.md +342 -0
- package/plugins/specweave/commands/specweave-validate.md +60 -11
- package/plugins/specweave/hooks/lib/update-status-line.sh +8 -4
- package/plugins/specweave/hooks/post-increment-change.sh +4 -0
- package/plugins/specweave/hooks/post-increment-completion.sh +7 -1
- package/plugins/specweave/hooks/post-increment-planning.sh +4 -0
- package/plugins/specweave/hooks/post-increment-status-change.sh +4 -0
- package/plugins/specweave/hooks/user-prompt-submit.sh +78 -0
- package/plugins/specweave/iac-templates/aws-lambda/README.md.hbs +280 -0
- package/plugins/specweave/iac-templates/aws-lambda/defaults.json +118 -0
- package/plugins/specweave/iac-templates/aws-lambda/environments/dev.defaults.json +46 -0
- package/plugins/specweave/iac-templates/aws-lambda/environments/prod.defaults.json +67 -0
- package/plugins/specweave/iac-templates/aws-lambda/environments/staging.defaults.json +47 -0
- package/plugins/specweave/iac-templates/aws-lambda/main.tf.hbs +241 -0
- package/plugins/specweave/iac-templates/aws-lambda/outputs.tf.hbs +61 -0
- package/plugins/specweave/iac-templates/aws-lambda/provider.tf.hbs +15 -0
- package/plugins/specweave/iac-templates/aws-lambda/variables.tf.hbs +88 -0
- package/plugins/specweave/iac-templates/azure-functions/README.md.hbs +315 -0
- package/plugins/specweave/iac-templates/azure-functions/defaults.json +65 -0
- package/plugins/specweave/iac-templates/azure-functions/environments/dev.defaults.json +30 -0
- package/plugins/specweave/iac-templates/azure-functions/environments/prod.defaults.json +34 -0
- package/plugins/specweave/iac-templates/azure-functions/environments/staging.defaults.json +31 -0
- package/plugins/specweave/iac-templates/azure-functions/iam.tf.hbs +34 -0
- package/plugins/specweave/iac-templates/azure-functions/main.tf.hbs +247 -0
- package/plugins/specweave/iac-templates/azure-functions/outputs.tf.hbs +72 -0
- package/plugins/specweave/iac-templates/azure-functions/provider.tf.hbs +14 -0
- package/plugins/specweave/iac-templates/azure-functions/variables.tf.hbs +64 -0
- package/plugins/specweave/iac-templates/firebase/README.md.hbs +487 -0
- package/plugins/specweave/iac-templates/firebase/defaults.json +55 -0
- package/plugins/specweave/iac-templates/firebase/environments/dev.defaults.json +44 -0
- package/plugins/specweave/iac-templates/firebase/environments/prod.defaults.json +52 -0
- package/plugins/specweave/iac-templates/firebase/environments/staging.defaults.json +43 -0
- package/plugins/specweave/iac-templates/firebase/iam.tf.hbs +75 -0
- package/plugins/specweave/iac-templates/firebase/main.tf.hbs +297 -0
- package/plugins/specweave/iac-templates/firebase/outputs.tf.hbs +67 -0
- package/plugins/specweave/iac-templates/firebase/provider.tf.hbs +26 -0
- package/plugins/specweave/iac-templates/firebase/variables.tf.hbs +68 -0
- package/plugins/specweave/iac-templates/gcp-cloud-functions/README.md.hbs +330 -0
- package/plugins/specweave/iac-templates/gcp-cloud-functions/defaults.json +69 -0
- package/plugins/specweave/iac-templates/gcp-cloud-functions/environments/dev.defaults.json +33 -0
- package/plugins/specweave/iac-templates/gcp-cloud-functions/environments/prod.defaults.json +40 -0
- package/plugins/specweave/iac-templates/gcp-cloud-functions/environments/staging.defaults.json +33 -0
- package/plugins/specweave/iac-templates/gcp-cloud-functions/iam.tf.hbs +54 -0
- package/plugins/specweave/iac-templates/gcp-cloud-functions/main.tf.hbs +211 -0
- package/plugins/specweave/iac-templates/gcp-cloud-functions/outputs.tf.hbs +44 -0
- package/plugins/specweave/iac-templates/gcp-cloud-functions/provider.tf.hbs +14 -0
- package/plugins/specweave/iac-templates/gcp-cloud-functions/variables.tf.hbs +82 -0
- package/plugins/specweave/iac-templates/supabase/README.md.hbs +534 -0
- package/plugins/specweave/iac-templates/supabase/defaults.json +69 -0
- package/plugins/specweave/iac-templates/supabase/environments/dev.defaults.json +55 -0
- package/plugins/specweave/iac-templates/supabase/environments/prod.defaults.json +75 -0
- package/plugins/specweave/iac-templates/supabase/environments/staging.defaults.json +54 -0
- package/plugins/specweave/iac-templates/supabase/iam.tf.hbs +146 -0
- package/plugins/specweave/iac-templates/supabase/main.tf.hbs +310 -0
- package/plugins/specweave/iac-templates/supabase/outputs.tf.hbs +74 -0
- package/plugins/specweave/iac-templates/supabase/provider.tf.hbs +19 -0
- package/plugins/specweave/iac-templates/supabase/variables.tf.hbs +78 -0
- package/plugins/specweave/knowledge-base/serverless/FRESHNESS.md +69 -0
- package/plugins/specweave/knowledge-base/serverless/learning-paths.json +865 -0
- package/plugins/specweave/knowledge-base/serverless/platforms/aws-lambda.json +41 -0
- package/plugins/specweave/knowledge-base/serverless/platforms/azure-functions.json +41 -0
- package/plugins/specweave/knowledge-base/serverless/platforms/firebase.json +46 -0
- package/plugins/specweave/knowledge-base/serverless/platforms/gcp-cloud-functions.json +41 -0
- package/plugins/specweave/knowledge-base/serverless/platforms/supabase.json +41 -0
- package/plugins/specweave/knowledge-base/serverless/schema.json +155 -0
- package/plugins/specweave/lib/hooks/auto-transition.js +50 -0
- package/plugins/specweave/lib/hooks/auto-transition.ts +84 -0
- package/plugins/specweave/lib/hooks/invoke-translator-skill.js +1 -1
- package/plugins/specweave/lib/hooks/invoke-translator-skill.ts +1 -1
- package/plugins/specweave/lib/hooks/sync-living-docs.js +4 -31
- package/plugins/specweave/lib/hooks/{sync-living-docs.ts → sync-living-docs.ts.DISABLED} +9 -48
- package/plugins/specweave/lib/hooks/translate-file.js +1 -1
- package/plugins/specweave/lib/hooks/translate-file.ts +1 -1
- package/plugins/specweave/lib/hooks/update-ac-status.js +24 -75
- package/plugins/specweave/lib/hooks/update-ac-status.ts +46 -135
- package/plugins/specweave/lib/hooks/update-tasks-md.js +115 -3
- package/plugins/specweave/lib/hooks/update-tasks-md.ts +182 -10
- package/plugins/specweave/lib/utils/validate-dev-setup.sh +133 -0
- package/plugins/specweave/skills/increment-planner/SKILL.md +25 -15
- package/plugins/specweave/skills/serverless-recommender/SKILL.md +368 -0
- package/plugins/specweave/templates/iac/aws-lambda/templates/iam.tf.hbs +137 -0
- package/plugins/specweave/templates/iac/aws-lambda/templates/main.tf.hbs +216 -0
- package/plugins/specweave-ado/lib/enhanced-ado-sync.js +170 -0
- package/plugins/specweave-github/lib/CodeValidator.js +195 -0
- package/plugins/specweave-github/lib/CodeValidator.ts +284 -0
- package/plugins/specweave-github/lib/IssueStateManager.js +117 -0
- package/plugins/specweave-github/lib/IssueStateManager.ts +231 -0
- package/plugins/specweave-github/lib/ThreeLayerSyncManager.js +545 -0
- package/plugins/specweave-github/lib/ThreeLayerSyncManager.ts +809 -0
- package/plugins/specweave-github/lib/types.ts +38 -0
- package/plugins/specweave-github/lib/user-story-issue-builder.js +7 -0
- package/plugins/specweave-github/lib/user-story-issue-builder.ts +11 -0
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +1200 -0
- package/plugins/specweave-ui/.mcp.json +0 -10
- package/plugins/specweave-ui/README.md +26 -26
- package/plugins/specweave-ui/skills/browser-automation/SKILL.md +31 -18
- package/src/templates/AGENTS.md.template +22 -1
- package/src/templates/tasks.md.template +51 -33
- package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts +0 -89
- package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js +0 -226
- package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts +0 -60
- package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js +0 -201
- package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts +0 -42
- package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js +0 -123
- package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts +0 -45
- package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js +0 -132
- package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts +0 -33
- package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/reflection-parser.js +0 -419
- package/dist/plugins/specweave/lib/hooks/reflection-parser.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts +0 -56
- package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js +0 -239
- package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts +0 -64
- package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/reflection-storage.js +0 -305
- package/dist/plugins/specweave/lib/hooks/reflection-storage.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts +0 -43
- package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/run-self-reflection.js +0 -203
- package/dist/plugins/specweave/lib/hooks/run-self-reflection.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts +0 -32
- package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +0 -405
- package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/translate-file.d.ts +0 -59
- package/dist/plugins/specweave/lib/hooks/translate-file.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/translate-file.js +0 -350
- package/dist/plugins/specweave/lib/hooks/translate-file.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts +0 -13
- package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/translate-living-docs.js +0 -175
- package/dist/plugins/specweave/lib/hooks/translate-living-docs.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts +0 -164
- package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/types/reflection-types.js +0 -73
- package/dist/plugins/specweave/lib/hooks/types/reflection-types.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/update-ac-status.d.ts +0 -21
- package/dist/plugins/specweave/lib/hooks/update-ac-status.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/update-ac-status.js +0 -162
- package/dist/plugins/specweave/lib/hooks/update-ac-status.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts +0 -29
- package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/update-tasks-md.js +0 -203
- package/dist/plugins/specweave/lib/hooks/update-tasks-md.js.map +0 -1
- package/dist/src/core/living-docs/spec-distributor.d.ts +0 -180
- package/dist/src/core/living-docs/spec-distributor.d.ts.map +0 -1
- package/dist/src/core/living-docs/spec-distributor.js +0 -1840
- package/dist/src/core/living-docs/spec-distributor.js.map +0 -1
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Invoker - Orchestrates AI agent invocations for plan generation
|
|
3
|
+
*
|
|
4
|
+
* This module provides utilities to invoke the Architect and test-aware-planner
|
|
5
|
+
* agents within the Claude Code ecosystem.
|
|
6
|
+
*
|
|
7
|
+
* @module cli/commands/plan/agent-invoker
|
|
8
|
+
* @since v0.22.0 (Increment 0039)
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Agent Invoker - Coordinates agent invocations for plan generation
|
|
12
|
+
*/
|
|
13
|
+
export class AgentInvoker {
|
|
14
|
+
/**
|
|
15
|
+
* Invoke Architect Agent to generate plan.md
|
|
16
|
+
*
|
|
17
|
+
* @param context - Pipeline context with spec.md content
|
|
18
|
+
* @returns Agent invocation result with generated plan.md content
|
|
19
|
+
*/
|
|
20
|
+
async invokeArchitectAgent(context) {
|
|
21
|
+
const specContent = context.specContent;
|
|
22
|
+
const incrementId = context.incrementId;
|
|
23
|
+
// Read spec.md to extract requirements
|
|
24
|
+
const requirements = this.extractRequirements(specContent);
|
|
25
|
+
const userStories = this.extractUserStories(specContent);
|
|
26
|
+
const acceptanceCriteria = this.extractAcceptanceCriteria(specContent);
|
|
27
|
+
// Generate architectural plan instructions
|
|
28
|
+
const architectPrompt = this.buildArchitectPrompt(incrementId, requirements, userStories, acceptanceCriteria);
|
|
29
|
+
// In Claude Code context, this would be picked up by the Architect agent
|
|
30
|
+
// For now, return instruction mode with generated content
|
|
31
|
+
return {
|
|
32
|
+
success: true,
|
|
33
|
+
content: architectPrompt,
|
|
34
|
+
agentName: 'architect',
|
|
35
|
+
executionMode: 'instruction'
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Invoke test-aware-planner Agent to generate tasks.md
|
|
40
|
+
*
|
|
41
|
+
* @param context - Pipeline context with spec.md and plan.md content
|
|
42
|
+
* @returns Agent invocation result with generated tasks.md content
|
|
43
|
+
*/
|
|
44
|
+
async invokeTestAwarePlanner(context) {
|
|
45
|
+
const specContent = context.specContent;
|
|
46
|
+
const planContent = context.generatedPlanContent;
|
|
47
|
+
const incrementId = context.incrementId;
|
|
48
|
+
// Extract data from spec and plan
|
|
49
|
+
const acceptanceCriteria = this.extractAcceptanceCriteria(specContent);
|
|
50
|
+
const phases = this.extractPhases(planContent);
|
|
51
|
+
const components = this.extractComponents(planContent);
|
|
52
|
+
// Generate task planning instructions
|
|
53
|
+
const plannerPrompt = this.buildPlannerPrompt(incrementId, acceptanceCriteria, phases, components);
|
|
54
|
+
return {
|
|
55
|
+
success: true,
|
|
56
|
+
content: plannerPrompt,
|
|
57
|
+
agentName: 'test-aware-planner',
|
|
58
|
+
executionMode: 'instruction'
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Extract requirements from spec.md
|
|
63
|
+
*/
|
|
64
|
+
extractRequirements(specContent) {
|
|
65
|
+
const requirements = [];
|
|
66
|
+
const reqRegex = /(?:^|\n)(?:###?|#{1,3})\s*(?:Requirement|FR-|NFR-|Functional|Non-Functional).*$/gim;
|
|
67
|
+
const matches = specContent.matchAll(reqRegex);
|
|
68
|
+
for (const match of matches) {
|
|
69
|
+
requirements.push(match[0].trim());
|
|
70
|
+
}
|
|
71
|
+
return requirements;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Extract user stories from spec.md
|
|
75
|
+
*/
|
|
76
|
+
extractUserStories(specContent) {
|
|
77
|
+
const userStories = [];
|
|
78
|
+
const usRegex = /(?:^|\n)(?:###?)\s*(?:US-\d+|User Story).*$/gim;
|
|
79
|
+
const matches = specContent.matchAll(usRegex);
|
|
80
|
+
for (const match of matches) {
|
|
81
|
+
userStories.push(match[0].trim());
|
|
82
|
+
}
|
|
83
|
+
return userStories;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Extract acceptance criteria from spec.md
|
|
87
|
+
*/
|
|
88
|
+
extractAcceptanceCriteria(specContent) {
|
|
89
|
+
const acMap = new Map();
|
|
90
|
+
const acRegex = /-\s*\[[ x]\]\s*(AC-\w+-\d+):\s*(.+)/gi;
|
|
91
|
+
const matches = specContent.matchAll(acRegex);
|
|
92
|
+
for (const match of matches) {
|
|
93
|
+
const acId = match[1];
|
|
94
|
+
const acText = match[2];
|
|
95
|
+
if (!acMap.has(acId)) {
|
|
96
|
+
acMap.set(acId, []);
|
|
97
|
+
}
|
|
98
|
+
acMap.get(acId).push(acText);
|
|
99
|
+
}
|
|
100
|
+
return acMap;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Extract implementation phases from plan.md
|
|
104
|
+
*/
|
|
105
|
+
extractPhases(planContent) {
|
|
106
|
+
const phases = [];
|
|
107
|
+
const phaseRegex = /(?:^|\n)(?:###?)\s*(?:Phase \d+|Stage \d+).*$/gim;
|
|
108
|
+
const matches = planContent.matchAll(phaseRegex);
|
|
109
|
+
for (const match of matches) {
|
|
110
|
+
phases.push(match[0].trim());
|
|
111
|
+
}
|
|
112
|
+
return phases;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Extract components from plan.md
|
|
116
|
+
*/
|
|
117
|
+
extractComponents(planContent) {
|
|
118
|
+
const components = [];
|
|
119
|
+
const compRegex = /(?:^|\n)(?:###?)\s*(?:Component|Module|Service).*$/gim;
|
|
120
|
+
const matches = planContent.matchAll(compRegex);
|
|
121
|
+
for (const match of matches) {
|
|
122
|
+
components.push(match[0].trim());
|
|
123
|
+
}
|
|
124
|
+
return components;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Build prompt for Architect Agent
|
|
128
|
+
*/
|
|
129
|
+
buildArchitectPrompt(incrementId, requirements, userStories, acceptanceCriteria) {
|
|
130
|
+
return `# Architect Agent Invocation for ${incrementId}
|
|
131
|
+
|
|
132
|
+
## Task
|
|
133
|
+
Create a comprehensive implementation plan (plan.md) for increment ${incrementId}.
|
|
134
|
+
|
|
135
|
+
## Requirements Summary
|
|
136
|
+
${requirements.length > 0 ? requirements.join('\n') : 'No explicit requirements found - extract from user stories.'}
|
|
137
|
+
|
|
138
|
+
## User Stories
|
|
139
|
+
${userStories.length > 0 ? userStories.join('\n') : 'No user stories found - check spec.md structure.'}
|
|
140
|
+
|
|
141
|
+
## Acceptance Criteria
|
|
142
|
+
Total AC count: ${acceptanceCriteria.size}
|
|
143
|
+
|
|
144
|
+
## Expected Output
|
|
145
|
+
Generate a plan.md file that includes:
|
|
146
|
+
|
|
147
|
+
1. **Architecture Overview**
|
|
148
|
+
- System components and their interactions
|
|
149
|
+
- Technology stack decisions
|
|
150
|
+
- Design patterns to be used
|
|
151
|
+
|
|
152
|
+
2. **Implementation Phases**
|
|
153
|
+
- Break down work into logical phases
|
|
154
|
+
- Define dependencies between phases
|
|
155
|
+
- Estimate effort for each phase
|
|
156
|
+
|
|
157
|
+
3. **Component Design**
|
|
158
|
+
- Detailed design for each major component
|
|
159
|
+
- API contracts and interfaces
|
|
160
|
+
- Data models and schemas
|
|
161
|
+
|
|
162
|
+
4. **Technology Stack**
|
|
163
|
+
- Framework/library selection with rationale
|
|
164
|
+
- Architecture decisions (ADRs if significant)
|
|
165
|
+
|
|
166
|
+
5. **Testing Strategy**
|
|
167
|
+
- Unit test approach
|
|
168
|
+
- Integration test approach
|
|
169
|
+
- E2E test approach
|
|
170
|
+
- Coverage targets (95% for this increment)
|
|
171
|
+
|
|
172
|
+
6. **Deployment Architecture** (if applicable)
|
|
173
|
+
- Infrastructure requirements
|
|
174
|
+
- Deployment strategy
|
|
175
|
+
|
|
176
|
+
## Format
|
|
177
|
+
Follow the standard SpecWeave plan.md format with:
|
|
178
|
+
- YAML frontmatter (increment ID, architecture docs references)
|
|
179
|
+
- Clear section headers
|
|
180
|
+
- Markdown formatting
|
|
181
|
+
- Mermaid diagrams where helpful
|
|
182
|
+
|
|
183
|
+
## Constraints
|
|
184
|
+
- Must cover all ${acceptanceCriteria.size} acceptance criteria
|
|
185
|
+
- Must be implementable with SpecWeave's tech stack (TypeScript, Node.js)
|
|
186
|
+
- Must align with existing SpecWeave architecture
|
|
187
|
+
`;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Build prompt for test-aware-planner Agent
|
|
191
|
+
*/
|
|
192
|
+
buildPlannerPrompt(incrementId, acceptanceCriteria, phases, components) {
|
|
193
|
+
const acList = Array.from(acceptanceCriteria.keys());
|
|
194
|
+
return `# Test-Aware Planner Invocation for ${incrementId}
|
|
195
|
+
|
|
196
|
+
## Task
|
|
197
|
+
Generate a tasks.md file with embedded test plans for increment ${incrementId}.
|
|
198
|
+
|
|
199
|
+
## Input Summary
|
|
200
|
+
|
|
201
|
+
### Acceptance Criteria (${acList.length} total)
|
|
202
|
+
${acList.join(', ')}
|
|
203
|
+
|
|
204
|
+
### Implementation Phases (${phases.length} phases)
|
|
205
|
+
${phases.join('\n')}
|
|
206
|
+
|
|
207
|
+
### Components (${components.length} components)
|
|
208
|
+
${components.join('\n')}
|
|
209
|
+
|
|
210
|
+
## Expected Output
|
|
211
|
+
|
|
212
|
+
Generate tasks.md with:
|
|
213
|
+
|
|
214
|
+
1. **Task Breakdown**
|
|
215
|
+
- Each task implements 1-3 related acceptance criteria
|
|
216
|
+
- Clear task IDs (T-001, T-002, etc.)
|
|
217
|
+
- Sequential ordering with dependencies
|
|
218
|
+
|
|
219
|
+
2. **Embedded Test Plans**
|
|
220
|
+
- BDD format (Given/When/Then)
|
|
221
|
+
- Specific test cases (unit/integration/E2E)
|
|
222
|
+
- Coverage targets (95% for this increment)
|
|
223
|
+
|
|
224
|
+
3. **Task Format**
|
|
225
|
+
\`\`\`markdown
|
|
226
|
+
### T-001: [Task Name]
|
|
227
|
+
|
|
228
|
+
**User Story**: [US reference]
|
|
229
|
+
**AC**: AC-US##-##
|
|
230
|
+
**Priority**: P1
|
|
231
|
+
**Estimate**: X hours
|
|
232
|
+
|
|
233
|
+
**Test Plan**:
|
|
234
|
+
- **Given** [precondition]
|
|
235
|
+
- **When** [action]
|
|
236
|
+
- **Then** [expected outcome]
|
|
237
|
+
|
|
238
|
+
**Test Cases**:
|
|
239
|
+
1. **Unit**: tests/unit/[file].test.ts
|
|
240
|
+
- [test case description]
|
|
241
|
+
- Coverage Target: 95%
|
|
242
|
+
|
|
243
|
+
2. **Integration**: tests/integration/[file].test.ts
|
|
244
|
+
- [test case description]
|
|
245
|
+
|
|
246
|
+
**Dependencies**: T-XXX (if any)
|
|
247
|
+
\`\`\`
|
|
248
|
+
|
|
249
|
+
4. **Coverage Requirements**
|
|
250
|
+
- Overall target: 95%
|
|
251
|
+
- Critical paths: 100%
|
|
252
|
+
- Edge cases: 90%+
|
|
253
|
+
|
|
254
|
+
5. **Test Mode**
|
|
255
|
+
- TDD (Test-Driven Development)
|
|
256
|
+
- Write tests first, then implementation
|
|
257
|
+
|
|
258
|
+
## Constraints
|
|
259
|
+
- Must cover ALL ${acList.length} acceptance criteria
|
|
260
|
+
- Each AC must map to at least one task
|
|
261
|
+
- No task should take more than 8 hours
|
|
262
|
+
- Follow SpecWeave testing conventions
|
|
263
|
+
`;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Generate plan.md content (temporary implementation)
|
|
267
|
+
*
|
|
268
|
+
* This generates a basic plan structure. In production, this would be
|
|
269
|
+
* replaced by actual Architect Agent invocation.
|
|
270
|
+
*/
|
|
271
|
+
generateTemporaryPlan(context) {
|
|
272
|
+
const { incrementId, specContent } = context;
|
|
273
|
+
const requirements = this.extractRequirements(specContent);
|
|
274
|
+
const userStories = this.extractUserStories(specContent);
|
|
275
|
+
return `---
|
|
276
|
+
increment: ${incrementId}
|
|
277
|
+
architecture_docs:
|
|
278
|
+
- ../../docs/internal/architecture/system-design.md
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
# Implementation Plan: ${incrementId}
|
|
282
|
+
|
|
283
|
+
**Status**: Planning
|
|
284
|
+
**Created**: ${new Date().toISOString().split('T')[0]}
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## Architecture Overview
|
|
289
|
+
|
|
290
|
+
**Component Design**: To be defined by Architect Agent
|
|
291
|
+
|
|
292
|
+
**Technology Stack**: SpecWeave standard stack (TypeScript, Node.js, Jest)
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## Implementation Phases
|
|
297
|
+
|
|
298
|
+
### Phase 1: Foundation
|
|
299
|
+
- Requirements analysis
|
|
300
|
+
- Architecture design
|
|
301
|
+
- Technology selection
|
|
302
|
+
|
|
303
|
+
### Phase 2: Implementation
|
|
304
|
+
- Core component development
|
|
305
|
+
- Integration
|
|
306
|
+
- Testing
|
|
307
|
+
|
|
308
|
+
### Phase 3: Polish
|
|
309
|
+
- UX refinement
|
|
310
|
+
- Documentation
|
|
311
|
+
- Performance optimization
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## User Stories Summary
|
|
316
|
+
|
|
317
|
+
${userStories.length} user stories identified:
|
|
318
|
+
${userStories.map((us, i) => `${i + 1}. ${us}`).join('\n')}
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
## Testing Strategy
|
|
323
|
+
|
|
324
|
+
**Test Mode**: TDD
|
|
325
|
+
**Coverage Target**: 95%
|
|
326
|
+
|
|
327
|
+
**Approach**:
|
|
328
|
+
- Unit tests: 100+ test cases
|
|
329
|
+
- Integration tests: 40+ scenarios
|
|
330
|
+
- E2E tests: 15+ workflows
|
|
331
|
+
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
**Note**: This is a placeholder plan. Run the Architect Agent to generate the complete implementation plan.
|
|
335
|
+
`;
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Generate tasks.md content (temporary implementation)
|
|
339
|
+
*/
|
|
340
|
+
generateTemporaryTasks(context) {
|
|
341
|
+
const { incrementId, specContent } = context;
|
|
342
|
+
const acceptanceCriteria = this.extractAcceptanceCriteria(specContent);
|
|
343
|
+
return `# Tasks: ${incrementId}
|
|
344
|
+
|
|
345
|
+
---
|
|
346
|
+
increment: ${incrementId}
|
|
347
|
+
status: planned
|
|
348
|
+
test_mode: TDD
|
|
349
|
+
coverage_target: 95%
|
|
350
|
+
---
|
|
351
|
+
|
|
352
|
+
## Phase 1: Foundation
|
|
353
|
+
|
|
354
|
+
### T-001: Setup and Planning
|
|
355
|
+
|
|
356
|
+
**AC**: ${Array.from(acceptanceCriteria.keys()).slice(0, 3).join(', ')}
|
|
357
|
+
**Priority**: P1
|
|
358
|
+
**Estimate**: 4 hours
|
|
359
|
+
|
|
360
|
+
**Test Plan**:
|
|
361
|
+
- **Given** project structure exists
|
|
362
|
+
- **When** setup is complete
|
|
363
|
+
- **Then** all dependencies are installed and build passes
|
|
364
|
+
|
|
365
|
+
**Test Cases**:
|
|
366
|
+
1. **Unit**: tests/unit/setup.test.ts
|
|
367
|
+
- Should install dependencies successfully
|
|
368
|
+
- Should compile TypeScript without errors
|
|
369
|
+
- Coverage Target: 95%
|
|
370
|
+
|
|
371
|
+
**Status**: [ ] pending
|
|
372
|
+
|
|
373
|
+
---
|
|
374
|
+
|
|
375
|
+
**Note**: This is a placeholder tasks file. Run the test-aware-planner Agent to generate the complete task breakdown with embedded test plans.
|
|
376
|
+
|
|
377
|
+
**Total Acceptance Criteria**: ${acceptanceCriteria.size}
|
|
378
|
+
**Mapped to Tasks**: 1 (placeholder)
|
|
379
|
+
**Unmapped**: ${acceptanceCriteria.size - 1} (requires full task generation)
|
|
380
|
+
`;
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
//# sourceMappingURL=agent-invoker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-invoker.js","sourceRoot":"","sources":["../../../../../src/cli/commands/plan/agent-invoker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAiBH;;GAEG;AACH,MAAM,OAAO,YAAY;IACvB;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,OAA4B;QACrD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAExC,uCAAuC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACzD,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QAEvE,2CAA2C;QAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAC/C,WAAW,EACX,YAAY,EACZ,WAAW,EACX,kBAAkB,CACnB,CAAC;QAEF,yEAAyE;QACzE,0DAA0D;QAC1D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,eAAe;YACxB,SAAS,EAAE,WAAW;YACtB,aAAa,EAAE,aAAa;SAC7B,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,sBAAsB,CAAC,OAA4B;QACvD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,MAAM,WAAW,GAAG,OAAO,CAAC,oBAAqB,CAAC;QAClD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAExC,kCAAkC;QAClC,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAEvD,sCAAsC;QACtC,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAC3C,WAAW,EACX,kBAAkB,EAClB,MAAM,EACN,UAAU,CACX,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,aAAa;YACtB,SAAS,EAAE,oBAAoB;YAC/B,aAAa,EAAE,aAAa;SAC7B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,WAAmB;QAC7C,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,oFAAoF,CAAC;QACtG,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE/C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,WAAmB;QAC5C,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,gDAAgD,CAAC;QACjE,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE9C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,WAAmB;QACnD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC1C,MAAM,OAAO,GAAG,uCAAuC,CAAC;QACxD,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE9C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAExB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtB,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,WAAmB;QACvC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,kDAAkD,CAAC;QACtE,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEjD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,WAAmB;QAC3C,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,uDAAuD,CAAC;QAC1E,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEhD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,oBAAoB,CAC1B,WAAmB,EACnB,YAAsB,EACtB,WAAqB,EACrB,kBAAyC;QAEzC,OAAO,oCAAoC,WAAW;;;qEAGW,WAAW;;;EAG9E,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,6DAA6D;;;EAGjH,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kDAAkD;;;kBAGpF,kBAAkB,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA0CtB,kBAAkB,CAAC,IAAI;;;CAGzC,CAAC;IACA,CAAC;IAED;;OAEG;IACK,kBAAkB,CACxB,WAAmB,EACnB,kBAAyC,EACzC,MAAgB,EAChB,UAAoB;QAEpB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;QAErD,OAAO,uCAAuC,WAAW;;;kEAGK,WAAW;;;;2BAIlD,MAAM,CAAC,MAAM;EACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;;6BAEU,MAAM,CAAC,MAAM;EACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;;kBAED,UAAU,CAAC,MAAM;EACjC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAmDJ,MAAM,CAAC,MAAM;;;;CAI/B,CAAC;IACA,CAAC;IAED;;;;;OAKG;IACH,qBAAqB,CAAC,OAA4B;QAChD,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAEzD,OAAO;aACE,WAAW;;;;;yBAKC,WAAW;;;eAGrB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCnD,WAAW,CAAC,MAAM;EAClB,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;CAiBzD,CAAC;IACA,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,OAA4B;QACjD,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAC7C,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QAEvE,OAAO,YAAY,WAAW;;;aAGrB,WAAW;;;;;;;;;;UAUd,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;iCAqBrC,kBAAkB,CAAC,IAAI;;gBAExC,kBAAkB,CAAC,IAAI,GAAG,CAAC;CAC1C,CAAC;IACA,CAAC;CACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Increment Detector
|
|
3
|
+
*
|
|
4
|
+
* Auto-detects active increment when not explicitly specified.
|
|
5
|
+
* Prefers PLANNING status, falls back to ACTIVE if WIP=1.
|
|
6
|
+
*
|
|
7
|
+
* Part of increment 0039: Ultra-Smart Next Command
|
|
8
|
+
*/
|
|
9
|
+
import { IncrementDetectionResult } from './types.js';
|
|
10
|
+
export declare class IncrementDetector {
|
|
11
|
+
private projectRoot;
|
|
12
|
+
constructor(projectRoot?: string);
|
|
13
|
+
/**
|
|
14
|
+
* Auto-detect increment to plan
|
|
15
|
+
* Priority: PLANNING status > single ACTIVE increment
|
|
16
|
+
*/
|
|
17
|
+
detect(): Promise<IncrementDetectionResult>;
|
|
18
|
+
/**
|
|
19
|
+
* Validate that specified increment exists and is in suitable state
|
|
20
|
+
*/
|
|
21
|
+
validate(incrementId: string): Promise<IncrementDetectionResult>;
|
|
22
|
+
/**
|
|
23
|
+
* List all available increments
|
|
24
|
+
*/
|
|
25
|
+
private listAvailableIncrements;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=increment-detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"increment-detector.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/plan/increment-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAItD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,GAAE,MAAsB;IAI/C;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,wBAAwB,CAAC;IA4FjD;;OAEG;IACG,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAyCtE;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAchC"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Increment Detector
|
|
3
|
+
*
|
|
4
|
+
* Auto-detects active increment when not explicitly specified.
|
|
5
|
+
* Prefers PLANNING status, falls back to ACTIVE if WIP=1.
|
|
6
|
+
*
|
|
7
|
+
* Part of increment 0039: Ultra-Smart Next Command
|
|
8
|
+
*/
|
|
9
|
+
import { MetadataManager } from '../../../core/increment/metadata-manager.js';
|
|
10
|
+
import { IncrementStatus } from '../../../core/types/increment-metadata.js';
|
|
11
|
+
import * as fs from 'fs';
|
|
12
|
+
import * as path from 'path';
|
|
13
|
+
export class IncrementDetector {
|
|
14
|
+
constructor(projectRoot = process.cwd()) {
|
|
15
|
+
this.projectRoot = projectRoot;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Auto-detect increment to plan
|
|
19
|
+
* Priority: PLANNING status > single ACTIVE increment
|
|
20
|
+
*/
|
|
21
|
+
async detect() {
|
|
22
|
+
const incrementsDir = path.join(this.projectRoot, '.specweave/increments');
|
|
23
|
+
// Check if increments directory exists
|
|
24
|
+
if (!fs.existsSync(incrementsDir)) {
|
|
25
|
+
return {
|
|
26
|
+
success: false,
|
|
27
|
+
reason: 'No .specweave/increments directory found. Run `specweave init` first.',
|
|
28
|
+
candidates: []
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
// Get all increment directories
|
|
32
|
+
const allIncrements = fs.readdirSync(incrementsDir)
|
|
33
|
+
.filter(dir => {
|
|
34
|
+
const fullPath = path.join(incrementsDir, dir);
|
|
35
|
+
return fs.statSync(fullPath).isDirectory() && /^\d{4}-/.test(dir);
|
|
36
|
+
});
|
|
37
|
+
if (allIncrements.length === 0) {
|
|
38
|
+
return {
|
|
39
|
+
success: false,
|
|
40
|
+
reason: 'No increments found. Create an increment with `/specweave:increment` first.',
|
|
41
|
+
candidates: []
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
// Filter to PLANNING and ACTIVE increments
|
|
45
|
+
const planningIncrements = [];
|
|
46
|
+
const activeIncrements = [];
|
|
47
|
+
for (const incrementId of allIncrements) {
|
|
48
|
+
try {
|
|
49
|
+
const metadata = MetadataManager.read(incrementId);
|
|
50
|
+
if (metadata.status === IncrementStatus.PLANNING) {
|
|
51
|
+
planningIncrements.push(incrementId);
|
|
52
|
+
}
|
|
53
|
+
else if (metadata.status === IncrementStatus.ACTIVE) {
|
|
54
|
+
activeIncrements.push(incrementId);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
// Skip increments with invalid metadata
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// Priority 1: Single PLANNING increment
|
|
63
|
+
if (planningIncrements.length === 1) {
|
|
64
|
+
return {
|
|
65
|
+
success: true,
|
|
66
|
+
incrementId: planningIncrements[0],
|
|
67
|
+
reason: `Auto-detected increment in PLANNING status: ${planningIncrements[0]}`,
|
|
68
|
+
candidates: planningIncrements
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
// Priority 2: Multiple PLANNING increments (error - user must specify)
|
|
72
|
+
if (planningIncrements.length > 1) {
|
|
73
|
+
return {
|
|
74
|
+
success: false,
|
|
75
|
+
reason: `Multiple increments in PLANNING status found. Please specify which one to plan:\n${planningIncrements.map(id => ` - ${id}`).join('\n')}`,
|
|
76
|
+
candidates: planningIncrements
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
// Priority 3: Single ACTIVE increment (if WIP=1)
|
|
80
|
+
if (activeIncrements.length === 1) {
|
|
81
|
+
return {
|
|
82
|
+
success: true,
|
|
83
|
+
incrementId: activeIncrements[0],
|
|
84
|
+
reason: `Auto-detected single ACTIVE increment: ${activeIncrements[0]}`,
|
|
85
|
+
candidates: activeIncrements
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
// Priority 4: Multiple ACTIVE increments (error - user must specify)
|
|
89
|
+
if (activeIncrements.length > 1) {
|
|
90
|
+
return {
|
|
91
|
+
success: false,
|
|
92
|
+
reason: `Multiple ACTIVE increments found. Please specify which one to plan:\n${activeIncrements.map(id => ` - ${id}`).join('\n')}`,
|
|
93
|
+
candidates: activeIncrements
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
// No suitable increments found
|
|
97
|
+
return {
|
|
98
|
+
success: false,
|
|
99
|
+
reason: 'No PLANNING or ACTIVE increments found. Create an increment with `/specweave:increment` first.',
|
|
100
|
+
candidates: []
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Validate that specified increment exists and is in suitable state
|
|
105
|
+
*/
|
|
106
|
+
async validate(incrementId) {
|
|
107
|
+
const incrementPath = path.join(this.projectRoot, '.specweave/increments', incrementId);
|
|
108
|
+
// Check if increment exists
|
|
109
|
+
if (!fs.existsSync(incrementPath)) {
|
|
110
|
+
return {
|
|
111
|
+
success: false,
|
|
112
|
+
reason: `Increment '${incrementId}' not found. Available increments:\n${this.listAvailableIncrements().map(id => ` - ${id}`).join('\n')}`,
|
|
113
|
+
candidates: this.listAvailableIncrements()
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
// Read metadata
|
|
117
|
+
try {
|
|
118
|
+
const metadata = MetadataManager.read(incrementId);
|
|
119
|
+
// Check if increment is in suitable state
|
|
120
|
+
if (metadata.status === IncrementStatus.COMPLETED ||
|
|
121
|
+
metadata.status === IncrementStatus.ABANDONED) {
|
|
122
|
+
return {
|
|
123
|
+
success: false,
|
|
124
|
+
reason: `Increment '${incrementId}' is ${metadata.status}. Cannot generate plan for closed increments.`,
|
|
125
|
+
candidates: []
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
success: true,
|
|
130
|
+
incrementId,
|
|
131
|
+
reason: `Validated increment '${incrementId}' (status: ${metadata.status})`,
|
|
132
|
+
candidates: [incrementId]
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
return {
|
|
137
|
+
success: false,
|
|
138
|
+
reason: `Failed to read metadata for increment '${incrementId}': ${error instanceof Error ? error.message : String(error)}`,
|
|
139
|
+
candidates: []
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* List all available increments
|
|
145
|
+
*/
|
|
146
|
+
listAvailableIncrements() {
|
|
147
|
+
const incrementsDir = path.join(this.projectRoot, '.specweave/increments');
|
|
148
|
+
if (!fs.existsSync(incrementsDir)) {
|
|
149
|
+
return [];
|
|
150
|
+
}
|
|
151
|
+
return fs.readdirSync(incrementsDir)
|
|
152
|
+
.filter(dir => {
|
|
153
|
+
const fullPath = path.join(incrementsDir, dir);
|
|
154
|
+
return fs.statSync(fullPath).isDirectory() && /^\d{4}-/.test(dir);
|
|
155
|
+
})
|
|
156
|
+
.sort();
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=increment-detector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"increment-detector.js","sourceRoot":"","sources":["../../../../../src/cli/commands/plan/increment-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAE5E,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,OAAO,iBAAiB;IAG5B,YAAY,cAAsB,OAAO,CAAC,GAAG,EAAE;QAC7C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;QAE3E,uCAAuC;QACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAClC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,uEAAuE;gBAC/E,UAAU,EAAE,EAAE;aACf,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,MAAM,aAAa,GAAG,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC;aAChD,MAAM,CAAC,GAAG,CAAC,EAAE;YACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;YAC/C,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEL,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,6EAA6E;gBACrF,UAAU,EAAE,EAAE;aACf,CAAC;QACJ,CAAC;QAED,2CAA2C;QAC3C,MAAM,kBAAkB,GAAa,EAAE,CAAC;QACxC,MAAM,gBAAgB,GAAa,EAAE,CAAC;QAEtC,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAEnD,IAAI,QAAQ,CAAC,MAAM,KAAK,eAAe,CAAC,QAAQ,EAAE,CAAC;oBACjD,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACvC,CAAC;qBAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;oBACtD,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wCAAwC;gBACxC,SAAS;YACX,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC;gBAClC,MAAM,EAAE,+CAA+C,kBAAkB,CAAC,CAAC,CAAC,EAAE;gBAC9E,UAAU,EAAE,kBAAkB;aAC/B,CAAC;QACJ,CAAC;QAED,uEAAuE;QACvE,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,oFAAoF,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAClJ,UAAU,EAAE,kBAAkB;aAC/B,CAAC;QACJ,CAAC;QAED,iDAAiD;QACjD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;gBAChC,MAAM,EAAE,0CAA0C,gBAAgB,CAAC,CAAC,CAAC,EAAE;gBACvE,UAAU,EAAE,gBAAgB;aAC7B,CAAC;QACJ,CAAC;QAED,qEAAqE;QACrE,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,wEAAwE,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACpI,UAAU,EAAE,gBAAgB;aAC7B,CAAC;QACJ,CAAC;QAED,+BAA+B;QAC/B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,gGAAgG;YACxG,UAAU,EAAE,EAAE;SACf,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,WAAmB;QAChC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,EAAE,WAAW,CAAC,CAAC;QAExF,4BAA4B;QAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAClC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,cAAc,WAAW,uCAAuC,IAAI,CAAC,uBAAuB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC1I,UAAU,EAAE,IAAI,CAAC,uBAAuB,EAAE;aAC3C,CAAC;QACJ,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEnD,0CAA0C;YAC1C,IAAI,QAAQ,CAAC,MAAM,KAAK,eAAe,CAAC,SAAS;gBAC7C,QAAQ,CAAC,MAAM,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC;gBAClD,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,cAAc,WAAW,QAAQ,QAAQ,CAAC,MAAM,+CAA+C;oBACvG,UAAU,EAAE,EAAE;iBACf,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,WAAW;gBACX,MAAM,EAAE,wBAAwB,WAAW,cAAc,QAAQ,CAAC,MAAM,GAAG;gBAC3E,UAAU,EAAE,CAAC,WAAW,CAAC;aAC1B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,0CAA0C,WAAW,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBAC3H,UAAU,EAAE,EAAE;aACf,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,uBAAuB;QAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;QAE3E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC;aACjC,MAAM,CAAC,GAAG,CAAC,EAAE;YACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;YAC/C,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpE,CAAC,CAAC;aACD,IAAI,EAAE,CAAC;IACZ,CAAC;CACF"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plan Command Orchestrator
|
|
3
|
+
*
|
|
4
|
+
* Main orchestration logic for /specweave:plan command.
|
|
5
|
+
* Coordinates: detection → validation → architect agent → task generator → file write
|
|
6
|
+
*
|
|
7
|
+
* Part of increment 0039: Ultra-Smart Next Command
|
|
8
|
+
*/
|
|
9
|
+
import { PlanCommandConfig, PlanCommandResult } from './types.js';
|
|
10
|
+
export declare class PlanCommandOrchestrator {
|
|
11
|
+
private projectRoot;
|
|
12
|
+
private detector;
|
|
13
|
+
private validator;
|
|
14
|
+
private agentInvoker;
|
|
15
|
+
constructor(projectRoot?: string);
|
|
16
|
+
/**
|
|
17
|
+
* Execute /specweave:plan command
|
|
18
|
+
*/
|
|
19
|
+
execute(config: PlanCommandConfig): Promise<PlanCommandResult>;
|
|
20
|
+
/**
|
|
21
|
+
* Detect or validate increment ID
|
|
22
|
+
*/
|
|
23
|
+
private detectIncrement;
|
|
24
|
+
/**
|
|
25
|
+
* Write plan.md and tasks.md files
|
|
26
|
+
*/
|
|
27
|
+
private writeFiles;
|
|
28
|
+
/**
|
|
29
|
+
* Update increment metadata after planning
|
|
30
|
+
*/
|
|
31
|
+
private updateMetadata;
|
|
32
|
+
/**
|
|
33
|
+
* Create failure result
|
|
34
|
+
*/
|
|
35
|
+
private createFailureResult;
|
|
36
|
+
/**
|
|
37
|
+
* Generate placeholder plan.md (temporary - will be replaced with Architect Agent)
|
|
38
|
+
*/
|
|
39
|
+
private generatePlaceholderPlan;
|
|
40
|
+
/**
|
|
41
|
+
* Generate placeholder tasks.md (temporary - will be replaced with TaskGenerator)
|
|
42
|
+
*/
|
|
43
|
+
private generatePlaceholderTasks;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=plan-orchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-orchestrator.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/plan/plan-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAIlB,MAAM,YAAY,CAAC;AAQpB,qBAAa,uBAAuB;IAClC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,YAAY,CAAe;gBAEvB,WAAW,GAAE,MAAsB;IAO/C;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAqFpE;;OAEG;YACW,eAAe;IAsB7B;;OAEG;YACW,UAAU;IAuBxB;;OAEG;YACW,cAAc;IA0B5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAgC/B;;OAEG;IACH,OAAO,CAAC,wBAAwB;CAqBjC"}
|