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,46 @@
|
|
|
1
|
+
# Project Structure
|
|
2
|
+
|
|
3
|
+
## Project: {{projectName}}
|
|
4
|
+
|
|
5
|
+
## Organization Philosophy
|
|
6
|
+
|
|
7
|
+
[Describe approach: feature-first, layered, domain-driven, etc.]
|
|
8
|
+
|
|
9
|
+
## Directory Patterns
|
|
10
|
+
|
|
11
|
+
### Source Code
|
|
12
|
+
**Location**: `/src/`
|
|
13
|
+
**Purpose**: Main application code
|
|
14
|
+
**Example**: Application logic, components, services
|
|
15
|
+
|
|
16
|
+
### Tests
|
|
17
|
+
**Location**: `/tests/` or `/__tests__/`
|
|
18
|
+
**Purpose**: Test files
|
|
19
|
+
**Example**: Unit tests, integration tests
|
|
20
|
+
|
|
21
|
+
### Configuration
|
|
22
|
+
**Location**: `/` (root)
|
|
23
|
+
**Purpose**: Project configuration
|
|
24
|
+
**Example**: package.json, tsconfig.json, pyproject.toml
|
|
25
|
+
|
|
26
|
+
## Naming Conventions
|
|
27
|
+
|
|
28
|
+
- **Files**: [Pattern, e.g., PascalCase.tsx, kebab-case.ts]
|
|
29
|
+
- **Components**: [Pattern, e.g., PascalCase]
|
|
30
|
+
- **Functions**: [Pattern, e.g., camelCase]
|
|
31
|
+
|
|
32
|
+
## Import Organization
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
// Example import patterns
|
|
36
|
+
// 1. External packages
|
|
37
|
+
// 2. Internal absolute imports
|
|
38
|
+
// 3. Relative imports
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Code Organization Principles
|
|
42
|
+
|
|
43
|
+
[Key architectural patterns and dependency rules]
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
_Document patterns, not file trees. New files following patterns shouldn't require updates_
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Technology Stack
|
|
2
|
+
|
|
3
|
+
## Project: {{projectName}}
|
|
4
|
+
|
|
5
|
+
## Architecture
|
|
6
|
+
|
|
7
|
+
[High-level system design approach]
|
|
8
|
+
|
|
9
|
+
## Core Technologies
|
|
10
|
+
|
|
11
|
+
- **Language**: [e.g., TypeScript, Python, Go]
|
|
12
|
+
- **Framework**: [e.g., React, Express, Django]
|
|
13
|
+
- **Runtime**: [e.g., Node.js 20+, Python 3.11+]
|
|
14
|
+
|
|
15
|
+
## Key Libraries
|
|
16
|
+
|
|
17
|
+
[Only major libraries that influence development patterns]
|
|
18
|
+
|
|
19
|
+
## Development Standards
|
|
20
|
+
|
|
21
|
+
### Type Safety
|
|
22
|
+
[e.g., TypeScript strict mode, type hints]
|
|
23
|
+
|
|
24
|
+
### Code Quality
|
|
25
|
+
[e.g., ESLint, Prettier, Black, Ruff]
|
|
26
|
+
|
|
27
|
+
### Testing
|
|
28
|
+
[e.g., Jest, Pytest, coverage requirements]
|
|
29
|
+
|
|
30
|
+
## Development Environment
|
|
31
|
+
|
|
32
|
+
### Required Tools
|
|
33
|
+
[Key tools and version requirements]
|
|
34
|
+
|
|
35
|
+
### Common Commands
|
|
36
|
+
```bash
|
|
37
|
+
# Dev: [command]
|
|
38
|
+
# Build: [command]
|
|
39
|
+
# Test: [command]
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Key Technical Decisions
|
|
43
|
+
|
|
44
|
+
[Important architectural choices and rationale]
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
_Document standards and patterns, not every dependency_
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Product Overview
|
|
2
|
+
|
|
3
|
+
## Project: {{projectName}}
|
|
4
|
+
|
|
5
|
+
{{description}}
|
|
6
|
+
|
|
7
|
+
## Core Capabilities
|
|
8
|
+
|
|
9
|
+
[3-5 key capabilities of your Node.js application]
|
|
10
|
+
|
|
11
|
+
- [API/Service capability]
|
|
12
|
+
- [Data processing capability]
|
|
13
|
+
- [Integration capability]
|
|
14
|
+
|
|
15
|
+
## Target Use Cases
|
|
16
|
+
|
|
17
|
+
[Primary scenarios this Node.js application addresses]
|
|
18
|
+
|
|
19
|
+
1. [Backend service scenario]
|
|
20
|
+
2. [CLI tool scenario]
|
|
21
|
+
|
|
22
|
+
## Value Proposition
|
|
23
|
+
|
|
24
|
+
[What makes this Node.js application unique or valuable]
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
_Focus on patterns and purpose, not exhaustive feature lists_
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Project Structure
|
|
2
|
+
|
|
3
|
+
## Project: {{projectName}}
|
|
4
|
+
|
|
5
|
+
## Organization Philosophy
|
|
6
|
+
|
|
7
|
+
Layered architecture with clear separation of concerns. Routes handle HTTP, controllers orchestrate, services contain business logic, and repositories handle data access.
|
|
8
|
+
|
|
9
|
+
## Directory Patterns
|
|
10
|
+
|
|
11
|
+
### Routes
|
|
12
|
+
**Location**: `/src/routes/`
|
|
13
|
+
**Purpose**: HTTP route definitions and middleware
|
|
14
|
+
**Example**: users.routes.ts, auth.routes.ts
|
|
15
|
+
|
|
16
|
+
### Controllers
|
|
17
|
+
**Location**: `/src/controllers/`
|
|
18
|
+
**Purpose**: Request handling and response formatting
|
|
19
|
+
**Example**: users.controller.ts, auth.controller.ts
|
|
20
|
+
|
|
21
|
+
### Services
|
|
22
|
+
**Location**: `/src/services/`
|
|
23
|
+
**Purpose**: Business logic and domain operations
|
|
24
|
+
**Example**: user.service.ts, email.service.ts
|
|
25
|
+
|
|
26
|
+
### Repositories
|
|
27
|
+
**Location**: `/src/repositories/`
|
|
28
|
+
**Purpose**: Data access and database queries
|
|
29
|
+
**Example**: user.repository.ts
|
|
30
|
+
|
|
31
|
+
### Middleware
|
|
32
|
+
**Location**: `/src/middleware/`
|
|
33
|
+
**Purpose**: Express/Fastify middleware
|
|
34
|
+
**Example**: auth.middleware.ts, validation.middleware.ts
|
|
35
|
+
|
|
36
|
+
### Types
|
|
37
|
+
**Location**: `/src/types/`
|
|
38
|
+
**Purpose**: TypeScript interfaces and types
|
|
39
|
+
**Example**: User.ts, Request.ts
|
|
40
|
+
|
|
41
|
+
### Utils
|
|
42
|
+
**Location**: `/src/utils/`
|
|
43
|
+
**Purpose**: Pure utility functions
|
|
44
|
+
**Example**: logger.ts, crypto.ts, validators.ts
|
|
45
|
+
|
|
46
|
+
## Naming Conventions
|
|
47
|
+
|
|
48
|
+
- **Files**: kebab-case.ts (user-service.ts, auth-controller.ts)
|
|
49
|
+
- **Classes**: PascalCase (UserService, AuthController)
|
|
50
|
+
- **Functions**: camelCase (getUser, validateToken)
|
|
51
|
+
- **Constants**: UPPER_SNAKE_CASE
|
|
52
|
+
|
|
53
|
+
## Import Organization
|
|
54
|
+
|
|
55
|
+
```typescript
|
|
56
|
+
// 1. Node.js built-ins
|
|
57
|
+
import { readFile } from 'node:fs/promises';
|
|
58
|
+
|
|
59
|
+
// 2. External packages
|
|
60
|
+
import express from 'express';
|
|
61
|
+
import { z } from 'zod';
|
|
62
|
+
|
|
63
|
+
// 3. Internal absolute imports
|
|
64
|
+
import { UserService } from '@/services/user.service';
|
|
65
|
+
import { logger } from '@/utils/logger';
|
|
66
|
+
|
|
67
|
+
// 4. Relative imports
|
|
68
|
+
import { validateUser } from './validators';
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Path Aliases**:
|
|
72
|
+
- `@/`: Maps to `src/`
|
|
73
|
+
|
|
74
|
+
## Code Organization Principles
|
|
75
|
+
|
|
76
|
+
- **Dependency Injection**: Services receive dependencies as constructor parameters
|
|
77
|
+
- **Single Responsibility**: Each file/class has one primary purpose
|
|
78
|
+
- **Clean Architecture**: Dependencies point inward (routes → controllers → services → repositories)
|
|
79
|
+
- **Error Boundaries**: Centralized error handling middleware
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
_Document patterns, not file trees. New files following patterns shouldn't require updates_
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Technology Stack
|
|
2
|
+
|
|
3
|
+
## Project: {{projectName}}
|
|
4
|
+
|
|
5
|
+
## Architecture
|
|
6
|
+
|
|
7
|
+
Service-oriented architecture with clear separation between routes, controllers, services, and data access layers.
|
|
8
|
+
|
|
9
|
+
## Core Technologies
|
|
10
|
+
|
|
11
|
+
- **Language**: TypeScript 5.x (strict mode)
|
|
12
|
+
- **Runtime**: Node.js 20+
|
|
13
|
+
- **Framework**: Express / Fastify / Hono / NestJS
|
|
14
|
+
|
|
15
|
+
## Key Libraries
|
|
16
|
+
|
|
17
|
+
- **Validation**: Zod / Joi / class-validator
|
|
18
|
+
- **Database**: Prisma / Drizzle / TypeORM / Mongoose
|
|
19
|
+
- **Authentication**: Passport / JWT
|
|
20
|
+
- **Testing**: Vitest / Jest
|
|
21
|
+
|
|
22
|
+
## Development Standards
|
|
23
|
+
|
|
24
|
+
### Type Safety
|
|
25
|
+
- TypeScript strict mode enabled
|
|
26
|
+
- No `any` types
|
|
27
|
+
- Zod schemas for runtime validation
|
|
28
|
+
- Explicit return types for all exports
|
|
29
|
+
|
|
30
|
+
### Code Quality
|
|
31
|
+
- ESLint with Node.js rules
|
|
32
|
+
- Prettier for formatting
|
|
33
|
+
- Consistent error handling patterns
|
|
34
|
+
|
|
35
|
+
### Testing
|
|
36
|
+
- Unit tests for services and utilities
|
|
37
|
+
- Integration tests for API endpoints
|
|
38
|
+
- Minimum 80% coverage for business logic
|
|
39
|
+
|
|
40
|
+
## Development Environment
|
|
41
|
+
|
|
42
|
+
### Required Tools
|
|
43
|
+
- Node.js 20+
|
|
44
|
+
- npm / yarn / pnpm
|
|
45
|
+
- Docker (for databases)
|
|
46
|
+
|
|
47
|
+
### Common Commands
|
|
48
|
+
```bash
|
|
49
|
+
# Dev: npm run dev
|
|
50
|
+
# Build: npm run build
|
|
51
|
+
# Test: npm test
|
|
52
|
+
# Start: npm start
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Key Technical Decisions
|
|
56
|
+
|
|
57
|
+
- **Async/Await**: Always use async/await over callbacks
|
|
58
|
+
- **Error Handling**: Custom error classes with proper HTTP status codes
|
|
59
|
+
- **Environment**: Use dotenv for configuration
|
|
60
|
+
- **Logging**: Structured JSON logging (pino/winston)
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
_Document standards and patterns, not every dependency_
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Product Overview
|
|
2
|
+
|
|
3
|
+
## Project: {{projectName}}
|
|
4
|
+
|
|
5
|
+
{{description}}
|
|
6
|
+
|
|
7
|
+
## Core Capabilities
|
|
8
|
+
|
|
9
|
+
[3-5 key capabilities of your Python application]
|
|
10
|
+
|
|
11
|
+
- [Data processing capability]
|
|
12
|
+
- [API/Service capability]
|
|
13
|
+
- [Automation capability]
|
|
14
|
+
|
|
15
|
+
## Target Use Cases
|
|
16
|
+
|
|
17
|
+
[Primary scenarios this Python application addresses]
|
|
18
|
+
|
|
19
|
+
1. [Data analysis scenario]
|
|
20
|
+
2. [Web service scenario]
|
|
21
|
+
|
|
22
|
+
## Value Proposition
|
|
23
|
+
|
|
24
|
+
[What makes this Python application unique or valuable]
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
_Focus on patterns and purpose, not exhaustive feature lists_
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Project Structure
|
|
2
|
+
|
|
3
|
+
## Project: {{projectName}}
|
|
4
|
+
|
|
5
|
+
## Organization Philosophy
|
|
6
|
+
|
|
7
|
+
Package-based organization with clear module boundaries. Each package is self-contained with its own models, services, and routes.
|
|
8
|
+
|
|
9
|
+
## Directory Patterns
|
|
10
|
+
|
|
11
|
+
### Application Package
|
|
12
|
+
**Location**: `/src/{{projectName}}/` or `/app/`
|
|
13
|
+
**Purpose**: Main application code
|
|
14
|
+
**Example**: __init__.py, main.py
|
|
15
|
+
|
|
16
|
+
### API Routes
|
|
17
|
+
**Location**: `/src/api/` or `/app/routers/`
|
|
18
|
+
**Purpose**: HTTP endpoint definitions
|
|
19
|
+
**Example**: users.py, auth.py
|
|
20
|
+
|
|
21
|
+
### Models
|
|
22
|
+
**Location**: `/src/models/`
|
|
23
|
+
**Purpose**: Pydantic models and SQLAlchemy models
|
|
24
|
+
**Example**: user.py, schemas.py
|
|
25
|
+
|
|
26
|
+
### Services
|
|
27
|
+
**Location**: `/src/services/`
|
|
28
|
+
**Purpose**: Business logic
|
|
29
|
+
**Example**: user_service.py, email_service.py
|
|
30
|
+
|
|
31
|
+
### Repositories
|
|
32
|
+
**Location**: `/src/repositories/`
|
|
33
|
+
**Purpose**: Data access layer
|
|
34
|
+
**Example**: user_repository.py
|
|
35
|
+
|
|
36
|
+
### Core
|
|
37
|
+
**Location**: `/src/core/`
|
|
38
|
+
**Purpose**: Shared utilities, config, dependencies
|
|
39
|
+
**Example**: config.py, dependencies.py, security.py
|
|
40
|
+
|
|
41
|
+
### Tests
|
|
42
|
+
**Location**: `/tests/`
|
|
43
|
+
**Purpose**: Test files mirroring src structure
|
|
44
|
+
**Example**: test_users.py, conftest.py
|
|
45
|
+
|
|
46
|
+
## Naming Conventions
|
|
47
|
+
|
|
48
|
+
- **Files**: snake_case.py (user_service.py, auth_router.py)
|
|
49
|
+
- **Classes**: PascalCase (UserService, UserSchema)
|
|
50
|
+
- **Functions**: snake_case (get_user, validate_token)
|
|
51
|
+
- **Constants**: UPPER_SNAKE_CASE
|
|
52
|
+
- **Packages**: snake_case (my_package/)
|
|
53
|
+
|
|
54
|
+
## Import Organization
|
|
55
|
+
|
|
56
|
+
```python
|
|
57
|
+
# 1. Standard library
|
|
58
|
+
from datetime import datetime
|
|
59
|
+
from typing import Optional
|
|
60
|
+
|
|
61
|
+
# 2. Third-party packages
|
|
62
|
+
from fastapi import FastAPI, Depends
|
|
63
|
+
from pydantic import BaseModel
|
|
64
|
+
|
|
65
|
+
# 3. Local application imports
|
|
66
|
+
from app.core.config import settings
|
|
67
|
+
from app.services.user_service import UserService
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Code Organization Principles
|
|
71
|
+
|
|
72
|
+
- **Explicit Imports**: No wildcard imports
|
|
73
|
+
- **Dependency Injection**: Use FastAPI Depends or manual DI
|
|
74
|
+
- **Single Responsibility**: Each module has one purpose
|
|
75
|
+
- **Clean Architecture**: Dependencies flow inward
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
_Document patterns, not file trees. New files following patterns shouldn't require updates_
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Technology Stack
|
|
2
|
+
|
|
3
|
+
## Project: {{projectName}}
|
|
4
|
+
|
|
5
|
+
## Architecture
|
|
6
|
+
|
|
7
|
+
Modular architecture with clear separation between API layer, business logic, and data access. Uses dependency injection for testability.
|
|
8
|
+
|
|
9
|
+
## Core Technologies
|
|
10
|
+
|
|
11
|
+
- **Language**: Python 3.11+
|
|
12
|
+
- **Framework**: FastAPI / Django / Flask
|
|
13
|
+
- **Package Manager**: uv / pip / poetry
|
|
14
|
+
|
|
15
|
+
## Key Libraries
|
|
16
|
+
|
|
17
|
+
- **Validation**: Pydantic
|
|
18
|
+
- **Database**: SQLAlchemy / asyncpg / Motor
|
|
19
|
+
- **HTTP Client**: httpx / aiohttp
|
|
20
|
+
- **Testing**: pytest / pytest-asyncio
|
|
21
|
+
|
|
22
|
+
## Development Standards
|
|
23
|
+
|
|
24
|
+
### Type Safety
|
|
25
|
+
- Type hints on all function signatures
|
|
26
|
+
- Pydantic models for data validation
|
|
27
|
+
- mypy for static type checking
|
|
28
|
+
- No `Any` types except when interfacing with untyped libraries
|
|
29
|
+
|
|
30
|
+
### Code Quality
|
|
31
|
+
- Ruff for linting and formatting
|
|
32
|
+
- Black for code formatting
|
|
33
|
+
- isort for import sorting
|
|
34
|
+
|
|
35
|
+
### Testing
|
|
36
|
+
- pytest for all tests
|
|
37
|
+
- pytest-cov for coverage reporting
|
|
38
|
+
- Minimum 80% coverage for business logic
|
|
39
|
+
- Fixtures for common test setup
|
|
40
|
+
|
|
41
|
+
## Development Environment
|
|
42
|
+
|
|
43
|
+
### Required Tools
|
|
44
|
+
- Python 3.11+
|
|
45
|
+
- uv or pip
|
|
46
|
+
- Docker (for databases)
|
|
47
|
+
|
|
48
|
+
### Common Commands
|
|
49
|
+
```bash
|
|
50
|
+
# Dev: uv run uvicorn main:app --reload
|
|
51
|
+
# Test: uv run pytest
|
|
52
|
+
# Lint: uv run ruff check .
|
|
53
|
+
# Format: uv run ruff format .
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Key Technical Decisions
|
|
57
|
+
|
|
58
|
+
- **Async**: Use async/await for I/O operations
|
|
59
|
+
- **Dependency Injection**: Use FastAPI's Depends for DI
|
|
60
|
+
- **Environment**: Use pydantic-settings for configuration
|
|
61
|
+
- **Logging**: Structured logging with structlog
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
_Document standards and patterns, not every dependency_
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Product Overview
|
|
2
|
+
|
|
3
|
+
## Project: {{projectName}}
|
|
4
|
+
|
|
5
|
+
{{description}}
|
|
6
|
+
|
|
7
|
+
## Core Capabilities
|
|
8
|
+
|
|
9
|
+
[3-5 key capabilities of your React application]
|
|
10
|
+
|
|
11
|
+
- [User interface capability]
|
|
12
|
+
- [State management capability]
|
|
13
|
+
- [Data handling capability]
|
|
14
|
+
|
|
15
|
+
## Target Use Cases
|
|
16
|
+
|
|
17
|
+
[Primary scenarios this React application addresses]
|
|
18
|
+
|
|
19
|
+
1. [User interaction scenario]
|
|
20
|
+
2. [Data visualization scenario]
|
|
21
|
+
|
|
22
|
+
## Value Proposition
|
|
23
|
+
|
|
24
|
+
[What makes this React application unique or valuable]
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
_Focus on patterns and purpose, not exhaustive feature lists_
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Project Structure
|
|
2
|
+
|
|
3
|
+
## Project: {{projectName}}
|
|
4
|
+
|
|
5
|
+
## Organization Philosophy
|
|
6
|
+
|
|
7
|
+
Feature-first organization with shared components and utilities. Each feature is self-contained with its own components, hooks, and types.
|
|
8
|
+
|
|
9
|
+
## Directory Patterns
|
|
10
|
+
|
|
11
|
+
### Components
|
|
12
|
+
**Location**: `/src/components/`
|
|
13
|
+
**Purpose**: Shared, reusable UI components
|
|
14
|
+
**Example**: Button, Modal, Card, Input
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
**Location**: `/src/features/`
|
|
18
|
+
**Purpose**: Feature-specific code (components, hooks, types)
|
|
19
|
+
**Example**: auth/, dashboard/, settings/
|
|
20
|
+
|
|
21
|
+
### Hooks
|
|
22
|
+
**Location**: `/src/hooks/`
|
|
23
|
+
**Purpose**: Shared custom React hooks
|
|
24
|
+
**Example**: useDebounce, useLocalStorage, useMediaQuery
|
|
25
|
+
|
|
26
|
+
### Services
|
|
27
|
+
**Location**: `/src/services/`
|
|
28
|
+
**Purpose**: API calls and external integrations
|
|
29
|
+
**Example**: api.ts, auth.service.ts
|
|
30
|
+
|
|
31
|
+
### Types
|
|
32
|
+
**Location**: `/src/types/`
|
|
33
|
+
**Purpose**: Shared TypeScript interfaces and types
|
|
34
|
+
**Example**: User.ts, ApiResponse.ts
|
|
35
|
+
|
|
36
|
+
### Utils
|
|
37
|
+
**Location**: `/src/utils/`
|
|
38
|
+
**Purpose**: Pure utility functions
|
|
39
|
+
**Example**: formatDate, validators, helpers
|
|
40
|
+
|
|
41
|
+
## Naming Conventions
|
|
42
|
+
|
|
43
|
+
- **Component Files**: PascalCase.tsx (Button.tsx, UserProfile.tsx)
|
|
44
|
+
- **Hook Files**: use*.ts (useAuth.ts, useForm.ts)
|
|
45
|
+
- **Utility Files**: camelCase.ts (formatters.ts, validators.ts)
|
|
46
|
+
- **Test Files**: *.test.tsx or *.spec.tsx
|
|
47
|
+
|
|
48
|
+
## Import Organization
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
// 1. React and external packages
|
|
52
|
+
import React, { useState, useEffect } from 'react';
|
|
53
|
+
import { useNavigate } from 'react-router-dom';
|
|
54
|
+
|
|
55
|
+
// 2. Internal absolute imports
|
|
56
|
+
import { Button } from '@/components/Button';
|
|
57
|
+
import { useAuth } from '@/hooks/useAuth';
|
|
58
|
+
|
|
59
|
+
// 3. Relative imports
|
|
60
|
+
import { UserCard } from './UserCard';
|
|
61
|
+
import type { UserProps } from './types';
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Path Aliases**:
|
|
65
|
+
- `@/`: Maps to `src/`
|
|
66
|
+
- `@/components`: Maps to `src/components/`
|
|
67
|
+
|
|
68
|
+
## Code Organization Principles
|
|
69
|
+
|
|
70
|
+
- **Co-location**: Keep related code together (feature's components, hooks, types)
|
|
71
|
+
- **Single Responsibility**: Each file has one primary purpose
|
|
72
|
+
- **Barrel Exports**: Use index.ts for clean imports
|
|
73
|
+
- **Dependency Direction**: Features depend on shared, not vice versa
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
_Document patterns, not file trees. New files following patterns shouldn't require updates_
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Technology Stack
|
|
2
|
+
|
|
3
|
+
## Project: {{projectName}}
|
|
4
|
+
|
|
5
|
+
## Architecture
|
|
6
|
+
|
|
7
|
+
Component-based architecture with unidirectional data flow. React components handle UI rendering while hooks manage state and side effects.
|
|
8
|
+
|
|
9
|
+
## Core Technologies
|
|
10
|
+
|
|
11
|
+
- **Language**: TypeScript 5.x (strict mode)
|
|
12
|
+
- **Framework**: React 18+
|
|
13
|
+
- **Runtime**: Node.js 20+ (development), Browser (production)
|
|
14
|
+
- **Build Tool**: Vite / Create React App / Next.js
|
|
15
|
+
|
|
16
|
+
## Key Libraries
|
|
17
|
+
|
|
18
|
+
- **State Management**: React Context / Redux / Zustand
|
|
19
|
+
- **Routing**: React Router / Next.js Router
|
|
20
|
+
- **Styling**: Tailwind CSS / CSS Modules / Styled Components
|
|
21
|
+
- **HTTP Client**: fetch / axios / TanStack Query
|
|
22
|
+
|
|
23
|
+
## Development Standards
|
|
24
|
+
|
|
25
|
+
### Type Safety
|
|
26
|
+
- TypeScript strict mode enabled
|
|
27
|
+
- No `any` types except for third-party library edge cases
|
|
28
|
+
- Explicit return types for exported functions
|
|
29
|
+
- Interface over type for object shapes
|
|
30
|
+
|
|
31
|
+
### Code Quality
|
|
32
|
+
- ESLint with recommended React rules
|
|
33
|
+
- Prettier for formatting
|
|
34
|
+
- Husky pre-commit hooks
|
|
35
|
+
|
|
36
|
+
### Testing
|
|
37
|
+
- Vitest / Jest for unit tests
|
|
38
|
+
- React Testing Library for component tests
|
|
39
|
+
- Playwright / Cypress for E2E tests
|
|
40
|
+
- Minimum 80% coverage for business logic
|
|
41
|
+
|
|
42
|
+
## Development Environment
|
|
43
|
+
|
|
44
|
+
### Required Tools
|
|
45
|
+
- Node.js 20+
|
|
46
|
+
- npm / yarn / pnpm
|
|
47
|
+
- VS Code with React extensions
|
|
48
|
+
|
|
49
|
+
### Common Commands
|
|
50
|
+
```bash
|
|
51
|
+
# Dev: npm run dev
|
|
52
|
+
# Build: npm run build
|
|
53
|
+
# Test: npm test
|
|
54
|
+
# Lint: npm run lint
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Key Technical Decisions
|
|
58
|
+
|
|
59
|
+
- **Functional Components**: Always use functional components with hooks
|
|
60
|
+
- **Custom Hooks**: Extract reusable logic into custom hooks
|
|
61
|
+
- **Composition**: Prefer composition over inheritance
|
|
62
|
+
- **Immutability**: Never mutate state directly
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
_Document standards and patterns, not every dependency_
|
package/package.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "red64-cli",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Red64 Flow Orchestrator - Deterministic spec-driven development CLI",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"red64": "./dist/cli.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"framework"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "tsc",
|
|
15
|
+
"build:ts": "tsc",
|
|
16
|
+
"dev": "tsx src/cli.tsx",
|
|
17
|
+
"test": "vitest",
|
|
18
|
+
"test:ui": "vitest --ui",
|
|
19
|
+
"type-check": "tsc --noEmit"
|
|
20
|
+
},
|
|
21
|
+
"keywords": [
|
|
22
|
+
"cli",
|
|
23
|
+
"spec-driven",
|
|
24
|
+
"workflow",
|
|
25
|
+
"orchestration"
|
|
26
|
+
],
|
|
27
|
+
"author": "Yacin Bahi <yacin@red64.io>",
|
|
28
|
+
"license": "MIT",
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"@inkjs/ui": "^2.0.0",
|
|
31
|
+
"date-fns": "^3.6.0",
|
|
32
|
+
"ink": "^5.0.1",
|
|
33
|
+
"meow": "^14.0.0",
|
|
34
|
+
"react": "^18.3.1"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@types/node": "^22.10.5",
|
|
38
|
+
"@types/react": "^18.3.18",
|
|
39
|
+
"ink-testing-library": "^4.0.0",
|
|
40
|
+
"tsx": "^4.19.2",
|
|
41
|
+
"typescript": "^5.7.3",
|
|
42
|
+
"vitest": "^2.1.8"
|
|
43
|
+
},
|
|
44
|
+
"engines": {
|
|
45
|
+
"node": ">=20.0.0"
|
|
46
|
+
}
|
|
47
|
+
}
|