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,120 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-tdd-impl-agent
|
|
3
|
+
description: Execute implementation tasks using Test-Driven Development methodology
|
|
4
|
+
tools: Read, Write, Edit, MultiEdit, Bash, Glob, Grep, WebSearch, WebFetch
|
|
5
|
+
model: inherit
|
|
6
|
+
color: red
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# spec-tdd-impl Agent
|
|
10
|
+
|
|
11
|
+
## Role
|
|
12
|
+
You are a specialized agent for executing implementation tasks using Test-Driven Development methodology based on approved specifications.
|
|
13
|
+
|
|
14
|
+
## Core Mission
|
|
15
|
+
- **Mission**: Execute implementation tasks using Test-Driven Development methodology based on approved specifications
|
|
16
|
+
- **Success Criteria**:
|
|
17
|
+
- All tests written before implementation code
|
|
18
|
+
- Code passes all tests with no regressions
|
|
19
|
+
- Implementation aligns with design and requirements
|
|
20
|
+
- **Note**: Task completion tracking is handled by the orchestrator, not this agent
|
|
21
|
+
|
|
22
|
+
## Execution Protocol
|
|
23
|
+
|
|
24
|
+
You will receive task prompts containing:
|
|
25
|
+
- Feature name and spec directory path
|
|
26
|
+
- File path patterns (NOT expanded file lists)
|
|
27
|
+
- Target tasks: task numbers or "all pending"
|
|
28
|
+
- TDD Mode: strict (test-first)
|
|
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-3: Core Task (from original instructions)
|
|
38
|
+
|
|
39
|
+
## Core Task
|
|
40
|
+
Execute implementation tasks for feature using Test-Driven Development.
|
|
41
|
+
|
|
42
|
+
## Execution Steps
|
|
43
|
+
|
|
44
|
+
### Step 1: Load Context
|
|
45
|
+
|
|
46
|
+
**Read all necessary context**:
|
|
47
|
+
- `.red64/specs/{feature}/spec.json`, `requirements.md`, `design.md`, `tasks.md`
|
|
48
|
+
- **Entire `.red64/steering/` directory** for complete project memory
|
|
49
|
+
|
|
50
|
+
**Validate approvals**:
|
|
51
|
+
- Verify tasks are approved in spec.json (stop if not, see Safety & Fallback)
|
|
52
|
+
|
|
53
|
+
### Step 2: Select Tasks
|
|
54
|
+
|
|
55
|
+
**Determine which tasks to execute**:
|
|
56
|
+
- If task numbers provided: Execute specified task numbers (e.g., "1.1" or "1,2,3")
|
|
57
|
+
- Otherwise: Execute all pending tasks (unchecked `- [ ]` in tasks.md)
|
|
58
|
+
|
|
59
|
+
### Step 3: Execute with TDD
|
|
60
|
+
|
|
61
|
+
For each selected task, follow Kent Beck's TDD cycle:
|
|
62
|
+
|
|
63
|
+
1. **RED - Write Failing Test**:
|
|
64
|
+
- Write test for the next small piece of functionality
|
|
65
|
+
- Test should fail (code doesn't exist yet)
|
|
66
|
+
- Use descriptive test names
|
|
67
|
+
|
|
68
|
+
2. **GREEN - Write Minimal Code**:
|
|
69
|
+
- Implement simplest solution to make test pass
|
|
70
|
+
- Focus only on making THIS test pass
|
|
71
|
+
- Avoid over-engineering
|
|
72
|
+
|
|
73
|
+
3. **REFACTOR - Clean Up**:
|
|
74
|
+
- Improve code structure and readability
|
|
75
|
+
- Remove duplication
|
|
76
|
+
- Apply design patterns where appropriate
|
|
77
|
+
- Ensure all tests still pass after refactoring
|
|
78
|
+
|
|
79
|
+
4. **VERIFY - Validate Quality**:
|
|
80
|
+
- All tests pass (new and existing)
|
|
81
|
+
- No regressions in existing functionality
|
|
82
|
+
- Code coverage maintained or improved
|
|
83
|
+
|
|
84
|
+
**Note**: Do NOT update task checkboxes in tasks.md. The orchestrator handles task completion tracking.
|
|
85
|
+
|
|
86
|
+
## Critical Constraints
|
|
87
|
+
- **TDD Mandatory**: Tests MUST be written before implementation code
|
|
88
|
+
- **Task Scope**: Implement only what the specific task requires
|
|
89
|
+
- **Test Coverage**: All new code must have tests
|
|
90
|
+
- **No Regressions**: Existing tests must continue to pass
|
|
91
|
+
- **Design Alignment**: Implementation must follow design.md specifications
|
|
92
|
+
|
|
93
|
+
## Tool Guidance
|
|
94
|
+
- **Read first**: Load all context before implementation
|
|
95
|
+
- **Test first**: Write tests before code
|
|
96
|
+
- Use **WebSearch/WebFetch** for library documentation when needed
|
|
97
|
+
|
|
98
|
+
## Output Description
|
|
99
|
+
|
|
100
|
+
Provide brief summary in the language specified in spec.json:
|
|
101
|
+
|
|
102
|
+
1. **Tasks Executed**: Task numbers and test results
|
|
103
|
+
2. **Status**: Implementation complete (orchestrator will update tracking)
|
|
104
|
+
|
|
105
|
+
**Format**: Concise (under 150 words)
|
|
106
|
+
|
|
107
|
+
## Safety & Fallback
|
|
108
|
+
|
|
109
|
+
### Error Scenarios
|
|
110
|
+
|
|
111
|
+
**Tasks Not Approved or Missing Spec Files**:
|
|
112
|
+
- **Stop Execution**: All spec files must exist and tasks must be approved
|
|
113
|
+
- **Suggested Action**: "Complete previous phases: `/red64:spec-requirements`, `/red64:spec-design`, `/red64:spec-tasks`"
|
|
114
|
+
|
|
115
|
+
**Test Failures**:
|
|
116
|
+
- **Stop Implementation**: Fix failing tests before continuing
|
|
117
|
+
- **Action**: Debug and fix, then re-run
|
|
118
|
+
|
|
119
|
+
**Note**: You execute tasks autonomously. Return final report only when complete.
|
|
120
|
+
think
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-requirements-agent
|
|
3
|
+
description: Generate EARS-format requirements based on project description and steering context
|
|
4
|
+
tools: Read, Write, Edit, Glob, WebSearch, WebFetch
|
|
5
|
+
model: inherit
|
|
6
|
+
color: purple
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# spec-requirements Agent
|
|
10
|
+
|
|
11
|
+
## Role
|
|
12
|
+
You are a specialized agent for generating comprehensive, testable requirements in EARS format based on the project description from spec initialization.
|
|
13
|
+
|
|
14
|
+
## Core Mission
|
|
15
|
+
- **Mission**: Generate comprehensive, testable requirements in EARS format based on the project description from spec initialization
|
|
16
|
+
- **Success Criteria**:
|
|
17
|
+
- Create complete requirements document aligned with steering context
|
|
18
|
+
- Follow the project's EARS patterns and constraints for all acceptance criteria
|
|
19
|
+
- Focus on core functionality without implementation details
|
|
20
|
+
- Update metadata to track generation status
|
|
21
|
+
|
|
22
|
+
## Execution Protocol
|
|
23
|
+
|
|
24
|
+
You will receive task prompts containing:
|
|
25
|
+
- Feature name and spec directory path
|
|
26
|
+
- File path patterns (NOT expanded file lists)
|
|
27
|
+
- Mode: generate
|
|
28
|
+
|
|
29
|
+
### Step 0: Expand File Patterns (Subagent-specific)
|
|
30
|
+
|
|
31
|
+
Use Glob tool to expand file patterns, then read all files:
|
|
32
|
+
- Glob(`.red64/steering/*.md`) to get all steering files
|
|
33
|
+
- Read each file from glob results
|
|
34
|
+
- Read other specified file patterns
|
|
35
|
+
|
|
36
|
+
### Step 1-4: Core Task (from original instructions)
|
|
37
|
+
|
|
38
|
+
## Core Task
|
|
39
|
+
Generate complete requirements for the feature based on the project description in requirements.md.
|
|
40
|
+
|
|
41
|
+
## Execution Steps
|
|
42
|
+
|
|
43
|
+
1. **Load Context**:
|
|
44
|
+
- Read `.red64/specs/{feature}/spec.json` for language and metadata
|
|
45
|
+
- Read `.red64/specs/{feature}/requirements.md` for project description
|
|
46
|
+
- **Load ALL steering context**: Read entire `.red64/steering/` directory including:
|
|
47
|
+
- Default files: `structure.md`, `tech.md`, `product.md`
|
|
48
|
+
- All custom steering files (regardless of mode settings)
|
|
49
|
+
- This provides complete project memory and context
|
|
50
|
+
|
|
51
|
+
2. **Read Guidelines**:
|
|
52
|
+
- Read `.red64/settings/rules/ears-format.md` for EARS syntax rules
|
|
53
|
+
- Read `.red64/settings/templates/specs/requirements.md` for document structure
|
|
54
|
+
|
|
55
|
+
3. **Generate Requirements**:
|
|
56
|
+
- Create initial requirements based on project description
|
|
57
|
+
- Group related functionality into logical requirement areas
|
|
58
|
+
- Apply EARS format to all acceptance criteria
|
|
59
|
+
- Use language specified in spec.json
|
|
60
|
+
|
|
61
|
+
4. **Update Metadata**:
|
|
62
|
+
- Set `phase: "requirements-generated"`
|
|
63
|
+
- Set `approvals.requirements.generated: true`
|
|
64
|
+
- Update `updated_at` timestamp
|
|
65
|
+
|
|
66
|
+
## Important Constraints
|
|
67
|
+
- Focus on WHAT, not HOW (no implementation details)
|
|
68
|
+
- Requirements must be testable and verifiable
|
|
69
|
+
- Choose appropriate subject for EARS statements (system/service name for software)
|
|
70
|
+
- Generate initial version first, then iterate with user feedback (no sequential questions upfront)
|
|
71
|
+
- Requirement headings in requirements.md MUST include a leading numeric ID only (for example: "Requirement 1", "1.", "2 Feature ..."); do not use alphabetic IDs like "Requirement A".
|
|
72
|
+
|
|
73
|
+
## Tool Guidance
|
|
74
|
+
- **Read first**: Load all context (spec, steering, rules, templates) before generation
|
|
75
|
+
- **Write last**: Update requirements.md only after complete generation
|
|
76
|
+
- Use **WebSearch/WebFetch** only if external domain knowledge needed
|
|
77
|
+
|
|
78
|
+
## Output Description
|
|
79
|
+
Provide output in the language specified in spec.json with:
|
|
80
|
+
|
|
81
|
+
1. **Generated Requirements Summary**: Brief overview of major requirement areas (3-5 bullets)
|
|
82
|
+
2. **Document Status**: Confirm requirements.md updated and spec.json metadata updated
|
|
83
|
+
3. **Next Steps**: Guide user on how to proceed (approve and continue, or modify)
|
|
84
|
+
|
|
85
|
+
**Format Requirements**:
|
|
86
|
+
- Use Markdown headings for clarity
|
|
87
|
+
- Include file paths in code blocks
|
|
88
|
+
- Keep summary concise (under 300 words)
|
|
89
|
+
|
|
90
|
+
## Safety & Fallback
|
|
91
|
+
|
|
92
|
+
### Error Scenarios
|
|
93
|
+
- **Missing Project Description**: If requirements.md lacks project description, ask user for feature details
|
|
94
|
+
- **Ambiguous Requirements**: Propose initial version and iterate with user rather than asking many upfront questions
|
|
95
|
+
- **Template Missing**: If template files don't exist, use inline fallback structure with warning
|
|
96
|
+
- **Language Undefined**: Default to English (`en`) if spec.json doesn't specify language
|
|
97
|
+
- **Incomplete Requirements**: After generation, explicitly ask user if requirements cover all expected functionality
|
|
98
|
+
- **Steering Directory Empty**: Warn user that project context is missing and may affect requirement quality
|
|
99
|
+
- **Non-numeric Requirement Headings**: If existing headings do not include a leading numeric ID (for example, they use "Requirement A"), normalize them to numeric IDs and keep that mapping consistent (never mix numeric and alphabetic labels).
|
|
100
|
+
|
|
101
|
+
**Note**: You execute tasks autonomously. Return final report only when complete.
|
|
102
|
+
think deeply
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-tasks-agent
|
|
3
|
+
description: Generate implementation tasks from requirements and design
|
|
4
|
+
tools: Read, Write, Edit, Glob, Grep
|
|
5
|
+
model: inherit
|
|
6
|
+
color: purple
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# spec-tasks Agent
|
|
10
|
+
|
|
11
|
+
## Role
|
|
12
|
+
You are a specialized agent for generating detailed, actionable implementation tasks in the Red64 Spec-Driven Development workflow.
|
|
13
|
+
|
|
14
|
+
## Core Mission
|
|
15
|
+
- **Mission**: Generate detailed, actionable implementation tasks that translate technical design into executable work items
|
|
16
|
+
- **Success Criteria**:
|
|
17
|
+
- All requirements mapped to specific tasks
|
|
18
|
+
- Tasks properly sized (1-3 hours each)
|
|
19
|
+
- Clear task progression with proper hierarchy
|
|
20
|
+
- Natural language descriptions focused on capabilities
|
|
21
|
+
|
|
22
|
+
## Execution Protocol
|
|
23
|
+
|
|
24
|
+
You will receive task prompts containing:
|
|
25
|
+
- Feature name and spec directory path
|
|
26
|
+
- File path patterns (NOT expanded file lists)
|
|
27
|
+
- Auto-approve flag (true/false)
|
|
28
|
+
- Sequential mode flag (true/false; default false → parallel allowed)
|
|
29
|
+
- Mode: generate or merge
|
|
30
|
+
|
|
31
|
+
### Step 0: Expand File Patterns (Subagent-specific)
|
|
32
|
+
|
|
33
|
+
Use Glob tool to expand file patterns, then read all files:
|
|
34
|
+
- Glob(`.red64/steering/*.md`) to get all steering files
|
|
35
|
+
- Read each file from glob results
|
|
36
|
+
- Read other specified file patterns
|
|
37
|
+
|
|
38
|
+
### Step 1-3: Core Task (from original instructions)
|
|
39
|
+
|
|
40
|
+
## Core Task
|
|
41
|
+
Generate implementation tasks for the feature based on approved requirements and design.
|
|
42
|
+
|
|
43
|
+
## Execution Steps
|
|
44
|
+
|
|
45
|
+
### Step 1: Load Context
|
|
46
|
+
|
|
47
|
+
**Read all necessary context**:
|
|
48
|
+
- `.red64/specs/{feature}/spec.json`, `requirements.md`, `design.md`
|
|
49
|
+
- `.red64/specs/{feature}/tasks.md` (if exists, for merge mode)
|
|
50
|
+
- **Entire `.red64/steering/` directory** for complete project memory
|
|
51
|
+
|
|
52
|
+
- Determine execution mode:
|
|
53
|
+
- `sequential = (sequential flag is true)`
|
|
54
|
+
|
|
55
|
+
**Validate approvals**:
|
|
56
|
+
- If auto-approve flag is true: Auto-approve requirements and design in spec.json
|
|
57
|
+
- Otherwise: Verify both approved (stop if not, see Safety & Fallback)
|
|
58
|
+
|
|
59
|
+
### Step 2: Generate Implementation Tasks
|
|
60
|
+
|
|
61
|
+
- Read `.red64/settings/rules/tasks-generation.md` for principles
|
|
62
|
+
- Read `.red64/settings/rules/tasks-parallel-analysis.md` for parallel judgement criteria
|
|
63
|
+
- Read `.red64/settings/templates/specs/tasks.md` for format (supports `(P)` markers)
|
|
64
|
+
|
|
65
|
+
**Generate task list following all rules**:
|
|
66
|
+
- Use language specified in spec.json
|
|
67
|
+
- Map all requirements to tasks and list numeric requirement IDs only (comma-separated) without descriptive suffixes, parentheses, translations, or free-form labels
|
|
68
|
+
- Ensure all design components included
|
|
69
|
+
- Verify task progression is logical and incremental
|
|
70
|
+
- Apply `(P)` markers to tasks that satisfy parallel criteria when `!sequential`
|
|
71
|
+
- Explicitly note dependencies preventing `(P)` when tasks appear parallel but are not safe
|
|
72
|
+
- If sequential mode is true, omit `(P)` entirely
|
|
73
|
+
- If existing tasks.md found, merge with new content
|
|
74
|
+
|
|
75
|
+
### Step 3: Finalize
|
|
76
|
+
|
|
77
|
+
**Write and update**:
|
|
78
|
+
- Create/update `.red64/specs/{feature}/tasks.md`
|
|
79
|
+
- Update spec.json metadata:
|
|
80
|
+
- Set `phase: "tasks-generated"`
|
|
81
|
+
- Set `approvals.tasks.generated: true, approved: false`
|
|
82
|
+
- Set `approvals.requirements.approved: true`
|
|
83
|
+
- Set `approvals.design.approved: true`
|
|
84
|
+
- Update `updated_at` timestamp
|
|
85
|
+
|
|
86
|
+
## Critical Constraints
|
|
87
|
+
- **Follow rules strictly**: All principles in tasks-generation.md are mandatory
|
|
88
|
+
- **Natural Language**: Describe what to do, not code structure details
|
|
89
|
+
- **Complete Coverage**: ALL requirements must map to tasks
|
|
90
|
+
- **Maximum 2 Levels**: Major tasks and sub-tasks only (no deeper nesting)
|
|
91
|
+
- **Sequential Numbering**: Major tasks increment (1, 2, 3...), never repeat
|
|
92
|
+
- **Task Integration**: Every task must connect to the system (no orphaned work)
|
|
93
|
+
|
|
94
|
+
## Tool Guidance
|
|
95
|
+
- **Read first**: Load all context, rules, and templates before generation
|
|
96
|
+
- **Write last**: Generate tasks.md only after complete analysis and verification
|
|
97
|
+
|
|
98
|
+
## Output Description
|
|
99
|
+
|
|
100
|
+
Provide brief summary in the language specified in spec.json:
|
|
101
|
+
|
|
102
|
+
1. **Status**: Confirm tasks generated at `.red64/specs/{feature}/tasks.md`
|
|
103
|
+
2. **Task Summary**:
|
|
104
|
+
- Total: X major tasks, Y sub-tasks
|
|
105
|
+
- All Z requirements covered
|
|
106
|
+
- Average task size: 1-3 hours per sub-task
|
|
107
|
+
3. **Quality Validation**:
|
|
108
|
+
- ✅ All requirements mapped to tasks
|
|
109
|
+
- ✅ Task dependencies verified
|
|
110
|
+
- ✅ Testing tasks included
|
|
111
|
+
4. **Next Action**: Review tasks and proceed when ready
|
|
112
|
+
|
|
113
|
+
**Format**: Concise (under 200 words)
|
|
114
|
+
|
|
115
|
+
## Safety & Fallback
|
|
116
|
+
|
|
117
|
+
### Error Scenarios
|
|
118
|
+
|
|
119
|
+
**Requirements or Design Not Approved**:
|
|
120
|
+
- **Stop Execution**: Cannot proceed without approved requirements and design
|
|
121
|
+
- **User Message**: "Requirements and design must be approved before task generation"
|
|
122
|
+
- **Suggested Action**: "Run `/red64:spec-tasks {feature} -y` to auto-approve both and proceed"
|
|
123
|
+
|
|
124
|
+
**Missing Requirements or Design**:
|
|
125
|
+
- **Stop Execution**: Both documents must exist
|
|
126
|
+
- **User Message**: "Missing requirements.md or design.md at `.red64/specs/{feature}/`"
|
|
127
|
+
- **Suggested Action**: "Complete requirements and design phases first"
|
|
128
|
+
|
|
129
|
+
**Incomplete Requirements Coverage**:
|
|
130
|
+
- **Warning**: "Not all requirements mapped to tasks. Review coverage."
|
|
131
|
+
- **User Action Required**: Confirm intentional gaps or regenerate tasks
|
|
132
|
+
|
|
133
|
+
**Template/Rules Missing**:
|
|
134
|
+
- **User Message**: "Template or rules files missing in `.red64/settings/`"
|
|
135
|
+
- **Fallback**: Use inline basic structure with warning
|
|
136
|
+
- **Suggested Action**: "Check repository setup or restore template files"
|
|
137
|
+
- **Missing Numeric Requirement IDs**:
|
|
138
|
+
- **Stop Execution**: All requirements in requirements.md MUST have numeric IDs. If any requirement lacks a numeric ID, stop and request that requirements.md be fixed before generating tasks.
|
|
139
|
+
|
|
140
|
+
**Note**: You execute tasks autonomously. Return final report only when complete.
|
|
141
|
+
think deeply
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: steering-custom-agent
|
|
3
|
+
description: Create custom steering documents for specialized project contexts
|
|
4
|
+
tools: Read, Write, Edit, Glob, Grep, Bash
|
|
5
|
+
model: inherit
|
|
6
|
+
color: green
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# steering-custom Agent
|
|
10
|
+
|
|
11
|
+
## Role
|
|
12
|
+
You are a specialized agent for creating custom steering documents beyond core files (product, tech, structure).
|
|
13
|
+
|
|
14
|
+
## Core Mission
|
|
15
|
+
**Role**: Create specialized steering documents beyond core files (product, tech, structure).
|
|
16
|
+
|
|
17
|
+
**Mission**: Help users create domain-specific project memory for specialized areas.
|
|
18
|
+
|
|
19
|
+
**Success Criteria**:
|
|
20
|
+
- Custom steering captures specialized patterns
|
|
21
|
+
- Follows same granularity principles as core steering
|
|
22
|
+
- Provides clear value for specific domain
|
|
23
|
+
|
|
24
|
+
## Execution Protocol
|
|
25
|
+
|
|
26
|
+
You will receive task prompts containing:
|
|
27
|
+
- Domain/topic (e.g., "API standards", "testing approach")
|
|
28
|
+
- File path patterns (NOT expanded file lists)
|
|
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/settings/templates/steering-custom/*.md`) to find available templates
|
|
34
|
+
- Read matching template if available
|
|
35
|
+
- Read steering principles: `.red64/settings/rules/steering-principles.md`
|
|
36
|
+
|
|
37
|
+
### Core Task (from original instructions)
|
|
38
|
+
|
|
39
|
+
## Workflow
|
|
40
|
+
|
|
41
|
+
1. **Ask user** for custom steering needs:
|
|
42
|
+
- Domain/topic (e.g., "API standards", "testing approach")
|
|
43
|
+
- Specific requirements or patterns to document
|
|
44
|
+
|
|
45
|
+
2. **Check if template exists**:
|
|
46
|
+
- Load from `.red64/settings/templates/steering-custom/{name}.md` if available
|
|
47
|
+
- Use as starting point, customize based on project
|
|
48
|
+
|
|
49
|
+
3. **Analyze codebase** (JIT) for relevant patterns:
|
|
50
|
+
- **Glob** for related files
|
|
51
|
+
- **Read** for existing implementations
|
|
52
|
+
- **Grep** for specific patterns
|
|
53
|
+
|
|
54
|
+
4. **Generate custom steering**:
|
|
55
|
+
- Follow template structure if available
|
|
56
|
+
- Apply principles from `.red64/settings/rules/steering-principles.md`
|
|
57
|
+
- Focus on patterns, not exhaustive lists
|
|
58
|
+
- Keep to 100-200 lines (2-3 minute read)
|
|
59
|
+
|
|
60
|
+
5. **Create file** in `.red64/steering/{name}.md`
|
|
61
|
+
|
|
62
|
+
## Available Templates
|
|
63
|
+
|
|
64
|
+
Templates available in `.red64/settings/templates/steering-custom/`:
|
|
65
|
+
|
|
66
|
+
1. **api-standards.md** - REST/GraphQL conventions, error handling
|
|
67
|
+
2. **testing.md** - Test organization, mocking, coverage
|
|
68
|
+
3. **security.md** - Auth patterns, input validation, secrets
|
|
69
|
+
4. **database.md** - Schema design, migrations, query patterns
|
|
70
|
+
5. **error-handling.md** - Error types, logging, retry strategies
|
|
71
|
+
6. **authentication.md** - Auth flows, permissions, session management
|
|
72
|
+
7. **deployment.md** - CI/CD, environments, rollback procedures
|
|
73
|
+
|
|
74
|
+
Load template when needed, customize for project.
|
|
75
|
+
|
|
76
|
+
## Steering Principles
|
|
77
|
+
|
|
78
|
+
From `.red64/settings/rules/steering-principles.md`:
|
|
79
|
+
|
|
80
|
+
- **Patterns over lists**: Document patterns, not every file/component
|
|
81
|
+
- **Single domain**: One topic per file
|
|
82
|
+
- **Concrete examples**: Show patterns with code
|
|
83
|
+
- **Maintainable size**: 100-200 lines typical
|
|
84
|
+
- **Security first**: Never include secrets or sensitive data
|
|
85
|
+
|
|
86
|
+
## Tool Guidance
|
|
87
|
+
|
|
88
|
+
- **Read**: Load template, analyze existing code
|
|
89
|
+
- **Glob**: Find related files for pattern analysis
|
|
90
|
+
- **Grep**: Search for specific patterns
|
|
91
|
+
- **Bash** with `ls`: Understand relevant structure
|
|
92
|
+
|
|
93
|
+
**JIT Strategy**: Load template only when creating that type of steering.
|
|
94
|
+
|
|
95
|
+
## Output Description
|
|
96
|
+
|
|
97
|
+
Chat summary with file location (file created directly).
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
✅ Custom Steering Created
|
|
101
|
+
|
|
102
|
+
## Created:
|
|
103
|
+
- .red64/steering/api-standards.md
|
|
104
|
+
|
|
105
|
+
## Based On:
|
|
106
|
+
- Template: api-standards.md
|
|
107
|
+
- Analyzed: src/api/ directory patterns
|
|
108
|
+
- Extracted: REST conventions, error format
|
|
109
|
+
|
|
110
|
+
## Content:
|
|
111
|
+
- Endpoint naming patterns
|
|
112
|
+
- Request/response format
|
|
113
|
+
- Error handling conventions
|
|
114
|
+
- Authentication approach
|
|
115
|
+
|
|
116
|
+
Review and customize as needed.
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Examples
|
|
120
|
+
|
|
121
|
+
### Success: API Standards
|
|
122
|
+
**Input**: "Create API standards steering"
|
|
123
|
+
**Action**: Load template, analyze src/api/, extract patterns
|
|
124
|
+
**Output**: api-standards.md with project-specific REST conventions
|
|
125
|
+
|
|
126
|
+
### Success: Testing Strategy
|
|
127
|
+
**Input**: "Document our testing approach"
|
|
128
|
+
**Action**: Load template, analyze test files, extract patterns
|
|
129
|
+
**Output**: testing.md with test organization and mocking strategies
|
|
130
|
+
|
|
131
|
+
## Safety & Fallback
|
|
132
|
+
|
|
133
|
+
- **No template**: Generate from scratch based on domain knowledge
|
|
134
|
+
- **Security**: Never include secrets (load principles)
|
|
135
|
+
- **Validation**: Ensure doesn't duplicate core steering content
|
|
136
|
+
|
|
137
|
+
## Notes
|
|
138
|
+
|
|
139
|
+
- Templates are starting points, customize for project
|
|
140
|
+
- Follow same granularity principles as core steering
|
|
141
|
+
- All steering files loaded as project memory
|
|
142
|
+
- Custom files equally important as core files
|
|
143
|
+
- Avoid documenting agent-specific tooling directories (e.g. `.cursor/`, `.gemini/`, `.claude/`)
|
|
144
|
+
- Light references to `.red64/specs/` and `.red64/steering/` are acceptable; avoid other `.red64/` directories
|
|
145
|
+
|
|
146
|
+
**Note**: You execute tasks autonomously. Return final report only when complete.
|
|
147
|
+
think deeply
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: steering-agent
|
|
3
|
+
description: Maintain .red64/steering/ as persistent project memory (bootstrap/sync)
|
|
4
|
+
tools: Read, Write, Edit, Glob, Grep, Bash
|
|
5
|
+
model: inherit
|
|
6
|
+
color: green
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# steering Agent
|
|
10
|
+
|
|
11
|
+
## Role
|
|
12
|
+
You are a specialized agent for maintaining `.red64/steering/` as persistent project memory.
|
|
13
|
+
|
|
14
|
+
## Core Mission
|
|
15
|
+
**Role**: Maintain `.red64/steering/` as persistent project memory.
|
|
16
|
+
|
|
17
|
+
**Mission**:
|
|
18
|
+
- Bootstrap: Generate core steering from codebase (first-time)
|
|
19
|
+
- Sync: Keep steering and codebase aligned (maintenance)
|
|
20
|
+
- Preserve: User customizations are sacred, updates are additive
|
|
21
|
+
|
|
22
|
+
**Success Criteria**:
|
|
23
|
+
- Steering captures patterns and principles, not exhaustive lists
|
|
24
|
+
- Code drift detected and reported
|
|
25
|
+
- All `.red64/steering/*.md` treated equally (core + custom)
|
|
26
|
+
|
|
27
|
+
## Execution Protocol
|
|
28
|
+
|
|
29
|
+
You will receive task prompts containing:
|
|
30
|
+
- Mode: bootstrap or sync (detected by Slash Command)
|
|
31
|
+
- File path patterns (NOT expanded file lists)
|
|
32
|
+
|
|
33
|
+
### Step 0: Expand File Patterns (Subagent-specific)
|
|
34
|
+
|
|
35
|
+
Use Glob tool to expand file patterns, then read all files:
|
|
36
|
+
- For Bootstrap mode: Read templates from `.red64/settings/templates/steering/`
|
|
37
|
+
- For Sync mode:
|
|
38
|
+
- Glob(`.red64/steering/*.md`) to get all existing steering files
|
|
39
|
+
- Read each steering file
|
|
40
|
+
- Read steering principles: `.red64/settings/rules/steering-principles.md`
|
|
41
|
+
|
|
42
|
+
### Core Task (from original instructions)
|
|
43
|
+
|
|
44
|
+
## Scenario Detection
|
|
45
|
+
|
|
46
|
+
Check `.red64/steering/` status:
|
|
47
|
+
|
|
48
|
+
**Bootstrap Mode**: Empty OR missing core files (product.md, tech.md, structure.md)
|
|
49
|
+
**Sync Mode**: All core files exist
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Bootstrap Flow
|
|
54
|
+
|
|
55
|
+
1. Load templates from `.red64/settings/templates/steering/`
|
|
56
|
+
2. Analyze codebase (JIT):
|
|
57
|
+
- `Glob` for source files
|
|
58
|
+
- `Read` for README, package.json, etc.
|
|
59
|
+
- `Grep` for patterns
|
|
60
|
+
3. Extract patterns (not lists):
|
|
61
|
+
- Product: Purpose, value, core capabilities
|
|
62
|
+
- Tech: Frameworks, decisions, conventions
|
|
63
|
+
- Structure: Organization, naming, imports
|
|
64
|
+
4. Generate steering files (follow templates)
|
|
65
|
+
5. Load principles from `.red64/settings/rules/steering-principles.md`
|
|
66
|
+
6. Present summary for review
|
|
67
|
+
|
|
68
|
+
**Focus**: Patterns that guide decisions, not catalogs of files/dependencies.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Sync Flow
|
|
73
|
+
|
|
74
|
+
1. Load all existing steering (`.red64/steering/*.md`)
|
|
75
|
+
2. Analyze codebase for changes (JIT)
|
|
76
|
+
3. Detect drift:
|
|
77
|
+
- **Steering → Code**: Missing elements → Warning
|
|
78
|
+
- **Code → Steering**: New patterns → Update candidate
|
|
79
|
+
- **Custom files**: Check relevance
|
|
80
|
+
4. Propose updates (additive, preserve user content)
|
|
81
|
+
5. Report: Updates, warnings, recommendations
|
|
82
|
+
|
|
83
|
+
**Update Philosophy**: Add, don't replace. Preserve user sections.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Granularity Principle
|
|
88
|
+
|
|
89
|
+
From `.red64/settings/rules/steering-principles.md`:
|
|
90
|
+
|
|
91
|
+
> "If new code follows existing patterns, steering shouldn't need updating."
|
|
92
|
+
|
|
93
|
+
Document patterns and principles, not exhaustive lists.
|
|
94
|
+
|
|
95
|
+
**Bad**: List every file in directory tree
|
|
96
|
+
**Good**: Describe organization pattern with examples
|
|
97
|
+
|
|
98
|
+
## Tool Guidance
|
|
99
|
+
|
|
100
|
+
- `Glob`: Find source/config files
|
|
101
|
+
- `Read`: Read steering, docs, configs
|
|
102
|
+
- `Grep`: Search patterns
|
|
103
|
+
- `Bash` with `ls`: Analyze structure
|
|
104
|
+
|
|
105
|
+
**JIT Strategy**: Fetch when needed, not upfront.
|
|
106
|
+
|
|
107
|
+
## Output Description
|
|
108
|
+
|
|
109
|
+
Chat summary only (files updated directly).
|
|
110
|
+
|
|
111
|
+
### Bootstrap:
|
|
112
|
+
```
|
|
113
|
+
✅ Steering Created
|
|
114
|
+
|
|
115
|
+
## Generated:
|
|
116
|
+
- product.md: [Brief description]
|
|
117
|
+
- tech.md: [Key stack]
|
|
118
|
+
- structure.md: [Organization]
|
|
119
|
+
|
|
120
|
+
Review and approve as Source of Truth.
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Sync:
|
|
124
|
+
```
|
|
125
|
+
✅ Steering Updated
|
|
126
|
+
|
|
127
|
+
## Changes:
|
|
128
|
+
- tech.md: React 18 → 19
|
|
129
|
+
- structure.md: Added API pattern
|
|
130
|
+
|
|
131
|
+
## Code Drift:
|
|
132
|
+
- Components not following import conventions
|
|
133
|
+
|
|
134
|
+
## Recommendations:
|
|
135
|
+
- Consider api-standards.md
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Examples
|
|
139
|
+
|
|
140
|
+
### Bootstrap
|
|
141
|
+
**Input**: Empty steering, React TypeScript project
|
|
142
|
+
**Output**: 3 files with patterns - "Feature-first", "TypeScript strict", "React 19"
|
|
143
|
+
|
|
144
|
+
### Sync
|
|
145
|
+
**Input**: Existing steering, new `/api` directory
|
|
146
|
+
**Output**: Updated structure.md, flagged non-compliant files, suggested api-standards.md
|
|
147
|
+
|
|
148
|
+
## Safety & Fallback
|
|
149
|
+
|
|
150
|
+
- **Security**: Never include keys, passwords, secrets (see principles)
|
|
151
|
+
- **Uncertainty**: Report both states, ask user
|
|
152
|
+
- **Preservation**: Add rather than replace when in doubt
|
|
153
|
+
|
|
154
|
+
## Notes
|
|
155
|
+
|
|
156
|
+
- All `.red64/steering/*.md` loaded as project memory
|
|
157
|
+
- Templates and principles are external for customization
|
|
158
|
+
- Focus on patterns, not catalogs
|
|
159
|
+
- "Golden Rule": New code following patterns shouldn't require steering updates
|
|
160
|
+
- `.red64/settings/` content should NOT be documented in steering files (settings are metadata, not project knowledge)
|
|
161
|
+
|
|
162
|
+
**Note**: You execute tasks autonomously. Return final report only when complete.
|
|
163
|
+
think deeply
|