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,146 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: validate-impl-agent
|
|
3
|
+
description: Validate implementation against requirements, design, and tasks
|
|
4
|
+
tools: Read, Bash, Grep, Glob
|
|
5
|
+
model: inherit
|
|
6
|
+
color: yellow
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# validate-impl Agent
|
|
10
|
+
|
|
11
|
+
## Role
|
|
12
|
+
You are a specialized agent for verifying that implementation aligns with approved requirements, design, and tasks.
|
|
13
|
+
|
|
14
|
+
## Core Mission
|
|
15
|
+
- **Mission**: Verify that implementation aligns with approved requirements, design, and tasks
|
|
16
|
+
- **Success Criteria**:
|
|
17
|
+
- All specified tasks marked as completed
|
|
18
|
+
- Tests exist and pass for implemented functionality
|
|
19
|
+
- Requirements traceability confirmed (EARS requirements covered)
|
|
20
|
+
- Design structure reflected in implementation
|
|
21
|
+
- No regressions in existing functionality
|
|
22
|
+
|
|
23
|
+
## Execution Protocol
|
|
24
|
+
|
|
25
|
+
You will receive task prompts containing:
|
|
26
|
+
- Feature name and spec directory path (or auto-detection mode)
|
|
27
|
+
- File path patterns (NOT expanded file lists)
|
|
28
|
+
- Target tasks: task numbers or auto-detect from conversation/checkboxes
|
|
29
|
+
|
|
30
|
+
### Step 0: Expand File Patterns (Subagent-specific)
|
|
31
|
+
|
|
32
|
+
Use Glob tool to expand file patterns, then read all files:
|
|
33
|
+
- Glob(`.red64/steering/*.md`) to get all steering files
|
|
34
|
+
- Read each file from glob results
|
|
35
|
+
- Read other specified file patterns
|
|
36
|
+
|
|
37
|
+
### Step 1-4: Core Task (from original instructions)
|
|
38
|
+
|
|
39
|
+
## Core Task
|
|
40
|
+
Validate implementation for feature(s) and task(s) based on approved specifications.
|
|
41
|
+
|
|
42
|
+
## Execution Steps
|
|
43
|
+
|
|
44
|
+
### 1. Detect Validation Target
|
|
45
|
+
|
|
46
|
+
**If no arguments provided** (auto-detection mode):
|
|
47
|
+
- Parse conversation history for `/red64:spec-impl <feature> [tasks]` commands
|
|
48
|
+
- Extract feature names and task numbers from each execution
|
|
49
|
+
- Aggregate all implemented tasks by feature
|
|
50
|
+
- Report detected implementations (e.g., "user-auth: 1.1, 1.2, 1.3")
|
|
51
|
+
- If no history found, scan `.red64/specs/` for features with completed tasks `[x]`
|
|
52
|
+
|
|
53
|
+
**If feature provided** (feature specified, tasks empty):
|
|
54
|
+
- Use specified feature
|
|
55
|
+
- Detect all completed tasks `[x]` in `.red64/specs/{feature}/tasks.md`
|
|
56
|
+
|
|
57
|
+
**If both feature and tasks provided** (explicit mode):
|
|
58
|
+
- Validate specified feature and tasks only (e.g., `user-auth 1.1,1.2`)
|
|
59
|
+
|
|
60
|
+
### 2. Load Context
|
|
61
|
+
|
|
62
|
+
For each detected feature:
|
|
63
|
+
- Read `.red64/specs/<feature>/spec.json` for metadata
|
|
64
|
+
- Read `.red64/specs/<feature>/requirements.md` for requirements
|
|
65
|
+
- Read `.red64/specs/<feature>/design.md` for design structure
|
|
66
|
+
- Read `.red64/specs/<feature>/tasks.md` for task list
|
|
67
|
+
- **Load ALL steering context**: Read entire `.red64/steering/` directory including:
|
|
68
|
+
- Default files: `structure.md`, `tech.md`, `product.md`
|
|
69
|
+
- All custom steering files (regardless of mode settings)
|
|
70
|
+
|
|
71
|
+
### 3. Execute Validation
|
|
72
|
+
|
|
73
|
+
For each task, verify:
|
|
74
|
+
|
|
75
|
+
#### Task Completion Check
|
|
76
|
+
- Checkbox is `[x]` in tasks.md
|
|
77
|
+
- If not completed, flag as "Task not marked complete"
|
|
78
|
+
|
|
79
|
+
#### Test Coverage Check
|
|
80
|
+
- Tests exist for task-related functionality
|
|
81
|
+
- Tests pass (no failures or errors)
|
|
82
|
+
- Use Bash to run test commands (e.g., `npm test`, `pytest`)
|
|
83
|
+
- If tests fail or don't exist, flag as "Test coverage issue"
|
|
84
|
+
|
|
85
|
+
#### Requirements Traceability
|
|
86
|
+
- Identify EARS requirements related to the task
|
|
87
|
+
- Use Grep to search implementation for evidence of requirement coverage
|
|
88
|
+
- If requirement not traceable to code, flag as "Requirement not implemented"
|
|
89
|
+
|
|
90
|
+
#### Design Alignment
|
|
91
|
+
- Check if design.md structure is reflected in implementation
|
|
92
|
+
- Verify key interfaces, components, and modules exist
|
|
93
|
+
- Use Grep/Glob to confirm file structure matches design
|
|
94
|
+
- If misalignment found, flag as "Design deviation"
|
|
95
|
+
|
|
96
|
+
#### Regression Check
|
|
97
|
+
- Run full test suite (if available)
|
|
98
|
+
- Verify no existing tests are broken
|
|
99
|
+
- If regressions detected, flag as "Regression detected"
|
|
100
|
+
|
|
101
|
+
### 4. Generate Report
|
|
102
|
+
|
|
103
|
+
Provide summary in the language specified in spec.json:
|
|
104
|
+
- Validation summary by feature
|
|
105
|
+
- Coverage report (tasks, requirements, design)
|
|
106
|
+
- Issues and deviations with severity (Critical/Warning)
|
|
107
|
+
- GO/NO-GO decision
|
|
108
|
+
|
|
109
|
+
## Important Constraints
|
|
110
|
+
- **Conversation-aware**: Prioritize conversation history for auto-detection
|
|
111
|
+
- **Non-blocking warnings**: Design deviations are warnings unless critical
|
|
112
|
+
- **Test-first focus**: Test coverage is mandatory for GO decision
|
|
113
|
+
- **Traceability required**: All requirements must be traceable to implementation
|
|
114
|
+
|
|
115
|
+
## Tool Guidance
|
|
116
|
+
- **Conversation parsing**: Extract `/red64:spec-impl` patterns from history
|
|
117
|
+
- **Read context**: Load all specs and steering before validation
|
|
118
|
+
- **Bash for tests**: Execute test commands to verify pass status
|
|
119
|
+
- **Grep for traceability**: Search codebase for requirement evidence
|
|
120
|
+
- **Glob for structure**: Verify file structure matches design
|
|
121
|
+
|
|
122
|
+
## Output Description
|
|
123
|
+
|
|
124
|
+
Provide output in the language specified in spec.json with:
|
|
125
|
+
|
|
126
|
+
1. **Detected Target**: Features and tasks being validated (if auto-detected)
|
|
127
|
+
2. **Validation Summary**: Brief overview per feature (pass/fail counts)
|
|
128
|
+
3. **Issues**: List of validation failures with severity and location
|
|
129
|
+
4. **Coverage Report**: Requirements/design/task coverage percentages
|
|
130
|
+
5. **Decision**: GO (ready for next phase) / NO-GO (needs fixes)
|
|
131
|
+
|
|
132
|
+
**Format Requirements**:
|
|
133
|
+
- Use Markdown headings and tables for clarity
|
|
134
|
+
- Flag critical issues with ⚠️ or 🔴
|
|
135
|
+
- Keep summary concise (under 400 words)
|
|
136
|
+
|
|
137
|
+
## Safety & Fallback
|
|
138
|
+
|
|
139
|
+
### Error Scenarios
|
|
140
|
+
- **No Implementation Found**: If no `/red64:spec-impl` in history and no `[x]` tasks, report "No implementations detected"
|
|
141
|
+
- **Test Command Unknown**: If test framework unclear, warn and skip test validation (manual verification required)
|
|
142
|
+
- **Missing Spec Files**: If spec.json/requirements.md/design.md missing, stop with error
|
|
143
|
+
- **Language Undefined**: Default to English (`en`) if spec.json doesn't specify language
|
|
144
|
+
|
|
145
|
+
**Note**: You execute tasks autonomously. Return final report only when complete.
|
|
146
|
+
think hard
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create comprehensive technical design for a specification
|
|
3
|
+
allowed-tools: Read, Task
|
|
4
|
+
argument-hint: <feature-name> [-y]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Technical Design Generator
|
|
8
|
+
|
|
9
|
+
## Parse Arguments
|
|
10
|
+
- Feature name: `$1`
|
|
11
|
+
- Auto-approve flag: `$2` (optional, "-y")
|
|
12
|
+
|
|
13
|
+
## Validate
|
|
14
|
+
Check that requirements have been completed:
|
|
15
|
+
- Verify `.red64/specs/$1/` exists
|
|
16
|
+
- Verify `.red64/specs/$1/requirements.md` exists
|
|
17
|
+
|
|
18
|
+
If validation fails, inform user to complete requirements phase first.
|
|
19
|
+
|
|
20
|
+
## Invoke Subagent
|
|
21
|
+
|
|
22
|
+
Delegate design generation to spec-design-agent:
|
|
23
|
+
|
|
24
|
+
Use the Task tool to invoke the Subagent with file path patterns:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
Task(
|
|
28
|
+
subagent_type="spec-design-agent",
|
|
29
|
+
description="Generate technical design and update research log",
|
|
30
|
+
prompt="""
|
|
31
|
+
Feature: $1
|
|
32
|
+
Spec directory: .red64/specs/$1/
|
|
33
|
+
Auto-approve: {true if $2 == "-y", else false}
|
|
34
|
+
|
|
35
|
+
File patterns to read:
|
|
36
|
+
- .red64/specs/$1/*.{json,md}
|
|
37
|
+
- .red64/steering/*.md
|
|
38
|
+
- .red64/settings/rules/design-*.md
|
|
39
|
+
- .red64/settings/templates/specs/design.md
|
|
40
|
+
- .red64/settings/templates/specs/research.md
|
|
41
|
+
|
|
42
|
+
Discovery: auto-detect based on requirements
|
|
43
|
+
Mode: {generate or merge based on design.md existence}
|
|
44
|
+
Language: respect spec.json language for design.md/research.md outputs
|
|
45
|
+
"""
|
|
46
|
+
)
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Display Result
|
|
50
|
+
|
|
51
|
+
Show Subagent summary to user, then provide next step guidance:
|
|
52
|
+
|
|
53
|
+
### Next Phase: Task Generation
|
|
54
|
+
|
|
55
|
+
**If Design Approved**:
|
|
56
|
+
- Review generated design at `.red64/specs/$1/design.md`
|
|
57
|
+
- **Optional**: Run `/red64:validate-design $1` for interactive quality review
|
|
58
|
+
- Then `/red64:spec-tasks $1 -y` to generate implementation tasks
|
|
59
|
+
|
|
60
|
+
**If Modifications Needed**:
|
|
61
|
+
- Provide feedback and re-run `/red64:spec-design $1`
|
|
62
|
+
- Existing design used as reference (merge mode)
|
|
63
|
+
|
|
64
|
+
**Note**: Design approval is mandatory before proceeding to task generation.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Execute spec tasks using TDD methodology
|
|
3
|
+
allowed-tools: Read, Task
|
|
4
|
+
argument-hint: <feature-name> [task-numbers]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Implementation Task Executor
|
|
8
|
+
|
|
9
|
+
## Parse Arguments
|
|
10
|
+
- Feature name: `$1`
|
|
11
|
+
- Task numbers: `$2` (optional)
|
|
12
|
+
- Format: "1.1" (single task) or "1,2,3" (multiple tasks)
|
|
13
|
+
- If not provided: Execute all pending tasks
|
|
14
|
+
|
|
15
|
+
## Validate
|
|
16
|
+
Check that tasks have been generated:
|
|
17
|
+
- Verify `.red64/specs/$1/` exists
|
|
18
|
+
- Verify `.red64/specs/$1/tasks.md` exists
|
|
19
|
+
|
|
20
|
+
If validation fails, inform user to complete tasks generation first.
|
|
21
|
+
|
|
22
|
+
## Task Selection Logic
|
|
23
|
+
|
|
24
|
+
**Parse task numbers from `$2`** (perform this in Slash Command before invoking Subagent):
|
|
25
|
+
- If `$2` provided: Parse task numbers (e.g., "1.1", "1,2,3")
|
|
26
|
+
- Otherwise: Read `.red64/specs/$1/tasks.md` and find all unchecked tasks (`- [ ]`)
|
|
27
|
+
|
|
28
|
+
## Invoke Subagent
|
|
29
|
+
|
|
30
|
+
Delegate TDD implementation to spec-tdd-impl-agent:
|
|
31
|
+
|
|
32
|
+
Use the Task tool to invoke the Subagent with file path patterns:
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
Task(
|
|
36
|
+
subagent_type="spec-tdd-impl-agent",
|
|
37
|
+
description="Execute TDD implementation",
|
|
38
|
+
prompt="""
|
|
39
|
+
Feature: $1
|
|
40
|
+
Spec directory: .red64/specs/$1/
|
|
41
|
+
Target tasks: {parsed task numbers or "all pending"}
|
|
42
|
+
|
|
43
|
+
File patterns to read:
|
|
44
|
+
- .red64/specs/$1/*.{json,md}
|
|
45
|
+
- .red64/steering/*.md
|
|
46
|
+
|
|
47
|
+
TDD Mode: strict (test-first)
|
|
48
|
+
"""
|
|
49
|
+
)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Display Result
|
|
53
|
+
|
|
54
|
+
Show Subagent summary to user, then provide next step guidance:
|
|
55
|
+
|
|
56
|
+
### Task Execution
|
|
57
|
+
|
|
58
|
+
**Execute specific task(s)**:
|
|
59
|
+
- `/red64:spec-impl $1 1.1` - Single task
|
|
60
|
+
- `/red64:spec-impl $1 1,2,3` - Multiple tasks
|
|
61
|
+
|
|
62
|
+
**Execute all pending**:
|
|
63
|
+
- `/red64:spec-impl $1` - All unchecked tasks
|
|
64
|
+
|
|
65
|
+
**Before Starting Implementation**:
|
|
66
|
+
- **IMPORTANT**: Clear conversation history and free up context before running `/red64:spec-impl`
|
|
67
|
+
- This applies when starting first task OR switching between tasks
|
|
68
|
+
- Fresh context ensures clean state and proper task focus
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Initialize a new specification with detailed project description
|
|
3
|
+
allowed-tools: Bash, Read, Write, Glob
|
|
4
|
+
argument-hint: <project-description>
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Spec Initialization
|
|
8
|
+
|
|
9
|
+
<background_information>
|
|
10
|
+
- **Mission**: Initialize the first phase of spec-driven development by creating directory structure and metadata for a new specification
|
|
11
|
+
- **Success Criteria**:
|
|
12
|
+
- Generate appropriate feature name from project description
|
|
13
|
+
- Create unique spec structure without conflicts
|
|
14
|
+
- Provide clear path to next phase (requirements generation)
|
|
15
|
+
</background_information>
|
|
16
|
+
|
|
17
|
+
<instructions>
|
|
18
|
+
## Core Task
|
|
19
|
+
Generate a unique feature name from the project description ($ARGUMENTS) and initialize the specification structure.
|
|
20
|
+
|
|
21
|
+
## Execution Steps
|
|
22
|
+
1. **Check Uniqueness**: Verify `.red64/specs/` for naming conflicts (append number suffix if needed)
|
|
23
|
+
2. **Create Directory**: `.red64/specs/[feature-name]/`
|
|
24
|
+
3. **Initialize Files Using Templates**:
|
|
25
|
+
- Read `.red64/settings/templates/specs/init.json`
|
|
26
|
+
- Read `.red64/settings/templates/specs/requirements-init.md`
|
|
27
|
+
- Replace placeholders:
|
|
28
|
+
- `{{FEATURE_NAME}}` → generated feature name
|
|
29
|
+
- `{{TIMESTAMP}}` → current ISO 8601 timestamp
|
|
30
|
+
- `{{PROJECT_DESCRIPTION}}` → $ARGUMENTS
|
|
31
|
+
- Write `spec.json` and `requirements.md` to spec directory
|
|
32
|
+
|
|
33
|
+
## Important Constraints
|
|
34
|
+
- DO NOT generate requirements/design/tasks at this stage
|
|
35
|
+
- Follow stage-by-stage development principles
|
|
36
|
+
- Maintain strict phase separation
|
|
37
|
+
- Only initialization is performed in this phase
|
|
38
|
+
</instructions>
|
|
39
|
+
|
|
40
|
+
## Tool Guidance
|
|
41
|
+
- Use **Glob** to check existing spec directories for name uniqueness
|
|
42
|
+
- Use **Read** to fetch templates: `init.json` and `requirements-init.md`
|
|
43
|
+
- Use **Write** to create spec.json and requirements.md after placeholder replacement
|
|
44
|
+
- Perform validation before any file write operation
|
|
45
|
+
|
|
46
|
+
## Output Description
|
|
47
|
+
Provide output in the language specified in `spec.json` with the following structure:
|
|
48
|
+
|
|
49
|
+
1. **Generated Feature Name**: `feature-name` format with 1-2 sentence rationale
|
|
50
|
+
2. **Project Summary**: Brief summary (1 sentence)
|
|
51
|
+
3. **Created Files**: Bullet list with full paths
|
|
52
|
+
4. **Next Step**: Command block showing `/red64:spec-requirements <feature-name>`
|
|
53
|
+
5. **Notes**: Explain why only initialization was performed (2-3 sentences on phase separation)
|
|
54
|
+
|
|
55
|
+
**Format Requirements**:
|
|
56
|
+
- Use Markdown headings (##, ###)
|
|
57
|
+
- Wrap commands in code blocks
|
|
58
|
+
- Keep total output concise (under 250 words)
|
|
59
|
+
- Use clear, professional language per `spec.json.language`
|
|
60
|
+
|
|
61
|
+
## Safety & Fallback
|
|
62
|
+
- **Ambiguous Feature Name**: If feature name generation is unclear, propose 2-3 options and ask user to select
|
|
63
|
+
- **Template Missing**: If template files don't exist in `.red64/settings/templates/specs/`, report error with specific missing file path and suggest checking repository setup
|
|
64
|
+
- **Directory Conflict**: If feature name already exists, append numeric suffix (e.g., `feature-name-2`) and notify user of automatic conflict resolution
|
|
65
|
+
- **Write Failure**: Report error with specific path and suggest checking permissions or disk space
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Quick spec generation with interactive or automatic mode
|
|
3
|
+
allowed-tools: Read, SlashCommand, TodoWrite, Bash, Write, Glob
|
|
4
|
+
argument-hint: <project-description> [--auto]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Quick Spec Generator
|
|
8
|
+
|
|
9
|
+
<background_information>
|
|
10
|
+
- **Mission**: Execute all spec phases (init → requirements → design → tasks) in a single command
|
|
11
|
+
- **Success Criteria**:
|
|
12
|
+
- Interactive mode: User controls progression with approval prompts at each phase
|
|
13
|
+
- Automatic mode: All phases execute without interruption when `--auto` flag provided
|
|
14
|
+
- All generated specs maintain quality comparable to manual workflow
|
|
15
|
+
</background_information>
|
|
16
|
+
|
|
17
|
+
<instructions>
|
|
18
|
+
## ⚠️ CRITICAL: Automatic Mode Execution Rules
|
|
19
|
+
|
|
20
|
+
**If `--auto` flag is present in `$ARGUMENTS`, you are in AUTOMATIC MODE.**
|
|
21
|
+
|
|
22
|
+
In Automatic Mode:
|
|
23
|
+
- Execute ALL 4 phases in a continuous loop without stopping
|
|
24
|
+
- Use TodoWrite to track progress (4 tasks: init, requirements, design, tasks)
|
|
25
|
+
- Each phase completion updates TodoWrite and continues immediately
|
|
26
|
+
- IGNORE any "Next Step" messages from Phase 2-4 (they are for standalone usage)
|
|
27
|
+
- Stop ONLY after Phase 4 completes or if error occurs
|
|
28
|
+
|
|
29
|
+
**Progress tracking with TodoWrite**:
|
|
30
|
+
- Phase 1 complete = 1/4 tasks done → Continue to Phase 2
|
|
31
|
+
- Phase 2 complete = 2/4 tasks done → Continue to Phase 3
|
|
32
|
+
- Phase 3 complete = 3/4 tasks done → Continue to Phase 4
|
|
33
|
+
- Phase 4 complete = 4/4 tasks done → Output summary and exit
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Core Task
|
|
38
|
+
Execute 4 spec phases sequentially. In automatic mode, execute all phases without stopping. In interactive mode, prompt user for approval between phases.
|
|
39
|
+
|
|
40
|
+
## Execution Steps
|
|
41
|
+
|
|
42
|
+
### Step 1: Parse Arguments and Initialize
|
|
43
|
+
|
|
44
|
+
Parse `$ARGUMENTS`:
|
|
45
|
+
- If contains `--auto`: **Automatic Mode** (execute all 4 phases)
|
|
46
|
+
- Otherwise: **Interactive Mode** (prompt at each phase)
|
|
47
|
+
- Extract description (remove `--auto` flag if present)
|
|
48
|
+
|
|
49
|
+
Example:
|
|
50
|
+
```
|
|
51
|
+
"User profile with avatar upload --auto" → mode=automatic, description="User profile with avatar upload"
|
|
52
|
+
"User profile feature" → mode=interactive, description="User profile feature"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Create TodoWrite task list**:
|
|
56
|
+
```json
|
|
57
|
+
[
|
|
58
|
+
{"content": "Initialize spec", "activeForm": "Initializing spec", "status": "pending"},
|
|
59
|
+
{"content": "Generate requirements", "activeForm": "Generating requirements", "status": "pending"},
|
|
60
|
+
{"content": "Generate design", "activeForm": "Generating design", "status": "pending"},
|
|
61
|
+
{"content": "Generate tasks", "activeForm": "Generating tasks", "status": "pending"}
|
|
62
|
+
]
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Display mode banner and proceed to Step 2.
|
|
66
|
+
|
|
67
|
+
### Step 2: Execute Phase Loop
|
|
68
|
+
|
|
69
|
+
Execute these 4 phases in order:
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
#### Phase 1: Initialize Spec (Direct Implementation)
|
|
74
|
+
|
|
75
|
+
**Update TodoWrite**: Mark task 1 as `in_progress`.
|
|
76
|
+
|
|
77
|
+
**Core Logic**:
|
|
78
|
+
|
|
79
|
+
1. **Generate Feature Name**:
|
|
80
|
+
- Convert description to kebab-case
|
|
81
|
+
- Example: "User profile with avatar upload" → "user-profile-avatar-upload"
|
|
82
|
+
- Keep name concise (2-4 words ideally)
|
|
83
|
+
|
|
84
|
+
2. **Check Uniqueness**:
|
|
85
|
+
- Use Glob to check `.red64/specs/*/`
|
|
86
|
+
- If feature name exists, append `-2`, `-3`, etc.
|
|
87
|
+
|
|
88
|
+
3. **Create Directory**:
|
|
89
|
+
- Use Bash: `mkdir -p .red64/specs/{feature-name}`
|
|
90
|
+
|
|
91
|
+
4. **Initialize Files from Templates**:
|
|
92
|
+
|
|
93
|
+
a. Read templates:
|
|
94
|
+
```
|
|
95
|
+
- .red64/settings/templates/specs/init.json
|
|
96
|
+
- .red64/settings/templates/specs/requirements-init.md
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
b. Replace placeholders:
|
|
100
|
+
```
|
|
101
|
+
{{FEATURE_NAME}} → feature-name
|
|
102
|
+
{{TIMESTAMP}} → current ISO 8601 timestamp (use `date -u +"%Y-%m-%dT%H:%M:%SZ"`)
|
|
103
|
+
{{PROJECT_DESCRIPTION}} → description
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
c. Write files using Write tool:
|
|
107
|
+
```
|
|
108
|
+
- .red64/specs/{feature-name}/spec.json
|
|
109
|
+
- .red64/specs/{feature-name}/requirements.md
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
5. **Update TodoWrite**: Mark task 1 as `completed`, task 2 as `in_progress`.
|
|
113
|
+
|
|
114
|
+
6. **Output Progress**:
|
|
115
|
+
```
|
|
116
|
+
✅ Spec initialized at .red64/specs/{feature-name}/
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**Automatic Mode**: IMMEDIATELY continue to Phase 2.
|
|
120
|
+
|
|
121
|
+
**Interactive Mode**: Prompt "Continue to requirements generation? (yes/no)"
|
|
122
|
+
- If "no": Stop, show current state
|
|
123
|
+
- If "yes": Continue to Phase 2
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
#### Phase 2: Generate Requirements
|
|
128
|
+
|
|
129
|
+
**Task 2 is already `in_progress` from Phase 1.**
|
|
130
|
+
|
|
131
|
+
**Execute SlashCommand**:
|
|
132
|
+
```
|
|
133
|
+
/red64:spec-requirements {feature-name}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Wait for completion. Subagent will return with "次のステップ" message.
|
|
137
|
+
|
|
138
|
+
**IMPORTANT**: In Automatic Mode, IGNORE the "次のステップ" message. It is for standalone usage.
|
|
139
|
+
|
|
140
|
+
**Update TodoWrite**: Mark task 2 as `completed`, task 3 as `in_progress`.
|
|
141
|
+
|
|
142
|
+
**Output Progress**:
|
|
143
|
+
```
|
|
144
|
+
✅ Requirements generated → Continuing to design...
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
**Automatic Mode**: Task list shows 2/4 complete. IMMEDIATELY continue to Phase 3.
|
|
148
|
+
|
|
149
|
+
**Interactive Mode**: Prompt "Continue to design generation? (yes/no)"
|
|
150
|
+
- If "no": Stop, show current state
|
|
151
|
+
- If "yes": Continue to Phase 3
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
#### Phase 3: Generate Design
|
|
156
|
+
|
|
157
|
+
**Task 3 is already `in_progress` from Phase 2.**
|
|
158
|
+
|
|
159
|
+
**Execute SlashCommand**:
|
|
160
|
+
```
|
|
161
|
+
/red64:spec-design {feature-name} -y
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Note: `-y` flag auto-approves requirements.
|
|
165
|
+
|
|
166
|
+
Wait for completion. Subagent will return with "次のステップ" message.
|
|
167
|
+
|
|
168
|
+
**IMPORTANT**: In Automatic Mode, IGNORE the "次のステップ" message.
|
|
169
|
+
|
|
170
|
+
**Update TodoWrite**: Mark task 3 as `completed`, task 4 as `in_progress`.
|
|
171
|
+
|
|
172
|
+
**Output Progress**:
|
|
173
|
+
```
|
|
174
|
+
✅ Design generated → Continuing to tasks...
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
**Automatic Mode**: Task list shows 3/4 complete. IMMEDIATELY continue to Phase 4.
|
|
178
|
+
|
|
179
|
+
**Interactive Mode**: Prompt "Continue to tasks generation? (yes/no)"
|
|
180
|
+
- If "no": Stop, show current state
|
|
181
|
+
- If "yes": Continue to Phase 4
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
#### Phase 4: Generate Tasks
|
|
186
|
+
|
|
187
|
+
**Task 4 is already `in_progress` from Phase 3.**
|
|
188
|
+
|
|
189
|
+
**Execute SlashCommand**:
|
|
190
|
+
```
|
|
191
|
+
/red64:spec-tasks {feature-name} -y
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Note: `-y` flag auto-approves design.
|
|
195
|
+
|
|
196
|
+
Wait for completion.
|
|
197
|
+
|
|
198
|
+
**Update TodoWrite**: Mark task 4 as `completed`.
|
|
199
|
+
|
|
200
|
+
**All 4 tasks complete. Loop is DONE.**
|
|
201
|
+
|
|
202
|
+
Output final completion summary (see Output Description section) and exit.
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Important Constraints
|
|
207
|
+
|
|
208
|
+
### Phase 1 Implementation Notes
|
|
209
|
+
- Feature name generation should be deterministic and readable
|
|
210
|
+
- Always check for conflicts before creating directory
|
|
211
|
+
- Validate templates exist before reading
|
|
212
|
+
- Use ISO 8601 format for timestamp: `YYYY-MM-DDTHH:MM:SSZ`
|
|
213
|
+
|
|
214
|
+
### Automatic Mode Behavior
|
|
215
|
+
- Do NOT stop between phases
|
|
216
|
+
- Do NOT wait for user input
|
|
217
|
+
- Do NOT be influenced by "次のステップ" messages from Phases 2-4
|
|
218
|
+
- Update TodoWrite after each phase to maintain progress visibility
|
|
219
|
+
- Continue loop until all 4 phases complete
|
|
220
|
+
|
|
221
|
+
### Interactive Mode Behavior
|
|
222
|
+
- Prompt user after each phase
|
|
223
|
+
- Wait for "yes/y" or "no/n" response
|
|
224
|
+
- If "no": Stop gracefully, show completed phases
|
|
225
|
+
- If "yes": Continue to next phase
|
|
226
|
+
|
|
227
|
+
### Error Handling
|
|
228
|
+
- Any phase failure stops the workflow
|
|
229
|
+
- Display error and current state
|
|
230
|
+
- Suggest manual recovery command
|
|
231
|
+
|
|
232
|
+
</instructions>
|
|
233
|
+
|
|
234
|
+
## Tool Guidance
|
|
235
|
+
|
|
236
|
+
### Phase 1 Tools
|
|
237
|
+
- **Glob**: Check `.red64/specs/*/` for existing feature names
|
|
238
|
+
- **Bash**: Create directory with `mkdir -p`, generate timestamp with `date -u`
|
|
239
|
+
- **Read**: Fetch templates from `.red64/settings/templates/specs/`
|
|
240
|
+
- **Write**: Create `spec.json` and `requirements.md` in spec directory
|
|
241
|
+
|
|
242
|
+
### Phase 2-4 Tools
|
|
243
|
+
- **SlashCommand**: Execute `/red64:spec-requirements`, `/red64:spec-design`, `/red64:spec-tasks`
|
|
244
|
+
|
|
245
|
+
### TodoWrite Usage
|
|
246
|
+
- Initialize with 4 pending tasks
|
|
247
|
+
- Update after each phase: current task `completed`, next task `in_progress`
|
|
248
|
+
- Provides visual progress tracking in UI
|
|
249
|
+
|
|
250
|
+
## Output Description
|
|
251
|
+
|
|
252
|
+
### Mode Banners
|
|
253
|
+
|
|
254
|
+
**Interactive Mode**:
|
|
255
|
+
```
|
|
256
|
+
🚀 Quick Spec Generation (Interactive Mode)
|
|
257
|
+
|
|
258
|
+
You will be prompted at each phase.
|
|
259
|
+
⚠️ Skips gap analysis and design validation.
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
**Automatic Mode**:
|
|
263
|
+
```
|
|
264
|
+
🚀 Quick Spec Generation (Automatic Mode)
|
|
265
|
+
|
|
266
|
+
All phases execute automatically without prompts.
|
|
267
|
+
⚠️ Skips all validations and reviews.
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
### Intermediate Output
|
|
271
|
+
|
|
272
|
+
After each phase, show brief progress:
|
|
273
|
+
```
|
|
274
|
+
✅ Spec initialized at .red64/specs/{feature}/
|
|
275
|
+
✅ Requirements generated → Continuing to design...
|
|
276
|
+
✅ Design generated → Continuing to tasks...
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### Final Completion Summary
|
|
280
|
+
|
|
281
|
+
Provide output in the language specified in `spec.json`:
|
|
282
|
+
|
|
283
|
+
```
|
|
284
|
+
✅ Quick Spec Generation Complete!
|
|
285
|
+
|
|
286
|
+
## Generated Files:
|
|
287
|
+
- .red64/specs/{feature}/spec.json
|
|
288
|
+
- .red64/specs/{feature}/requirements.md ({X} requirements)
|
|
289
|
+
- .red64/specs/{feature}/design.md ({Y} components, {Z} endpoints)
|
|
290
|
+
- .red64/specs/{feature}/tasks.md ({N} tasks)
|
|
291
|
+
|
|
292
|
+
⚠️ Quick generation skipped:
|
|
293
|
+
- `/red64:validate-gap` - Gap analysis (integration check)
|
|
294
|
+
- `/red64:validate-design` - Design review (architecture validation)
|
|
295
|
+
|
|
296
|
+
## Next Steps:
|
|
297
|
+
1. Review generated specs (especially design.md)
|
|
298
|
+
2. Optional validation:
|
|
299
|
+
- `/red64:validate-gap {feature}` - Check integration with existing codebase
|
|
300
|
+
- `/red64:validate-design {feature}` - Verify architecture quality
|
|
301
|
+
3. Start implementation: `/red64:spec-impl {feature}`
|
|
302
|
+
|
|
303
|
+
## Note:
|
|
304
|
+
For complex features (integrations, security, APIs), use standard workflow:
|
|
305
|
+
/red64:spec-init → /red64:spec-requirements → /red64:validate-gap
|
|
306
|
+
→ /red64:spec-design → /red64:validate-design → /red64:spec-tasks
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
## Safety & Fallback
|
|
310
|
+
|
|
311
|
+
### Argument Parsing
|
|
312
|
+
- Use `$ARGUMENTS` to parse (NOT `$1`, `$2`)
|
|
313
|
+
- Handle spaces in descriptions correctly
|
|
314
|
+
- Example: `"Multi word description --auto"` → extract both parts correctly
|
|
315
|
+
|
|
316
|
+
### Feature Name Generation
|
|
317
|
+
- Convert to lowercase kebab-case
|
|
318
|
+
- Remove special characters
|
|
319
|
+
- If ambiguous, prefer descriptive over short
|
|
320
|
+
- If conflict exists, append `-2`, `-3`, etc.
|
|
321
|
+
|
|
322
|
+
### Error Scenarios
|
|
323
|
+
|
|
324
|
+
**Template Missing**:
|
|
325
|
+
- Check `.red64/settings/templates/specs/` exists
|
|
326
|
+
- Report specific missing file
|
|
327
|
+
- Exit with error
|
|
328
|
+
|
|
329
|
+
**Directory Creation Failed**:
|
|
330
|
+
- Check permissions
|
|
331
|
+
- Report error with path
|
|
332
|
+
- Exit with error
|
|
333
|
+
|
|
334
|
+
**Phase Execution Failed** (Phase 2-4):
|
|
335
|
+
- Stop workflow
|
|
336
|
+
- Show current state and completed phases
|
|
337
|
+
- Suggest: "Continue manually from `/red64:spec-{next-phase} {feature}`"
|
|
338
|
+
|
|
339
|
+
**User Cancellation** (Interactive Mode):
|
|
340
|
+
- Stop gracefully
|
|
341
|
+
- Show completed phases
|
|
342
|
+
- Suggest manual continuation
|
|
343
|
+
|
|
344
|
+
### Usage Guidance
|
|
345
|
+
|
|
346
|
+
**Use Automatic Mode** (`--auto`) when:
|
|
347
|
+
- Simple feature (CRUD, basic UI)
|
|
348
|
+
- Prototyping / proof-of-concept
|
|
349
|
+
- Well-known feature pattern
|
|
350
|
+
|
|
351
|
+
**Use Interactive Mode** (default) when:
|
|
352
|
+
- First time using spec-quick
|
|
353
|
+
- Want to review each phase
|
|
354
|
+
- Moderately complex feature
|
|
355
|
+
|
|
356
|
+
**Use Standard Workflow** (NOT spec-quick) when:
|
|
357
|
+
- Complex integration with existing systems
|
|
358
|
+
- Security-critical features
|
|
359
|
+
- Production-ready quality required
|
|
360
|
+
- Need gap analysis or design validation
|