red64-cli 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 +454 -0
- package/dist/cli/parseArgs.d.ts +16 -0
- package/dist/cli/parseArgs.d.ts.map +1 -0
- package/dist/cli/parseArgs.js +172 -0
- package/dist/cli/parseArgs.js.map +1 -0
- package/dist/cli/validateFlags.d.ts +22 -0
- package/dist/cli/validateFlags.d.ts.map +1 -0
- package/dist/cli/validateFlags.js +24 -0
- package/dist/cli/validateFlags.js.map +1 -0
- package/dist/cli.d.ts +7 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +90 -0
- package/dist/cli.js.map +1 -0
- package/dist/components/App.d.ts +20 -0
- package/dist/components/App.d.ts.map +1 -0
- package/dist/components/App.js +35 -0
- package/dist/components/App.js.map +1 -0
- package/dist/components/CommandRouter.d.ts +21 -0
- package/dist/components/CommandRouter.d.ts.map +1 -0
- package/dist/components/CommandRouter.js +30 -0
- package/dist/components/CommandRouter.js.map +1 -0
- package/dist/components/GlobalConfig.d.ts +26 -0
- package/dist/components/GlobalConfig.d.ts.map +1 -0
- package/dist/components/GlobalConfig.js +30 -0
- package/dist/components/GlobalConfig.js.map +1 -0
- package/dist/components/index.d.ts +9 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +9 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/init/CompleteStep.d.ts +11 -0
- package/dist/components/init/CompleteStep.d.ts.map +1 -0
- package/dist/components/init/CompleteStep.js +15 -0
- package/dist/components/init/CompleteStep.js.map +1 -0
- package/dist/components/init/ErrorStep.d.ts +14 -0
- package/dist/components/init/ErrorStep.d.ts.map +1 -0
- package/dist/components/init/ErrorStep.js +36 -0
- package/dist/components/init/ErrorStep.js.map +1 -0
- package/dist/components/init/FetchStep.d.ts +15 -0
- package/dist/components/init/FetchStep.d.ts.map +1 -0
- package/dist/components/init/FetchStep.js +33 -0
- package/dist/components/init/FetchStep.js.map +1 -0
- package/dist/components/init/SetupStep.d.ts +14 -0
- package/dist/components/init/SetupStep.d.ts.map +1 -0
- package/dist/components/init/SetupStep.js +78 -0
- package/dist/components/init/SetupStep.js.map +1 -0
- package/dist/components/init/SteeringStep.d.ts +12 -0
- package/dist/components/init/SteeringStep.d.ts.map +1 -0
- package/dist/components/init/SteeringStep.js +43 -0
- package/dist/components/init/SteeringStep.js.map +1 -0
- package/dist/components/init/WelcomeStep.d.ts +12 -0
- package/dist/components/init/WelcomeStep.d.ts.map +1 -0
- package/dist/components/init/WelcomeStep.js +52 -0
- package/dist/components/init/WelcomeStep.js.map +1 -0
- package/dist/components/init/index.d.ts +11 -0
- package/dist/components/init/index.d.ts.map +1 -0
- package/dist/components/init/index.js +10 -0
- package/dist/components/init/index.js.map +1 -0
- package/dist/components/init/types.d.ts +98 -0
- package/dist/components/init/types.d.ts.map +1 -0
- package/dist/components/init/types.js +6 -0
- package/dist/components/init/types.js.map +1 -0
- package/dist/components/screens/AbortScreen.d.ts +14 -0
- package/dist/components/screens/AbortScreen.d.ts.map +1 -0
- package/dist/components/screens/AbortScreen.js +181 -0
- package/dist/components/screens/AbortScreen.js.map +1 -0
- package/dist/components/screens/ApprovalScreen.d.ts +24 -0
- package/dist/components/screens/ApprovalScreen.d.ts.map +1 -0
- package/dist/components/screens/ApprovalScreen.js +82 -0
- package/dist/components/screens/ApprovalScreen.js.map +1 -0
- package/dist/components/screens/HelpScreen.d.ts +20 -0
- package/dist/components/screens/HelpScreen.d.ts.map +1 -0
- package/dist/components/screens/HelpScreen.js +70 -0
- package/dist/components/screens/HelpScreen.js.map +1 -0
- package/dist/components/screens/InitScreen.d.ts +15 -0
- package/dist/components/screens/InitScreen.d.ts.map +1 -0
- package/dist/components/screens/InitScreen.js +420 -0
- package/dist/components/screens/InitScreen.js.map +1 -0
- package/dist/components/screens/ListScreen.d.ts +14 -0
- package/dist/components/screens/ListScreen.d.ts.map +1 -0
- package/dist/components/screens/ListScreen.js +57 -0
- package/dist/components/screens/ListScreen.js.map +1 -0
- package/dist/components/screens/ProgressScreen.d.ts +26 -0
- package/dist/components/screens/ProgressScreen.d.ts.map +1 -0
- package/dist/components/screens/ProgressScreen.js +64 -0
- package/dist/components/screens/ProgressScreen.js.map +1 -0
- package/dist/components/screens/ResumeScreen.d.ts +14 -0
- package/dist/components/screens/ResumeScreen.d.ts.map +1 -0
- package/dist/components/screens/ResumeScreen.js +108 -0
- package/dist/components/screens/ResumeScreen.js.map +1 -0
- package/dist/components/screens/ScreenProps.d.ts +12 -0
- package/dist/components/screens/ScreenProps.d.ts.map +1 -0
- package/dist/components/screens/ScreenProps.js +5 -0
- package/dist/components/screens/ScreenProps.js.map +1 -0
- package/dist/components/screens/StartScreen.d.ts +26 -0
- package/dist/components/screens/StartScreen.d.ts.map +1 -0
- package/dist/components/screens/StartScreen.js +1021 -0
- package/dist/components/screens/StartScreen.js.map +1 -0
- package/dist/components/screens/StatusScreen.d.ts +14 -0
- package/dist/components/screens/StatusScreen.d.ts.map +1 -0
- package/dist/components/screens/StatusScreen.js +115 -0
- package/dist/components/screens/StatusScreen.js.map +1 -0
- package/dist/components/screens/index.d.ts +15 -0
- package/dist/components/screens/index.d.ts.map +1 -0
- package/dist/components/screens/index.js +12 -0
- package/dist/components/screens/index.js.map +1 -0
- package/dist/components/ui/ErrorBoundary.d.ts +34 -0
- package/dist/components/ui/ErrorBoundary.d.ts.map +1 -0
- package/dist/components/ui/ErrorBoundary.js +37 -0
- package/dist/components/ui/ErrorBoundary.js.map +1 -0
- package/dist/components/ui/ErrorDisplay.d.ts +20 -0
- package/dist/components/ui/ErrorDisplay.d.ts.map +1 -0
- package/dist/components/ui/ErrorDisplay.js +12 -0
- package/dist/components/ui/ErrorDisplay.js.map +1 -0
- package/dist/components/ui/ErrorRecoveryPrompt.d.ts +30 -0
- package/dist/components/ui/ErrorRecoveryPrompt.d.ts.map +1 -0
- package/dist/components/ui/ErrorRecoveryPrompt.js +66 -0
- package/dist/components/ui/ErrorRecoveryPrompt.js.map +1 -0
- package/dist/components/ui/FeatureSidebar.d.ts +27 -0
- package/dist/components/ui/FeatureSidebar.d.ts.map +1 -0
- package/dist/components/ui/FeatureSidebar.js +166 -0
- package/dist/components/ui/FeatureSidebar.js.map +1 -0
- package/dist/components/ui/FlowTable.d.ts +21 -0
- package/dist/components/ui/FlowTable.d.ts.map +1 -0
- package/dist/components/ui/FlowTable.js +105 -0
- package/dist/components/ui/FlowTable.js.map +1 -0
- package/dist/components/ui/Header.d.ts +20 -0
- package/dist/components/ui/Header.d.ts.map +1 -0
- package/dist/components/ui/Header.js +11 -0
- package/dist/components/ui/Header.js.map +1 -0
- package/dist/components/ui/OutputRegion.d.ts +20 -0
- package/dist/components/ui/OutputRegion.d.ts.map +1 -0
- package/dist/components/ui/OutputRegion.js +14 -0
- package/dist/components/ui/OutputRegion.js.map +1 -0
- package/dist/components/ui/PhaseProgressView.d.ts +23 -0
- package/dist/components/ui/PhaseProgressView.d.ts.map +1 -0
- package/dist/components/ui/PhaseProgressView.js +117 -0
- package/dist/components/ui/PhaseProgressView.js.map +1 -0
- package/dist/components/ui/ProgressBar.d.ts +20 -0
- package/dist/components/ui/ProgressBar.d.ts.map +1 -0
- package/dist/components/ui/ProgressBar.js +12 -0
- package/dist/components/ui/ProgressBar.js.map +1 -0
- package/dist/components/ui/SelectMenu.d.ts +27 -0
- package/dist/components/ui/SelectMenu.d.ts.map +1 -0
- package/dist/components/ui/SelectMenu.js +21 -0
- package/dist/components/ui/SelectMenu.js.map +1 -0
- package/dist/components/ui/Spinner.d.ts +18 -0
- package/dist/components/ui/Spinner.d.ts.map +1 -0
- package/dist/components/ui/Spinner.js +10 -0
- package/dist/components/ui/Spinner.js.map +1 -0
- package/dist/components/ui/StatusLine.d.ts +21 -0
- package/dist/components/ui/StatusLine.d.ts.map +1 -0
- package/dist/components/ui/StatusLine.js +30 -0
- package/dist/components/ui/StatusLine.js.map +1 -0
- package/dist/components/ui/index.d.ts +16 -0
- package/dist/components/ui/index.d.ts.map +1 -0
- package/dist/components/ui/index.js +16 -0
- package/dist/components/ui/index.js.map +1 -0
- package/dist/services/AgentInvoker.d.ts +20 -0
- package/dist/services/AgentInvoker.d.ts.map +1 -0
- package/dist/services/AgentInvoker.js +282 -0
- package/dist/services/AgentInvoker.js.map +1 -0
- package/dist/services/BranchService.d.ts +28 -0
- package/dist/services/BranchService.d.ts.map +1 -0
- package/dist/services/BranchService.js +114 -0
- package/dist/services/BranchService.js.map +1 -0
- package/dist/services/CacheService.d.ts +57 -0
- package/dist/services/CacheService.d.ts.map +1 -0
- package/dist/services/CacheService.js +208 -0
- package/dist/services/CacheService.js.map +1 -0
- package/dist/services/ClaudeErrorDetector.d.ts +45 -0
- package/dist/services/ClaudeErrorDetector.d.ts.map +1 -0
- package/dist/services/ClaudeErrorDetector.js +207 -0
- package/dist/services/ClaudeErrorDetector.js.map +1 -0
- package/dist/services/ClaudeHealthCheck.d.ts +37 -0
- package/dist/services/ClaudeHealthCheck.d.ts.map +1 -0
- package/dist/services/ClaudeHealthCheck.js +197 -0
- package/dist/services/ClaudeHealthCheck.js.map +1 -0
- package/dist/services/CommitService.d.ts +36 -0
- package/dist/services/CommitService.d.ts.map +1 -0
- package/dist/services/CommitService.js +159 -0
- package/dist/services/CommitService.js.map +1 -0
- package/dist/services/ConfigService.d.ts +49 -0
- package/dist/services/ConfigService.d.ts.map +1 -0
- package/dist/services/ConfigService.js +57 -0
- package/dist/services/ConfigService.js.map +1 -0
- package/dist/services/DockerRunner.d.ts +45 -0
- package/dist/services/DockerRunner.d.ts.map +1 -0
- package/dist/services/DockerRunner.js +170 -0
- package/dist/services/DockerRunner.js.map +1 -0
- package/dist/services/ExtendedFlowStateMachine.d.ts +31 -0
- package/dist/services/ExtendedFlowStateMachine.d.ts.map +1 -0
- package/dist/services/ExtendedFlowStateMachine.js +302 -0
- package/dist/services/ExtendedFlowStateMachine.js.map +1 -0
- package/dist/services/FeatureValidator.d.ts +26 -0
- package/dist/services/FeatureValidator.d.ts.map +1 -0
- package/dist/services/FeatureValidator.js +48 -0
- package/dist/services/FeatureValidator.js.map +1 -0
- package/dist/services/FlowStateMachine.d.ts +26 -0
- package/dist/services/FlowStateMachine.d.ts.map +1 -0
- package/dist/services/FlowStateMachine.js +177 -0
- package/dist/services/FlowStateMachine.js.map +1 -0
- package/dist/services/GitHubService.d.ts +72 -0
- package/dist/services/GitHubService.d.ts.map +1 -0
- package/dist/services/GitHubService.js +150 -0
- package/dist/services/GitHubService.js.map +1 -0
- package/dist/services/GitStatusChecker.d.ts +29 -0
- package/dist/services/GitStatusChecker.d.ts.map +1 -0
- package/dist/services/GitStatusChecker.js +127 -0
- package/dist/services/GitStatusChecker.js.map +1 -0
- package/dist/services/PRCreatorService.d.ts +59 -0
- package/dist/services/PRCreatorService.d.ts.map +1 -0
- package/dist/services/PRCreatorService.js +212 -0
- package/dist/services/PRCreatorService.js.map +1 -0
- package/dist/services/PRStatusFetcher.d.ts +39 -0
- package/dist/services/PRStatusFetcher.d.ts.map +1 -0
- package/dist/services/PRStatusFetcher.js +144 -0
- package/dist/services/PRStatusFetcher.js.map +1 -0
- package/dist/services/PhaseExecutor.d.ts +29 -0
- package/dist/services/PhaseExecutor.d.ts.map +1 -0
- package/dist/services/PhaseExecutor.js +125 -0
- package/dist/services/PhaseExecutor.js.map +1 -0
- package/dist/services/SpecInitService.d.ts +33 -0
- package/dist/services/SpecInitService.d.ts.map +1 -0
- package/dist/services/SpecInitService.js +168 -0
- package/dist/services/SpecInitService.js.map +1 -0
- package/dist/services/StateStore.d.ts +24 -0
- package/dist/services/StateStore.d.ts.map +1 -0
- package/dist/services/StateStore.js +171 -0
- package/dist/services/StateStore.js.map +1 -0
- package/dist/services/TaskParser.d.ts +44 -0
- package/dist/services/TaskParser.d.ts.map +1 -0
- package/dist/services/TaskParser.js +167 -0
- package/dist/services/TaskParser.js.map +1 -0
- package/dist/services/TaskRunner.d.ts +52 -0
- package/dist/services/TaskRunner.d.ts.map +1 -0
- package/dist/services/TaskRunner.js +135 -0
- package/dist/services/TaskRunner.js.map +1 -0
- package/dist/services/TemplateService.d.ts +73 -0
- package/dist/services/TemplateService.d.ts.map +1 -0
- package/dist/services/TemplateService.js +263 -0
- package/dist/services/TemplateService.js.map +1 -0
- package/dist/services/WorktreeService.d.ts +51 -0
- package/dist/services/WorktreeService.d.ts.map +1 -0
- package/dist/services/WorktreeService.js +204 -0
- package/dist/services/WorktreeService.js.map +1 -0
- package/dist/services/index.d.ts +25 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +25 -0
- package/dist/services/index.js.map +1 -0
- package/dist/types/extended-flow.d.ts +167 -0
- package/dist/types/extended-flow.d.ts.map +1 -0
- package/dist/types/extended-flow.js +103 -0
- package/dist/types/extended-flow.js.map +1 -0
- package/dist/types/index.d.ts +210 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +28 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/git.d.ts +41 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +68 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/paths.d.ts +30 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +43 -0
- package/dist/utils/paths.js.map +1 -0
- package/framework/.red64/settings/rules/design-discovery-full.md +93 -0
- package/framework/.red64/settings/rules/design-discovery-light.md +49 -0
- package/framework/.red64/settings/rules/design-principles.md +182 -0
- package/framework/.red64/settings/rules/design-review.md +110 -0
- package/framework/.red64/settings/rules/ears-format.md +49 -0
- package/framework/.red64/settings/rules/gap-analysis.md +144 -0
- package/framework/.red64/settings/rules/steering-principles.md +90 -0
- package/framework/.red64/settings/rules/tasks-generation.md +131 -0
- package/framework/.red64/settings/rules/tasks-parallel-analysis.md +34 -0
- package/framework/.red64/settings/templates/flow-state.json +48 -0
- package/framework/.red64/settings/templates/specs/design.md +276 -0
- package/framework/.red64/settings/templates/specs/init.json +24 -0
- package/framework/.red64/settings/templates/specs/requirements-init.md +9 -0
- package/framework/.red64/settings/templates/specs/requirements.md +26 -0
- package/framework/.red64/settings/templates/specs/research.md +61 -0
- package/framework/.red64/settings/templates/specs/tasks.md +21 -0
- package/framework/.red64/settings/templates/steering/product.md +18 -0
- package/framework/.red64/settings/templates/steering/structure.md +41 -0
- package/framework/.red64/settings/templates/steering/tech.md +45 -0
- package/framework/.red64/settings/templates/steering-custom/api-standards.md +69 -0
- package/framework/.red64/settings/templates/steering-custom/authentication.md +67 -0
- package/framework/.red64/settings/templates/steering-custom/database.md +46 -0
- package/framework/.red64/settings/templates/steering-custom/deployment.md +54 -0
- package/framework/.red64/settings/templates/steering-custom/error-handling.md +59 -0
- package/framework/.red64/settings/templates/steering-custom/security.md +55 -0
- package/framework/.red64/settings/templates/steering-custom/testing.md +47 -0
- package/framework/agents/claude/.claude/agents/red64/spec-design.md +174 -0
- package/framework/agents/claude/.claude/agents/red64/spec-impl.md +120 -0
- package/framework/agents/claude/.claude/agents/red64/spec-requirements.md +102 -0
- package/framework/agents/claude/.claude/agents/red64/spec-tasks.md +141 -0
- package/framework/agents/claude/.claude/agents/red64/steering-custom.md +147 -0
- package/framework/agents/claude/.claude/agents/red64/steering.md +163 -0
- package/framework/agents/claude/.claude/agents/red64/validate-design.md +98 -0
- package/framework/agents/claude/.claude/agents/red64/validate-gap.md +99 -0
- package/framework/agents/claude/.claude/agents/red64/validate-impl.md +146 -0
- package/framework/agents/claude/.claude/commands/red64/spec-design.md +64 -0
- package/framework/agents/claude/.claude/commands/red64/spec-impl.md +68 -0
- package/framework/agents/claude/.claude/commands/red64/spec-init.md +65 -0
- package/framework/agents/claude/.claude/commands/red64/spec-quick.md +360 -0
- package/framework/agents/claude/.claude/commands/red64/spec-requirements.md +62 -0
- package/framework/agents/claude/.claude/commands/red64/spec-status.md +87 -0
- package/framework/agents/claude/.claude/commands/red64/spec-tasks.md +75 -0
- package/framework/agents/claude/.claude/commands/red64/steering-custom.md +59 -0
- package/framework/agents/claude/.claude/commands/red64/steering.md +62 -0
- package/framework/agents/claude/.claude/commands/red64/validate-design.md +59 -0
- package/framework/agents/claude/.claude/commands/red64/validate-gap.md +53 -0
- package/framework/agents/claude/.claude/commands/red64/validate-impl.md +68 -0
- package/framework/agents/claude/docs/CLAUDE.md +45 -0
- package/framework/agents/codex/.codex/agents/red64/spec-design.md +174 -0
- package/framework/agents/codex/.codex/agents/red64/spec-impl.md +120 -0
- package/framework/agents/codex/.codex/agents/red64/spec-requirements.md +102 -0
- package/framework/agents/codex/.codex/agents/red64/spec-tasks.md +141 -0
- package/framework/agents/codex/.codex/agents/red64/steering-custom.md +147 -0
- package/framework/agents/codex/.codex/agents/red64/steering.md +163 -0
- package/framework/agents/codex/.codex/agents/red64/validate-design.md +98 -0
- package/framework/agents/codex/.codex/agents/red64/validate-gap.md +99 -0
- package/framework/agents/codex/.codex/agents/red64/validate-impl.md +146 -0
- package/framework/agents/codex/.codex/commands/red64/spec-design.md +64 -0
- package/framework/agents/codex/.codex/commands/red64/spec-impl.md +68 -0
- package/framework/agents/codex/.codex/commands/red64/spec-init.md +65 -0
- package/framework/agents/codex/.codex/commands/red64/spec-quick.md +360 -0
- package/framework/agents/codex/.codex/commands/red64/spec-requirements.md +62 -0
- package/framework/agents/codex/.codex/commands/red64/spec-status.md +87 -0
- package/framework/agents/codex/.codex/commands/red64/spec-tasks.md +75 -0
- package/framework/agents/codex/.codex/commands/red64/steering-custom.md +59 -0
- package/framework/agents/codex/.codex/commands/red64/steering.md +62 -0
- package/framework/agents/codex/.codex/commands/red64/validate-design.md +59 -0
- package/framework/agents/codex/.codex/commands/red64/validate-gap.md +53 -0
- package/framework/agents/codex/.codex/commands/red64/validate-impl.md +68 -0
- package/framework/agents/codex/docs/AGENTS.md +68 -0
- package/framework/agents/gemini/commands.toml +607 -0
- package/framework/agents/gemini/docs/GEMINI.md +45 -0
- package/framework/stacks/generic/product.md +27 -0
- package/framework/stacks/generic/structure.md +46 -0
- package/framework/stacks/generic/tech.md +47 -0
- package/framework/stacks/node/product.md +27 -0
- package/framework/stacks/node/structure.md +82 -0
- package/framework/stacks/node/tech.md +63 -0
- package/framework/stacks/python/product.md +27 -0
- package/framework/stacks/python/structure.md +78 -0
- package/framework/stacks/python/tech.md +64 -0
- package/framework/stacks/react/product.md +27 -0
- package/framework/stacks/react/structure.md +76 -0
- package/framework/stacks/react/tech.md +65 -0
- package/package.json +47 -0
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core type system for flow orchestration
|
|
3
|
+
* Requirements: 1.1, 1.2, 4.1-4.7, 5.1-5.5
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Status type for UI states
|
|
7
|
+
*/
|
|
8
|
+
export type Status = 'pending' | 'running' | 'success' | 'error' | 'warning';
|
|
9
|
+
/**
|
|
10
|
+
* Command type union for all supported commands
|
|
11
|
+
* Requirements: 4.1-4.7
|
|
12
|
+
*/
|
|
13
|
+
export type Command = 'init' | 'start' | 'status' | 'list' | 'abort' | 'help' | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* GlobalFlags interface for CLI options
|
|
16
|
+
* Requirements: 5.1-5.5
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Supported coding agents
|
|
20
|
+
*/
|
|
21
|
+
export type CodingAgent = 'claude' | 'gemini' | 'codex';
|
|
22
|
+
/**
|
|
23
|
+
* Model options per agent
|
|
24
|
+
* Cheap models for development, expensive for production
|
|
25
|
+
*/
|
|
26
|
+
export declare const AGENT_MODELS: Record<CodingAgent, {
|
|
27
|
+
cheap: string;
|
|
28
|
+
best: string;
|
|
29
|
+
all: readonly string[];
|
|
30
|
+
}>;
|
|
31
|
+
export interface GlobalFlags {
|
|
32
|
+
readonly skipPermissions: boolean;
|
|
33
|
+
readonly brownfield: boolean;
|
|
34
|
+
readonly greenfield: boolean;
|
|
35
|
+
readonly tier: string | undefined;
|
|
36
|
+
readonly help: boolean;
|
|
37
|
+
readonly version: boolean;
|
|
38
|
+
readonly verbose: boolean;
|
|
39
|
+
readonly yes: boolean;
|
|
40
|
+
readonly sandbox: boolean;
|
|
41
|
+
readonly model?: string;
|
|
42
|
+
readonly repo?: string;
|
|
43
|
+
readonly stack?: string;
|
|
44
|
+
readonly 'skip-guided'?: boolean;
|
|
45
|
+
readonly 'no-steering'?: boolean;
|
|
46
|
+
readonly 'no-cache'?: boolean;
|
|
47
|
+
readonly agent?: CodingAgent;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* CLIConfig interface combining command, args, and flags
|
|
51
|
+
* Requirements: 4.1-4.7, 5.1-5.5
|
|
52
|
+
*/
|
|
53
|
+
export interface CLIConfig {
|
|
54
|
+
readonly command: Command;
|
|
55
|
+
readonly args: readonly string[];
|
|
56
|
+
readonly flags: GlobalFlags;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* FlowPhase discriminated union covering all workflow states
|
|
60
|
+
* Requirement: 1.1 - Deterministic state machine
|
|
61
|
+
*/
|
|
62
|
+
export type FlowPhase = {
|
|
63
|
+
type: 'idle';
|
|
64
|
+
} | {
|
|
65
|
+
type: 'initializing';
|
|
66
|
+
feature: string;
|
|
67
|
+
description: string;
|
|
68
|
+
} | {
|
|
69
|
+
type: 'requirements-generating';
|
|
70
|
+
feature: string;
|
|
71
|
+
} | {
|
|
72
|
+
type: 'requirements-review';
|
|
73
|
+
feature: string;
|
|
74
|
+
} | {
|
|
75
|
+
type: 'design-generating';
|
|
76
|
+
feature: string;
|
|
77
|
+
} | {
|
|
78
|
+
type: 'design-review';
|
|
79
|
+
feature: string;
|
|
80
|
+
} | {
|
|
81
|
+
type: 'tasks-generating';
|
|
82
|
+
feature: string;
|
|
83
|
+
} | {
|
|
84
|
+
type: 'tasks-review';
|
|
85
|
+
feature: string;
|
|
86
|
+
} | {
|
|
87
|
+
type: 'implementing';
|
|
88
|
+
feature: string;
|
|
89
|
+
currentTask: number;
|
|
90
|
+
totalTasks: number;
|
|
91
|
+
} | {
|
|
92
|
+
type: 'complete';
|
|
93
|
+
feature: string;
|
|
94
|
+
} | {
|
|
95
|
+
type: 'aborted';
|
|
96
|
+
feature: string;
|
|
97
|
+
reason: string;
|
|
98
|
+
} | {
|
|
99
|
+
type: 'error';
|
|
100
|
+
feature: string;
|
|
101
|
+
error: string;
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* FlowEvent discriminated union for all valid state transitions
|
|
105
|
+
* Requirement: 1.1 - Deterministic state machine
|
|
106
|
+
*/
|
|
107
|
+
export type FlowEvent = {
|
|
108
|
+
type: 'START';
|
|
109
|
+
feature: string;
|
|
110
|
+
description: string;
|
|
111
|
+
} | {
|
|
112
|
+
type: 'RESUME';
|
|
113
|
+
feature: string;
|
|
114
|
+
} | {
|
|
115
|
+
type: 'PHASE_COMPLETE';
|
|
116
|
+
} | {
|
|
117
|
+
type: 'APPROVE';
|
|
118
|
+
} | {
|
|
119
|
+
type: 'REJECT';
|
|
120
|
+
} | {
|
|
121
|
+
type: 'ABORT';
|
|
122
|
+
reason: string;
|
|
123
|
+
} | {
|
|
124
|
+
type: 'ERROR';
|
|
125
|
+
error: string;
|
|
126
|
+
};
|
|
127
|
+
/**
|
|
128
|
+
* Phase completion metrics for tracking timing per phase
|
|
129
|
+
*/
|
|
130
|
+
export interface PhaseMetric {
|
|
131
|
+
readonly startedAt: string;
|
|
132
|
+
readonly completedAt?: string;
|
|
133
|
+
readonly elapsedMs?: number;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Task progress tracking for implementation phase
|
|
137
|
+
*/
|
|
138
|
+
export interface TaskProgress {
|
|
139
|
+
readonly completedTasks: readonly string[];
|
|
140
|
+
readonly totalTasks: number;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* FlowState interface with feature, phase, timestamps, history, and metadata
|
|
144
|
+
* Requirement: 1.5 - State persistence
|
|
145
|
+
*/
|
|
146
|
+
export interface FlowState {
|
|
147
|
+
readonly feature: string;
|
|
148
|
+
readonly phase: FlowPhase;
|
|
149
|
+
readonly createdAt: string;
|
|
150
|
+
readonly updatedAt: string;
|
|
151
|
+
readonly history: readonly FlowPhase[];
|
|
152
|
+
readonly metadata: {
|
|
153
|
+
readonly description: string;
|
|
154
|
+
readonly mode: 'greenfield' | 'brownfield';
|
|
155
|
+
readonly tier?: string;
|
|
156
|
+
readonly worktreePath?: string;
|
|
157
|
+
readonly prUrl?: string;
|
|
158
|
+
readonly prNumber?: number;
|
|
159
|
+
readonly resolvedFeatureName?: string;
|
|
160
|
+
};
|
|
161
|
+
readonly taskProgress?: TaskProgress;
|
|
162
|
+
readonly phaseMetrics?: {
|
|
163
|
+
readonly [phaseType: string]: PhaseMetric;
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Agent invocation options for Claude CLI execution
|
|
168
|
+
* Requirements: 7.1, 7.2, 7.5, 7.6
|
|
169
|
+
*/
|
|
170
|
+
export interface AgentInvokeOptions {
|
|
171
|
+
readonly prompt: string;
|
|
172
|
+
readonly workingDirectory: string;
|
|
173
|
+
readonly skipPermissions: boolean;
|
|
174
|
+
readonly tier: string | undefined;
|
|
175
|
+
readonly model?: string;
|
|
176
|
+
readonly sandbox?: boolean;
|
|
177
|
+
readonly onOutput?: (chunk: string) => void;
|
|
178
|
+
readonly onError?: (chunk: string) => void;
|
|
179
|
+
readonly timeout?: number;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Claude CLI error codes for specific failure types
|
|
183
|
+
*/
|
|
184
|
+
export type ClaudeErrorCode = 'CREDIT_EXHAUSTED' | 'RATE_LIMITED' | 'AUTH_FAILED' | 'MODEL_UNAVAILABLE' | 'CONTEXT_EXCEEDED' | 'NETWORK_ERROR' | 'PERMISSION_DENIED' | 'UNKNOWN';
|
|
185
|
+
/**
|
|
186
|
+
* Parsed Claude error with actionable information
|
|
187
|
+
*/
|
|
188
|
+
export interface ClaudeError {
|
|
189
|
+
readonly code: ClaudeErrorCode;
|
|
190
|
+
readonly message: string;
|
|
191
|
+
readonly recoverable: boolean;
|
|
192
|
+
readonly suggestion: string;
|
|
193
|
+
readonly retryAfterMs?: number;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Agent invocation result from Claude CLI
|
|
197
|
+
* Requirements: 7.1, 7.2, 7.5, 7.6
|
|
198
|
+
*/
|
|
199
|
+
export interface AgentResult {
|
|
200
|
+
readonly success: boolean;
|
|
201
|
+
readonly exitCode: number;
|
|
202
|
+
readonly stdout: string;
|
|
203
|
+
readonly stderr: string;
|
|
204
|
+
readonly timedOut: boolean;
|
|
205
|
+
readonly claudeError?: ClaudeError;
|
|
206
|
+
}
|
|
207
|
+
export { type ExtendedFlowPhase, type ExtendedFlowEvent, type ExtendedFlowState, type WorkflowMode, GREENFIELD_PHASES, BROWNFIELD_PHASES, isApprovalPhase, isGeneratingPhase, isTerminalPhase, getPhaseSequence } from './extended-flow.js';
|
|
208
|
+
export type { GitStatus } from '../services/GitStatusChecker.js';
|
|
209
|
+
export type { PRStatus } from '../services/PRStatusFetcher.js';
|
|
210
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core type system for flow orchestration
|
|
3
|
+
* Requirements: 1.1, 1.2, 4.1-4.7, 5.1-5.5
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Model options per agent
|
|
7
|
+
* Cheap models for development, expensive for production
|
|
8
|
+
*/
|
|
9
|
+
export const AGENT_MODELS = {
|
|
10
|
+
claude: {
|
|
11
|
+
cheap: 'claude-3-5-haiku-latest',
|
|
12
|
+
best: 'claude-sonnet-4-20250514',
|
|
13
|
+
all: ['claude-3-5-haiku-latest', 'claude-3-5-sonnet-latest', 'claude-sonnet-4-20250514', 'claude-opus-4-20250514']
|
|
14
|
+
},
|
|
15
|
+
gemini: {
|
|
16
|
+
cheap: 'gemini-2.0-flash',
|
|
17
|
+
best: 'gemini-2.5-pro',
|
|
18
|
+
all: ['gemini-2.0-flash', 'gemini-2.0-flash-lite', 'gemini-2.5-pro', 'gemini-2.5-flash']
|
|
19
|
+
},
|
|
20
|
+
codex: {
|
|
21
|
+
cheap: 'gpt-4o-mini',
|
|
22
|
+
best: 'o1',
|
|
23
|
+
all: ['gpt-4o-mini', 'gpt-4o', 'o1-mini', 'o1', 'o3-mini']
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
// Re-export extended flow types
|
|
27
|
+
export { GREENFIELD_PHASES, BROWNFIELD_PHASES, isApprovalPhase, isGeneratingPhase, isTerminalPhase, getPhaseSequence } from './extended-flow.js';
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA6BH;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAiF;IACxG,MAAM,EAAE;QACN,KAAK,EAAE,yBAAyB;QAChC,IAAI,EAAE,0BAA0B;QAChC,GAAG,EAAE,CAAC,yBAAyB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,wBAAwB,CAAC;KACnH;IACD,MAAM,EAAE;QACN,KAAK,EAAE,kBAAkB;QACzB,IAAI,EAAE,gBAAgB;QACtB,GAAG,EAAE,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC;KACzF;IACD,KAAK,EAAE;QACL,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;KAC3D;CACF,CAAC;AAgKF,gCAAgC;AAChC,OAAO,EAKL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EACjB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Git operations placeholder
|
|
3
|
+
* Requirements: 1.4 - Execute git operations directly via TypeScript
|
|
4
|
+
*
|
|
5
|
+
* NOTE: Actual implementation deferred to red64-flow-core spec.
|
|
6
|
+
* This file provides interfaces and placeholder functions.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Git operation result
|
|
10
|
+
*/
|
|
11
|
+
export interface GitResult {
|
|
12
|
+
readonly success: boolean;
|
|
13
|
+
readonly output: string;
|
|
14
|
+
readonly error: string | undefined;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Create a git worktree
|
|
18
|
+
* Requirements: 1.4 - Git worktree operations
|
|
19
|
+
*/
|
|
20
|
+
export declare function createWorktree(_repoPath: string, _worktreePath: string, _branch: string): Promise<GitResult>;
|
|
21
|
+
/**
|
|
22
|
+
* Create a git branch
|
|
23
|
+
* Requirements: 1.4 - Git branch operations
|
|
24
|
+
*/
|
|
25
|
+
export declare function createBranch(_repoPath: string, _branchName: string, _baseBranch?: string): Promise<GitResult>;
|
|
26
|
+
/**
|
|
27
|
+
* Commit changes
|
|
28
|
+
* Requirements: 1.4 - Git commit operations
|
|
29
|
+
*/
|
|
30
|
+
export declare function commit(_repoPath: string, _message: string, _files?: readonly string[]): Promise<GitResult>;
|
|
31
|
+
/**
|
|
32
|
+
* Push to remote
|
|
33
|
+
* Requirements: 1.4 - Git push operations
|
|
34
|
+
*/
|
|
35
|
+
export declare function push(_repoPath: string, _remote?: string, _branch?: string): Promise<GitResult>;
|
|
36
|
+
/**
|
|
37
|
+
* Remove worktree
|
|
38
|
+
* Requirements: 1.4 - Git worktree cleanup
|
|
39
|
+
*/
|
|
40
|
+
export declare function removeWorktree(_repoPath: string, _worktreePath: string): Promise<GitResult>;
|
|
41
|
+
//# sourceMappingURL=git.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,CAOpB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,SAAS,CAAC,CAOpB;AAED;;;GAGG;AACH,wBAAsB,MAAM,CAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GACzB,OAAO,CAAC,SAAS,CAAC,CAOpB;AAED;;;GAGG;AACH,wBAAsB,IAAI,CACxB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,CAAC,CAOpB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,SAAS,CAAC,CAOpB"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Git operations placeholder
|
|
3
|
+
* Requirements: 1.4 - Execute git operations directly via TypeScript
|
|
4
|
+
*
|
|
5
|
+
* NOTE: Actual implementation deferred to red64-flow-core spec.
|
|
6
|
+
* This file provides interfaces and placeholder functions.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Create a git worktree
|
|
10
|
+
* Requirements: 1.4 - Git worktree operations
|
|
11
|
+
*/
|
|
12
|
+
export async function createWorktree(_repoPath, _worktreePath, _branch) {
|
|
13
|
+
// Placeholder - implementation in red64-flow-core
|
|
14
|
+
return {
|
|
15
|
+
success: true,
|
|
16
|
+
output: 'Worktree creation placeholder',
|
|
17
|
+
error: undefined
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Create a git branch
|
|
22
|
+
* Requirements: 1.4 - Git branch operations
|
|
23
|
+
*/
|
|
24
|
+
export async function createBranch(_repoPath, _branchName, _baseBranch) {
|
|
25
|
+
// Placeholder - implementation in red64-flow-core
|
|
26
|
+
return {
|
|
27
|
+
success: true,
|
|
28
|
+
output: 'Branch creation placeholder',
|
|
29
|
+
error: undefined
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Commit changes
|
|
34
|
+
* Requirements: 1.4 - Git commit operations
|
|
35
|
+
*/
|
|
36
|
+
export async function commit(_repoPath, _message, _files) {
|
|
37
|
+
// Placeholder - implementation in red64-flow-core
|
|
38
|
+
return {
|
|
39
|
+
success: true,
|
|
40
|
+
output: 'Commit placeholder',
|
|
41
|
+
error: undefined
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Push to remote
|
|
46
|
+
* Requirements: 1.4 - Git push operations
|
|
47
|
+
*/
|
|
48
|
+
export async function push(_repoPath, _remote, _branch) {
|
|
49
|
+
// Placeholder - implementation in red64-flow-core
|
|
50
|
+
return {
|
|
51
|
+
success: true,
|
|
52
|
+
output: 'Push placeholder',
|
|
53
|
+
error: undefined
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Remove worktree
|
|
58
|
+
* Requirements: 1.4 - Git worktree cleanup
|
|
59
|
+
*/
|
|
60
|
+
export async function removeWorktree(_repoPath, _worktreePath) {
|
|
61
|
+
// Placeholder - implementation in red64-flow-core
|
|
62
|
+
return {
|
|
63
|
+
success: true,
|
|
64
|
+
output: 'Worktree removal placeholder',
|
|
65
|
+
error: undefined
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=git.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,aAAqB,EACrB,OAAe;IAEf,kDAAkD;IAClD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,+BAA+B;QACvC,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,SAAiB,EACjB,WAAmB,EACnB,WAAoB;IAEpB,kDAAkD;IAClD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,6BAA6B;QACrC,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,SAAiB,EACjB,QAAgB,EAChB,MAA0B;IAE1B,kDAAkD;IAClD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,oBAAoB;QAC5B,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,SAAiB,EACjB,OAAgB,EAChB,OAAgB;IAEhB,kDAAkD;IAClD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,kBAAkB;QAC1B,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,aAAqB;IAErB,kDAAkD;IAClD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,8BAA8B;QACtC,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Path utilities for red64
|
|
3
|
+
* Requirements: 8.2 - Use .red64/ as the unified directory
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Get the red64 directory path
|
|
7
|
+
* Requirements: 8.2 - Use .red64/ directory structure
|
|
8
|
+
*/
|
|
9
|
+
export declare function getRed64Dir(baseDir: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Get the flows directory path
|
|
12
|
+
*/
|
|
13
|
+
export declare function getFlowsDir(baseDir: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Get the specs directory path
|
|
16
|
+
*/
|
|
17
|
+
export declare function getSpecsDir(baseDir: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Get the steering directory path
|
|
20
|
+
*/
|
|
21
|
+
export declare function getSteeringDir(baseDir: string): string;
|
|
22
|
+
/**
|
|
23
|
+
* Get feature flow directory path
|
|
24
|
+
*/
|
|
25
|
+
export declare function getFeatureDir(baseDir: string, feature: string): string;
|
|
26
|
+
/**
|
|
27
|
+
* Get feature state file path
|
|
28
|
+
*/
|
|
29
|
+
export declare function getStatePath(baseDir: string, feature: string): string;
|
|
30
|
+
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAErE"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Path utilities for red64
|
|
3
|
+
* Requirements: 8.2 - Use .red64/ as the unified directory
|
|
4
|
+
*/
|
|
5
|
+
import { join } from 'node:path';
|
|
6
|
+
/**
|
|
7
|
+
* Get the red64 directory path
|
|
8
|
+
* Requirements: 8.2 - Use .red64/ directory structure
|
|
9
|
+
*/
|
|
10
|
+
export function getRed64Dir(baseDir) {
|
|
11
|
+
return join(baseDir, '.red64');
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Get the flows directory path
|
|
15
|
+
*/
|
|
16
|
+
export function getFlowsDir(baseDir) {
|
|
17
|
+
return join(getRed64Dir(baseDir), 'flows');
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get the specs directory path
|
|
21
|
+
*/
|
|
22
|
+
export function getSpecsDir(baseDir) {
|
|
23
|
+
return join(getRed64Dir(baseDir), 'specs');
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get the steering directory path
|
|
27
|
+
*/
|
|
28
|
+
export function getSteeringDir(baseDir) {
|
|
29
|
+
return join(getRed64Dir(baseDir), 'steering');
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Get feature flow directory path
|
|
33
|
+
*/
|
|
34
|
+
export function getFeatureDir(baseDir, feature) {
|
|
35
|
+
return join(getFlowsDir(baseDir), feature);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get feature state file path
|
|
39
|
+
*/
|
|
40
|
+
export function getStatePath(baseDir, feature) {
|
|
41
|
+
return join(getFeatureDir(baseDir, feature), 'state.json');
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,OAAe;IAC5D,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,OAAe;IAC3D,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# Full Discovery Process for Technical Design
|
|
2
|
+
|
|
3
|
+
## Objective
|
|
4
|
+
Conduct comprehensive research and analysis to ensure the technical design is based on complete, accurate, and up-to-date information.
|
|
5
|
+
|
|
6
|
+
## Discovery Steps
|
|
7
|
+
|
|
8
|
+
### 1. Requirements Analysis
|
|
9
|
+
**Map Requirements to Technical Needs**
|
|
10
|
+
- Extract all functional requirements from EARS format
|
|
11
|
+
- Identify non-functional requirements (performance, security, scalability)
|
|
12
|
+
- Determine technical constraints and dependencies
|
|
13
|
+
- List core technical challenges
|
|
14
|
+
|
|
15
|
+
### 2. Existing Implementation Analysis
|
|
16
|
+
**Understand Current System** (if modifying/extending):
|
|
17
|
+
- Analyze codebase structure and architecture patterns
|
|
18
|
+
- Map reusable components, services, utilities
|
|
19
|
+
- Identify domain boundaries and data flows
|
|
20
|
+
- Document integration points and dependencies
|
|
21
|
+
- Determine approach: extend vs refactor vs wrap
|
|
22
|
+
|
|
23
|
+
### 3. Technology Research
|
|
24
|
+
**Investigate Best Practices and Solutions**:
|
|
25
|
+
- **Use WebSearch** to find:
|
|
26
|
+
- Latest architectural patterns for similar problems
|
|
27
|
+
- Industry best practices for the technology stack
|
|
28
|
+
- Recent updates or changes in relevant technologies
|
|
29
|
+
- Common pitfalls and solutions
|
|
30
|
+
|
|
31
|
+
- **Use WebFetch** to analyze:
|
|
32
|
+
- Official documentation for frameworks/libraries
|
|
33
|
+
- API references and usage examples
|
|
34
|
+
- Migration guides and breaking changes
|
|
35
|
+
- Performance benchmarks and comparisons
|
|
36
|
+
|
|
37
|
+
### 4. External Dependencies Investigation
|
|
38
|
+
**For Each External Service/Library**:
|
|
39
|
+
- Search for official documentation and GitHub repositories
|
|
40
|
+
- Verify API signatures and authentication methods
|
|
41
|
+
- Check version compatibility with existing stack
|
|
42
|
+
- Investigate rate limits and usage constraints
|
|
43
|
+
- Find community resources and known issues
|
|
44
|
+
- Document security considerations
|
|
45
|
+
- Note any gaps requiring implementation investigation
|
|
46
|
+
|
|
47
|
+
### 5. Architecture Pattern & Boundary Analysis
|
|
48
|
+
**Evaluate Architectural Options**:
|
|
49
|
+
- Compare relevant patterns (MVC, Clean, Hexagonal, Event-driven)
|
|
50
|
+
- Assess fit with existing architecture and steering principles
|
|
51
|
+
- Identify domain boundaries and ownership seams required to avoid team conflicts
|
|
52
|
+
- Consider scalability implications and operational concerns
|
|
53
|
+
- Evaluate maintainability and team expertise
|
|
54
|
+
- Document preferred pattern and rejected alternatives in `research.md`
|
|
55
|
+
|
|
56
|
+
### 6. Risk Assessment
|
|
57
|
+
**Identify Technical Risks**:
|
|
58
|
+
- Performance bottlenecks and scaling limits
|
|
59
|
+
- Security vulnerabilities and attack vectors
|
|
60
|
+
- Integration complexity and coupling
|
|
61
|
+
- Technical debt creation vs resolution
|
|
62
|
+
- Knowledge gaps and training needs
|
|
63
|
+
|
|
64
|
+
## Research Guidelines
|
|
65
|
+
|
|
66
|
+
### When to Search
|
|
67
|
+
**Always search for**:
|
|
68
|
+
- External API documentation and updates
|
|
69
|
+
- Security best practices for authentication/authorization
|
|
70
|
+
- Performance optimization techniques for identified bottlenecks
|
|
71
|
+
- Latest versions and migration paths for dependencies
|
|
72
|
+
|
|
73
|
+
**Search if uncertain about**:
|
|
74
|
+
- Architectural patterns for specific use cases
|
|
75
|
+
- Industry standards for data formats/protocols
|
|
76
|
+
- Compliance requirements (GDPR, HIPAA, etc.)
|
|
77
|
+
- Scalability approaches for expected load
|
|
78
|
+
|
|
79
|
+
### Search Strategy
|
|
80
|
+
1. Start with official sources (documentation, GitHub)
|
|
81
|
+
2. Check recent blog posts and articles (last 6 months)
|
|
82
|
+
3. Review Stack Overflow for common issues
|
|
83
|
+
4. Investigate similar open-source implementations
|
|
84
|
+
|
|
85
|
+
## Output Requirements
|
|
86
|
+
Capture all findings that impact design decisions in `research.md` using the shared template:
|
|
87
|
+
- Key insights affecting architecture, technology alignment, and contracts
|
|
88
|
+
- Constraints discovered during research
|
|
89
|
+
- Recommended approaches and selected architecture pattern with rationale
|
|
90
|
+
- Rejected alternatives and trade-offs (documented in the Design Decisions section)
|
|
91
|
+
- Updated domain boundaries that inform Components & Interface Contracts
|
|
92
|
+
- Risks and mitigation strategies
|
|
93
|
+
- Gaps requiring further investigation during implementation
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Light Discovery Process for Extensions
|
|
2
|
+
|
|
3
|
+
## Objective
|
|
4
|
+
Quickly analyze existing system and integration requirements for feature extensions.
|
|
5
|
+
|
|
6
|
+
## Focused Discovery Steps
|
|
7
|
+
|
|
8
|
+
### 1. Extension Point Analysis
|
|
9
|
+
**Identify Integration Approach**:
|
|
10
|
+
- Locate existing extension points or interfaces
|
|
11
|
+
- Determine modification scope (files, components)
|
|
12
|
+
- Check for existing patterns to follow
|
|
13
|
+
- Identify backward compatibility requirements
|
|
14
|
+
|
|
15
|
+
### 2. Dependency Check
|
|
16
|
+
**Verify Compatibility**:
|
|
17
|
+
- Check version compatibility of new dependencies
|
|
18
|
+
- Validate API contracts haven't changed
|
|
19
|
+
- Ensure no breaking changes in pipeline
|
|
20
|
+
|
|
21
|
+
### 3. Quick Technology Verification
|
|
22
|
+
**For New Libraries Only**:
|
|
23
|
+
- Use WebSearch for official documentation
|
|
24
|
+
- Verify basic usage patterns
|
|
25
|
+
- Check for known compatibility issues
|
|
26
|
+
- Confirm licensing compatibility
|
|
27
|
+
- Record key findings in `research.md` (technology alignment section)
|
|
28
|
+
|
|
29
|
+
### 4. Integration Risk Assessment
|
|
30
|
+
**Quick Risk Check**:
|
|
31
|
+
- Impact on existing functionality
|
|
32
|
+
- Performance implications
|
|
33
|
+
- Security considerations
|
|
34
|
+
- Testing requirements
|
|
35
|
+
|
|
36
|
+
## When to Escalate to Full Discovery
|
|
37
|
+
Switch to full discovery if you find:
|
|
38
|
+
- Significant architectural changes needed
|
|
39
|
+
- Complex external service integrations
|
|
40
|
+
- Security-sensitive implementations
|
|
41
|
+
- Performance-critical components
|
|
42
|
+
- Unknown or poorly documented dependencies
|
|
43
|
+
|
|
44
|
+
## Output Requirements
|
|
45
|
+
- Clear integration approach (note boundary impacts in `research.md`)
|
|
46
|
+
- List of files/components to modify
|
|
47
|
+
- New dependencies with versions
|
|
48
|
+
- Integration risks and mitigations
|
|
49
|
+
- Testing focus areas
|