siesa-agents 2.1.1 → 2.1.3-dev.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 +83 -83
- package/bin/install.js +400 -399
- package/bin/prepare-publish.js +26 -26
- package/bin/restore-folders.js +26 -26
- package/bmad-core/agent-teams/team-all.yaml +15 -15
- package/bmad-core/agent-teams/team-fullstack.yaml +19 -19
- package/bmad-core/agent-teams/team-ide-minimal.yaml +11 -11
- package/bmad-core/agent-teams/team-no-ui.yaml +14 -14
- package/bmad-core/agents/analyst.md +84 -84
- package/bmad-core/agents/architect.md +94 -94
- package/bmad-core/agents/backend-agent.md +189 -189
- package/bmad-core/agents/bmad-master.md +110 -110
- package/bmad-core/agents/bmad-orchestrator.md +147 -147
- package/bmad-core/agents/dev.md +81 -81
- package/bmad-core/agents/frontend-agent.md +168 -168
- package/bmad-core/agents/pm.md +84 -84
- package/bmad-core/agents/po.md +79 -79
- package/bmad-core/agents/qa.md +91 -91
- package/bmad-core/agents/sm.md +65 -65
- package/bmad-core/agents/ux-expert.md +69 -69
- package/bmad-core/checklists/architect-checklist.md +440 -440
- package/bmad-core/checklists/backend-checklist.md +142 -142
- package/bmad-core/checklists/change-checklist.md +184 -184
- package/bmad-core/checklists/frontend-checklist.md +105 -105
- package/bmad-core/checklists/pm-checklist.md +372 -372
- package/bmad-core/checklists/po-master-checklist.md +434 -434
- package/bmad-core/checklists/story-dod-checklist.md +96 -96
- package/bmad-core/checklists/story-draft-checklist.md +155 -155
- package/bmad-core/core-config.yaml +22 -22
- package/bmad-core/data/backend-standards.md +439 -439
- package/bmad-core/data/bmad-kb.md +809 -809
- package/bmad-core/data/brainstorming-techniques.md +38 -38
- package/bmad-core/data/elicitation-methods.md +156 -156
- package/bmad-core/data/frontend-standards.md +323 -323
- package/bmad-core/data/technical-preferences.md +5 -5
- package/bmad-core/data/test-levels-framework.md +148 -148
- package/bmad-core/data/test-priorities-matrix.md +174 -174
- package/bmad-core/enhanced-ide-development-workflow.md +248 -248
- package/bmad-core/install-manifest.yaml +230 -230
- package/bmad-core/tasks/advanced-elicitation.md +119 -119
- package/bmad-core/tasks/apply-qa-fixes.md +150 -150
- package/bmad-core/tasks/brownfield-create-epic.md +162 -162
- package/bmad-core/tasks/brownfield-create-story.md +149 -149
- package/bmad-core/tasks/correct-course.md +72 -72
- package/bmad-core/tasks/create-brownfield-story.md +314 -314
- package/bmad-core/tasks/create-component.md +102 -102
- package/bmad-core/tasks/create-deep-research-prompt.md +280 -280
- package/bmad-core/tasks/create-doc.md +103 -103
- package/bmad-core/tasks/create-entity.md +132 -132
- package/bmad-core/tasks/create-feature.md +90 -90
- package/bmad-core/tasks/create-next-story.md +114 -114
- package/bmad-core/tasks/create-service.md +117 -117
- package/bmad-core/tasks/create-use-case.md +140 -140
- package/bmad-core/tasks/document-project.md +345 -345
- package/bmad-core/tasks/execute-checklist.md +88 -88
- package/bmad-core/tasks/facilitate-brainstorming-session.md +138 -138
- package/bmad-core/tasks/generate-ai-frontend-prompt.md +53 -53
- package/bmad-core/tasks/index-docs.md +175 -175
- package/bmad-core/tasks/kb-mode-interaction.md +77 -77
- package/bmad-core/tasks/nfr-assess.md +345 -345
- package/bmad-core/tasks/qa-gate.md +163 -163
- package/bmad-core/tasks/review-story.md +316 -316
- package/bmad-core/tasks/risk-profile.md +355 -355
- package/bmad-core/tasks/scaffold-backend.md +110 -110
- package/bmad-core/tasks/scaffold-frontend.md +78 -78
- package/bmad-core/tasks/shard-doc.md +187 -187
- package/bmad-core/tasks/test-design.md +176 -176
- package/bmad-core/tasks/trace-requirements.md +266 -266
- package/bmad-core/tasks/validate-next-story.md +136 -136
- package/bmad-core/templates/architecture-tmpl.yaml +662 -662
- package/bmad-core/templates/brainstorming-output-tmpl.yaml +156 -156
- package/bmad-core/templates/brownfield-architecture-tmpl.yaml +477 -477
- package/bmad-core/templates/brownfield-prd-tmpl.yaml +281 -281
- package/bmad-core/templates/competitor-analysis-tmpl.yaml +307 -307
- package/bmad-core/templates/front-end-architecture-tmpl.yaml +258 -258
- package/bmad-core/templates/front-end-spec-tmpl.yaml +350 -350
- package/bmad-core/templates/fullstack-architecture-tmpl.yaml +824 -824
- package/bmad-core/templates/market-research-tmpl.yaml +253 -253
- package/bmad-core/templates/prd-tmpl.yaml +203 -203
- package/bmad-core/templates/project-brief-tmpl.yaml +222 -222
- package/bmad-core/templates/qa-gate-tmpl.yaml +103 -103
- package/bmad-core/templates/story-tmpl.yaml +138 -138
- package/bmad-core/user-guide.md +530 -530
- package/bmad-core/utils/bmad-doc-template.md +327 -327
- package/bmad-core/utils/workflow-management.md +71 -71
- package/bmad-core/workflows/brownfield-fullstack.yaml +298 -298
- package/bmad-core/workflows/brownfield-service.yaml +188 -188
- package/bmad-core/workflows/brownfield-ui.yaml +198 -198
- package/bmad-core/workflows/greenfield-fullstack.yaml +241 -241
- package/bmad-core/workflows/greenfield-service.yaml +207 -207
- package/bmad-core/workflows/greenfield-ui.yaml +236 -236
- package/bmad-core/working-in-the-brownfield.md +606 -606
- package/claude/commands/BMad/agents/analyst.md +88 -0
- package/claude/commands/BMad/agents/architect.md +89 -0
- package/claude/commands/BMad/agents/backend.md +188 -0
- package/claude/commands/BMad/agents/bmad-master.md +114 -0
- package/claude/commands/BMad/agents/bmad-orchestrator.md +151 -0
- package/claude/commands/BMad/agents/dev.md +85 -0
- package/claude/commands/BMad/agents/frontend.md +151 -0
- package/claude/commands/BMad/agents/pm.md +88 -0
- package/claude/commands/BMad/agents/po.md +83 -0
- package/claude/commands/BMad/agents/qa.md +95 -0
- package/claude/commands/BMad/agents/sm.md +69 -0
- package/claude/commands/BMad/agents/ux-expert.md +73 -0
- package/claude/commands/BMad/tasks/advanced-elicitation.md +123 -0
- package/claude/commands/BMad/tasks/apply-qa-fixes.md +154 -0
- package/claude/commands/BMad/tasks/brownfield-create-epic.md +166 -0
- package/claude/commands/BMad/tasks/brownfield-create-story.md +153 -0
- package/claude/commands/BMad/tasks/correct-course.md +76 -0
- package/claude/commands/BMad/tasks/create-brownfield-story.md +318 -0
- package/claude/commands/BMad/tasks/create-deep-research-prompt.md +284 -0
- package/claude/commands/BMad/tasks/create-doc.md +107 -0
- package/claude/commands/BMad/tasks/create-next-story.md +118 -0
- package/claude/commands/BMad/tasks/document-project.md +349 -0
- package/claude/commands/BMad/tasks/execute-checklist.md +92 -0
- package/claude/commands/BMad/tasks/facilitate-brainstorming-session.md +142 -0
- package/claude/commands/BMad/tasks/generate-ai-frontend-prompt.md +57 -0
- package/claude/commands/BMad/tasks/index-docs.md +179 -0
- package/claude/commands/BMad/tasks/kb-mode-interaction.md +81 -0
- package/claude/commands/BMad/tasks/nfr-assess.md +349 -0
- package/claude/commands/BMad/tasks/qa-gate.md +167 -0
- package/claude/commands/BMad/tasks/review-story.md +320 -0
- package/claude/commands/BMad/tasks/risk-profile.md +359 -0
- package/claude/commands/BMad/tasks/shard-doc.md +191 -0
- package/claude/commands/BMad/tasks/test-design.md +180 -0
- package/claude/commands/BMad/tasks/trace-requirements.md +270 -0
- package/claude/commands/BMad/tasks/validate-next-story.md +140 -0
- package/claude/hooks/file-restriction-hook.py +51 -0
- package/claude/hooks/track-agent.py +67 -0
- package/claude/settings.local.json +56 -0
- package/github/b-mad-expert.md +742 -742
- package/github/chatmodes/analyst.chatmode.md +89 -89
- package/github/chatmodes/architect.chatmode.md +97 -97
- package/github/chatmodes/backend.chatmode.md +194 -194
- package/github/chatmodes/bmad-master.chatmode.md +115 -115
- package/github/chatmodes/bmad-orchestrator.chatmode.md +152 -152
- package/github/chatmodes/dev.chatmode.md +86 -86
- package/github/chatmodes/frontend.chatmode.md +157 -157
- package/github/chatmodes/pm.chatmode.md +89 -89
- package/github/chatmodes/po.chatmode.md +84 -84
- package/github/chatmodes/qa.chatmode.md +96 -96
- package/github/chatmodes/sm.chatmode.md +70 -70
- package/github/chatmodes/ux-expert.chatmode.md +74 -74
- package/index.js +9 -9
- package/package.json +37 -36
- package/vscode/mcp.json +11 -11
- package/vscode/settings.json +12 -12
|
@@ -1,111 +1,111 @@
|
|
|
1
|
-
# Scaffold Backend Microservice
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Generate complete microservice structure with Hexagonal Architecture + DDD principles using NestJS.
|
|
5
|
-
|
|
6
|
-
**CRITICAL**: Always use NestJS 10+ with TypeScript, Prisma ORM, and strict hexagonal architecture patterns. No raw queries allowed - use Prisma for all database operations.
|
|
7
|
-
|
|
8
|
-
## Task Configuration
|
|
9
|
-
```yaml
|
|
10
|
-
elicit: true
|
|
11
|
-
interactive: true
|
|
12
|
-
required_params:
|
|
13
|
-
- service_name
|
|
14
|
-
- domain_contexts
|
|
15
|
-
optional_params:
|
|
16
|
-
- database_type
|
|
17
|
-
- messaging_transport
|
|
18
|
-
- shared_libraries
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Task Execution
|
|
22
|
-
|
|
23
|
-
### Step 1: Elicit Service Requirements
|
|
24
|
-
Ask user for the following information:
|
|
25
|
-
|
|
26
|
-
**Service Name**: What would you like to name your microservice? (use kebab-case)
|
|
27
|
-
**Domain Contexts**: List the main bounded contexts for this service (e.g., quotes, products, billing)
|
|
28
|
-
**Database Type**: Which database will this service use? (PostgreSQL, MySQL, MongoDB - default: PostgreSQL)
|
|
29
|
-
**Messaging Transport**: What messaging transport? (Redis, RabbitMQ, gRPC - default: Redis)
|
|
30
|
-
**Shared Libraries**: Any existing shared libraries to include? (optional)
|
|
31
|
-
|
|
32
|
-
### Step 2: Generate MonoRepo Structure
|
|
33
|
-
Create the following Nx workspace structure:
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
apps/{service-name}/
|
|
37
|
-
├── src/
|
|
38
|
-
│ ├── modules/
|
|
39
|
-
│ │ └── {context}/
|
|
40
|
-
│ │ ├── application/
|
|
41
|
-
│ │ │ ├── ports/
|
|
42
|
-
│ │ │ ├── use-cases/
|
|
43
|
-
│ │ │ ├── commands/
|
|
44
|
-
│ │ │ ├── queries/
|
|
45
|
-
│ │ │ └── dto/
|
|
46
|
-
│ │ ├── domain/
|
|
47
|
-
│ │ │ ├── entities/
|
|
48
|
-
│ │ │ ├── value-objects/
|
|
49
|
-
│ │ │ ├── aggregates/
|
|
50
|
-
│ │ │ ├── events/
|
|
51
|
-
│ │ │ └── services/
|
|
52
|
-
│ │ └── infrastructure/
|
|
53
|
-
│ │ ├── repositories/
|
|
54
|
-
│ │ ├── services/
|
|
55
|
-
│ │ └── events/
|
|
56
|
-
│ ├── api/
|
|
57
|
-
│ │ ├── controllers/
|
|
58
|
-
│ │ ├── guards/
|
|
59
|
-
│ │ ├── middlewares/
|
|
60
|
-
│ │ └── filters/
|
|
61
|
-
│ ├── config/
|
|
62
|
-
│ ├── main.ts
|
|
63
|
-
│ └── app.module.ts
|
|
64
|
-
├── test/
|
|
65
|
-
├── prisma/
|
|
66
|
-
│ ├── schema.prisma
|
|
67
|
-
│ └── migrations/
|
|
68
|
-
└── package.json
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### Step 3: Setup NestJS Configuration
|
|
72
|
-
- Initialize NestJS application with TypeScript
|
|
73
|
-
- Configure Nx workspace if not exists
|
|
74
|
-
- Setup Prisma with selected database
|
|
75
|
-
- Configure dependency injection container
|
|
76
|
-
- Setup validation with class-validator
|
|
77
|
-
- Configure Swagger/OpenAPI documentation
|
|
78
|
-
- Setup health checks and monitoring
|
|
79
|
-
|
|
80
|
-
### Step 4: Generate Domain Contexts
|
|
81
|
-
For each bounded context:
|
|
82
|
-
- Create hexagonal architecture layers
|
|
83
|
-
- Generate base domain entities with DDD patterns
|
|
84
|
-
- Create application ports (interfaces)
|
|
85
|
-
- Setup infrastructure adapters
|
|
86
|
-
- Create Prisma schema definitions
|
|
87
|
-
- Generate initial use cases
|
|
88
|
-
|
|
89
|
-
### Step 5: Setup Shared Infrastructure
|
|
90
|
-
- Configure JWT authentication
|
|
91
|
-
- Setup Redis for caching and messaging
|
|
92
|
-
- Configure CORS and security headers
|
|
93
|
-
- Setup logging with Winston
|
|
94
|
-
- Configure environment variables
|
|
95
|
-
- Setup database connection pooling
|
|
96
|
-
|
|
97
|
-
### Step 6: Generate Initial Tests
|
|
98
|
-
- Unit tests for domain entities
|
|
99
|
-
- Integration tests for use cases
|
|
100
|
-
- E2E tests for API endpoints
|
|
101
|
-
- Repository tests with test database
|
|
102
|
-
- Mocking strategies for external dependencies
|
|
103
|
-
|
|
104
|
-
## Completion Criteria
|
|
105
|
-
- MonoRepo structure follows hexagonal architecture
|
|
106
|
-
- All dependencies properly configured
|
|
107
|
-
- Prisma schema generated and migrated
|
|
108
|
-
- TypeScript compiles without errors
|
|
109
|
-
- Initial tests pass
|
|
110
|
-
- Swagger documentation accessible
|
|
1
|
+
# Scaffold Backend Microservice
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Generate complete microservice structure with Hexagonal Architecture + DDD principles using NestJS.
|
|
5
|
+
|
|
6
|
+
**CRITICAL**: Always use NestJS 10+ with TypeScript, Prisma ORM, and strict hexagonal architecture patterns. No raw queries allowed - use Prisma for all database operations.
|
|
7
|
+
|
|
8
|
+
## Task Configuration
|
|
9
|
+
```yaml
|
|
10
|
+
elicit: true
|
|
11
|
+
interactive: true
|
|
12
|
+
required_params:
|
|
13
|
+
- service_name
|
|
14
|
+
- domain_contexts
|
|
15
|
+
optional_params:
|
|
16
|
+
- database_type
|
|
17
|
+
- messaging_transport
|
|
18
|
+
- shared_libraries
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Task Execution
|
|
22
|
+
|
|
23
|
+
### Step 1: Elicit Service Requirements
|
|
24
|
+
Ask user for the following information:
|
|
25
|
+
|
|
26
|
+
**Service Name**: What would you like to name your microservice? (use kebab-case)
|
|
27
|
+
**Domain Contexts**: List the main bounded contexts for this service (e.g., quotes, products, billing)
|
|
28
|
+
**Database Type**: Which database will this service use? (PostgreSQL, MySQL, MongoDB - default: PostgreSQL)
|
|
29
|
+
**Messaging Transport**: What messaging transport? (Redis, RabbitMQ, gRPC - default: Redis)
|
|
30
|
+
**Shared Libraries**: Any existing shared libraries to include? (optional)
|
|
31
|
+
|
|
32
|
+
### Step 2: Generate MonoRepo Structure
|
|
33
|
+
Create the following Nx workspace structure:
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
apps/{service-name}/
|
|
37
|
+
├── src/
|
|
38
|
+
│ ├── modules/
|
|
39
|
+
│ │ └── {context}/
|
|
40
|
+
│ │ ├── application/
|
|
41
|
+
│ │ │ ├── ports/
|
|
42
|
+
│ │ │ ├── use-cases/
|
|
43
|
+
│ │ │ ├── commands/
|
|
44
|
+
│ │ │ ├── queries/
|
|
45
|
+
│ │ │ └── dto/
|
|
46
|
+
│ │ ├── domain/
|
|
47
|
+
│ │ │ ├── entities/
|
|
48
|
+
│ │ │ ├── value-objects/
|
|
49
|
+
│ │ │ ├── aggregates/
|
|
50
|
+
│ │ │ ├── events/
|
|
51
|
+
│ │ │ └── services/
|
|
52
|
+
│ │ └── infrastructure/
|
|
53
|
+
│ │ ├── repositories/
|
|
54
|
+
│ │ ├── services/
|
|
55
|
+
│ │ └── events/
|
|
56
|
+
│ ├── api/
|
|
57
|
+
│ │ ├── controllers/
|
|
58
|
+
│ │ ├── guards/
|
|
59
|
+
│ │ ├── middlewares/
|
|
60
|
+
│ │ └── filters/
|
|
61
|
+
│ ├── config/
|
|
62
|
+
│ ├── main.ts
|
|
63
|
+
│ └── app.module.ts
|
|
64
|
+
├── test/
|
|
65
|
+
├── prisma/
|
|
66
|
+
│ ├── schema.prisma
|
|
67
|
+
│ └── migrations/
|
|
68
|
+
└── package.json
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Step 3: Setup NestJS Configuration
|
|
72
|
+
- Initialize NestJS application with TypeScript
|
|
73
|
+
- Configure Nx workspace if not exists
|
|
74
|
+
- Setup Prisma with selected database
|
|
75
|
+
- Configure dependency injection container
|
|
76
|
+
- Setup validation with class-validator
|
|
77
|
+
- Configure Swagger/OpenAPI documentation
|
|
78
|
+
- Setup health checks and monitoring
|
|
79
|
+
|
|
80
|
+
### Step 4: Generate Domain Contexts
|
|
81
|
+
For each bounded context:
|
|
82
|
+
- Create hexagonal architecture layers
|
|
83
|
+
- Generate base domain entities with DDD patterns
|
|
84
|
+
- Create application ports (interfaces)
|
|
85
|
+
- Setup infrastructure adapters
|
|
86
|
+
- Create Prisma schema definitions
|
|
87
|
+
- Generate initial use cases
|
|
88
|
+
|
|
89
|
+
### Step 5: Setup Shared Infrastructure
|
|
90
|
+
- Configure JWT authentication
|
|
91
|
+
- Setup Redis for caching and messaging
|
|
92
|
+
- Configure CORS and security headers
|
|
93
|
+
- Setup logging with Winston
|
|
94
|
+
- Configure environment variables
|
|
95
|
+
- Setup database connection pooling
|
|
96
|
+
|
|
97
|
+
### Step 6: Generate Initial Tests
|
|
98
|
+
- Unit tests for domain entities
|
|
99
|
+
- Integration tests for use cases
|
|
100
|
+
- E2E tests for API endpoints
|
|
101
|
+
- Repository tests with test database
|
|
102
|
+
- Mocking strategies for external dependencies
|
|
103
|
+
|
|
104
|
+
## Completion Criteria
|
|
105
|
+
- MonoRepo structure follows hexagonal architecture
|
|
106
|
+
- All dependencies properly configured
|
|
107
|
+
- Prisma schema generated and migrated
|
|
108
|
+
- TypeScript compiles without errors
|
|
109
|
+
- Initial tests pass
|
|
110
|
+
- Swagger documentation accessible
|
|
111
111
|
- Health checks responding
|
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
# Scaffold Frontend Project
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Generate complete frontend project structure with Clean Architecture + DDD principles.
|
|
5
|
-
|
|
6
|
-
**CRITICAL**: Always use Next.js 14+ with App Router as the default framework. Only use pure React + Vite when user explicitly mentions offline-first functionality or specifically requests non-Next.js setup.
|
|
7
|
-
|
|
8
|
-
## Task Configuration
|
|
9
|
-
```yaml
|
|
10
|
-
elicit: true
|
|
11
|
-
interactive: true
|
|
12
|
-
required_params:
|
|
13
|
-
- project_name
|
|
14
|
-
- features
|
|
15
|
-
optional_params:
|
|
16
|
-
- pwa_enabled
|
|
17
|
-
- theme_config
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Task Execution
|
|
21
|
-
|
|
22
|
-
### Step 1: Elicit Project Requirements
|
|
23
|
-
Ask user for the following information:
|
|
24
|
-
|
|
25
|
-
**Project Name**: What would you like to name your frontend project?
|
|
26
|
-
**Initial Features**: List the main features/modules you want to start with (e.g., auth, dashboard, profile)
|
|
27
|
-
**PWA Enabled**: Do you want Progressive Web App capabilities? (default: yes)
|
|
28
|
-
**Theme Configuration**: Do you have specific theme/brand requirements?
|
|
29
|
-
|
|
30
|
-
### Step 2: Generate Project Structure
|
|
31
|
-
Create the following folder structure:
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
src/
|
|
35
|
-
├── features/
|
|
36
|
-
│ └── shared/
|
|
37
|
-
│ ├── components/
|
|
38
|
-
│ ├── hooks/
|
|
39
|
-
│ ├── utils/
|
|
40
|
-
│ └── types/
|
|
41
|
-
├── app/
|
|
42
|
-
│ ├── providers/
|
|
43
|
-
│ ├── router/
|
|
44
|
-
│ └── store/
|
|
45
|
-
└── infrastructure/
|
|
46
|
-
├── api/
|
|
47
|
-
├── storage/
|
|
48
|
-
└── pwa/
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### Step 3: Setup Configuration Files
|
|
52
|
-
- Initialize Next.js 14+ project with TypeScript
|
|
53
|
-
- Configure Next.js config for App Router
|
|
54
|
-
- Setup TailwindCSS + Shadcn/ui integration
|
|
55
|
-
- Configure Vitest for testing (with Next.js)
|
|
56
|
-
- Setup ESLint + Prettier (Next.js config)
|
|
57
|
-
- Configure PWA with Next.js PWA plugin if requested
|
|
58
|
-
- Setup environment configuration
|
|
59
|
-
|
|
60
|
-
### Step 4: Generate Initial Features
|
|
61
|
-
For each feature requested:
|
|
62
|
-
- Create feature folder with DDD structure
|
|
63
|
-
- Generate basic domain entities
|
|
64
|
-
- Create application layer with hooks and stores
|
|
65
|
-
- Setup infrastructure layer with API clients
|
|
66
|
-
- Create presentation layer with basic components
|
|
67
|
-
|
|
68
|
-
### Step 5: Validation
|
|
69
|
-
- Verify all files compile without errors
|
|
70
|
-
- Run initial tests
|
|
71
|
-
- Check TypeScript strict mode compliance
|
|
72
|
-
- Validate folder structure follows Clean Architecture
|
|
73
|
-
|
|
74
|
-
## Completion Criteria
|
|
75
|
-
- Project structure matches Clean Architecture patterns
|
|
76
|
-
- All dependencies are properly installed
|
|
77
|
-
- Initial features are scaffolded with all layers
|
|
78
|
-
- TypeScript compiles without errors
|
|
1
|
+
# Scaffold Frontend Project
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Generate complete frontend project structure with Clean Architecture + DDD principles.
|
|
5
|
+
|
|
6
|
+
**CRITICAL**: Always use Next.js 14+ with App Router as the default framework. Only use pure React + Vite when user explicitly mentions offline-first functionality or specifically requests non-Next.js setup.
|
|
7
|
+
|
|
8
|
+
## Task Configuration
|
|
9
|
+
```yaml
|
|
10
|
+
elicit: true
|
|
11
|
+
interactive: true
|
|
12
|
+
required_params:
|
|
13
|
+
- project_name
|
|
14
|
+
- features
|
|
15
|
+
optional_params:
|
|
16
|
+
- pwa_enabled
|
|
17
|
+
- theme_config
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Task Execution
|
|
21
|
+
|
|
22
|
+
### Step 1: Elicit Project Requirements
|
|
23
|
+
Ask user for the following information:
|
|
24
|
+
|
|
25
|
+
**Project Name**: What would you like to name your frontend project?
|
|
26
|
+
**Initial Features**: List the main features/modules you want to start with (e.g., auth, dashboard, profile)
|
|
27
|
+
**PWA Enabled**: Do you want Progressive Web App capabilities? (default: yes)
|
|
28
|
+
**Theme Configuration**: Do you have specific theme/brand requirements?
|
|
29
|
+
|
|
30
|
+
### Step 2: Generate Project Structure
|
|
31
|
+
Create the following folder structure:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
src/
|
|
35
|
+
├── features/
|
|
36
|
+
│ └── shared/
|
|
37
|
+
│ ├── components/
|
|
38
|
+
│ ├── hooks/
|
|
39
|
+
│ ├── utils/
|
|
40
|
+
│ └── types/
|
|
41
|
+
├── app/
|
|
42
|
+
│ ├── providers/
|
|
43
|
+
│ ├── router/
|
|
44
|
+
│ └── store/
|
|
45
|
+
└── infrastructure/
|
|
46
|
+
├── api/
|
|
47
|
+
├── storage/
|
|
48
|
+
└── pwa/
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Step 3: Setup Configuration Files
|
|
52
|
+
- Initialize Next.js 14+ project with TypeScript
|
|
53
|
+
- Configure Next.js config for App Router
|
|
54
|
+
- Setup TailwindCSS + Shadcn/ui integration
|
|
55
|
+
- Configure Vitest for testing (with Next.js)
|
|
56
|
+
- Setup ESLint + Prettier (Next.js config)
|
|
57
|
+
- Configure PWA with Next.js PWA plugin if requested
|
|
58
|
+
- Setup environment configuration
|
|
59
|
+
|
|
60
|
+
### Step 4: Generate Initial Features
|
|
61
|
+
For each feature requested:
|
|
62
|
+
- Create feature folder with DDD structure
|
|
63
|
+
- Generate basic domain entities
|
|
64
|
+
- Create application layer with hooks and stores
|
|
65
|
+
- Setup infrastructure layer with API clients
|
|
66
|
+
- Create presentation layer with basic components
|
|
67
|
+
|
|
68
|
+
### Step 5: Validation
|
|
69
|
+
- Verify all files compile without errors
|
|
70
|
+
- Run initial tests
|
|
71
|
+
- Check TypeScript strict mode compliance
|
|
72
|
+
- Validate folder structure follows Clean Architecture
|
|
73
|
+
|
|
74
|
+
## Completion Criteria
|
|
75
|
+
- Project structure matches Clean Architecture patterns
|
|
76
|
+
- All dependencies are properly installed
|
|
77
|
+
- Initial features are scaffolded with all layers
|
|
78
|
+
- TypeScript compiles without errors
|
|
79
79
|
- Basic tests pass
|