@atlashub/smartstack-cli 1.13.2 → 1.14.1

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.
Files changed (214) hide show
  1. package/.documentation/agents.html +1 -1
  2. package/.documentation/apex.html +1 -1
  3. package/.documentation/business-analyse.html +1 -1
  4. package/.documentation/cli-commands.html +3 -3
  5. package/.documentation/commands.html +1 -1
  6. package/.documentation/efcore.html +1 -1
  7. package/.documentation/gitflow.html +231 -236
  8. package/.documentation/hooks.html +1 -1
  9. package/.documentation/index.html +1 -1
  10. package/.documentation/init.html +3 -3
  11. package/.documentation/installation.html +1075 -351
  12. package/.documentation/ralph-loop.html +1 -1
  13. package/.documentation/test-web.html +1 -1
  14. package/README.md +88 -20
  15. package/config/default-config.json +10 -1
  16. package/dist/index.js +276 -85
  17. package/dist/index.js.map +1 -1
  18. package/package.json +1 -1
  19. package/templates/agents/code-reviewer.md +163 -0
  20. package/templates/agents/efcore/db-deploy.md +25 -7
  21. package/templates/agents/efcore/db-reset.md +31 -10
  22. package/templates/agents/efcore/db-status.md +22 -5
  23. package/templates/agents/efcore/migration.md +70 -20
  24. package/templates/agents/gitflow/cleanup.md +8 -1
  25. package/templates/agents/gitflow/commit.md +7 -5
  26. package/templates/agents/gitflow/finish.md +6 -4
  27. package/templates/agents/gitflow/pr.md +8 -1
  28. package/templates/agents/gitflow/start.md +1 -1
  29. package/templates/commands/check-version.md +267 -0
  30. package/templates/commands/efcore/_shared.md +31 -2
  31. package/templates/commands/efcore/db-reset.md +18 -6
  32. package/templates/commands/efcore/migration.md +1 -1
  33. package/templates/commands/efcore/rebase-snapshot.md +1 -1
  34. package/templates/commands/efcore/squash.md +1 -0
  35. package/templates/commands/refactor.md +164 -0
  36. package/templates/project/DependencyInjection.Application.cs.template +25 -0
  37. package/templates/project/DependencyInjection.Infrastructure.cs.template +61 -0
  38. package/templates/project/DesignTimeExtensionsDbContextFactory.cs.template +70 -0
  39. package/templates/project/ExampleEntity.cs.template +116 -0
  40. package/templates/project/ExampleEntityConfiguration.cs.template +64 -0
  41. package/templates/project/ExampleService.cs.template +146 -0
  42. package/templates/project/ExtensionsDbContext.cs.template +41 -0
  43. package/templates/project/IExtensionsDbContext.cs.template +22 -0
  44. package/templates/project/Program.cs.template +47 -0
  45. package/templates/project/README.md +79 -0
  46. package/templates/ralph/README.md +10 -8
  47. package/templates/ralph/ralph.config.yaml +2 -2
  48. package/templates/skills/_shared.md +44 -44
  49. package/templates/skills/ai-prompt/SKILL.md +55 -55
  50. package/templates/skills/apex/SKILL.md +235 -0
  51. package/templates/skills/apex/steps/step-00-init.md +203 -0
  52. package/templates/skills/apex/steps/step-01-analyze.md +210 -0
  53. package/templates/skills/apex/steps/step-02-plan.md +217 -0
  54. package/templates/skills/apex/steps/step-03-execute.md +178 -0
  55. package/templates/skills/apex/steps/step-04-validate.md +217 -0
  56. package/templates/skills/apex/steps/step-05-examine.md +207 -0
  57. package/templates/skills/apex/steps/step-06-resolve.md +181 -0
  58. package/templates/skills/apex/steps/step-07-tests.md +206 -0
  59. package/templates/skills/apex/steps/step-08-run-tests.md +207 -0
  60. package/templates/skills/apex/templates/00-context.md +46 -0
  61. package/templates/skills/apex/templates/01-analyze.md +63 -0
  62. package/templates/skills/apex/templates/02-plan.md +63 -0
  63. package/templates/skills/apex/templates/03-execute.md +34 -0
  64. package/templates/skills/apex/templates/04-validate.md +61 -0
  65. package/templates/skills/apex/templates/05-examine.md +58 -0
  66. package/templates/skills/apex/templates/06-resolve.md +39 -0
  67. package/templates/skills/apex/templates/07-tests.md +56 -0
  68. package/templates/skills/apex/templates/08-run-tests.md +41 -0
  69. package/templates/skills/apex/templates/README.md +69 -0
  70. package/templates/skills/application/SKILL.md +50 -50
  71. package/templates/skills/application/templates-backend.md +25 -25
  72. package/templates/skills/application/templates-frontend.md +43 -43
  73. package/templates/skills/application/templates-i18n.md +29 -29
  74. package/templates/skills/application/templates-seed.md +77 -77
  75. package/templates/skills/business-analyse/SKILL.md +223 -0
  76. package/templates/skills/business-analyse/_shared.md +258 -0
  77. package/templates/skills/business-analyse/questionnaire/01-context.md +33 -0
  78. package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +35 -0
  79. package/templates/skills/business-analyse/questionnaire/03-scope.md +35 -0
  80. package/templates/skills/business-analyse/questionnaire/04-data.md +36 -0
  81. package/templates/skills/business-analyse/questionnaire/05-integrations.md +36 -0
  82. package/templates/skills/business-analyse/questionnaire/06-security.md +40 -0
  83. package/templates/skills/business-analyse/questionnaire/07-ui.md +36 -0
  84. package/templates/skills/business-analyse/questionnaire/08-performance.md +35 -0
  85. package/templates/skills/business-analyse/questionnaire/09-constraints.md +35 -0
  86. package/templates/skills/business-analyse/questionnaire/10-documentation.md +35 -0
  87. package/templates/skills/business-analyse/questionnaire.md +177 -177
  88. package/templates/skills/business-analyse/react/components.md +340 -0
  89. package/templates/skills/business-analyse/react/i18n-template.md +245 -0
  90. package/templates/skills/business-analyse/react/schema.md +151 -0
  91. package/templates/skills/business-analyse/steps/step-00-init.md +293 -0
  92. package/templates/skills/business-analyse/steps/step-01-discover.md +267 -0
  93. package/templates/skills/business-analyse/steps/step-02-analyse.md +243 -0
  94. package/templates/skills/business-analyse/steps/step-03-specify.md +317 -0
  95. package/templates/skills/business-analyse/steps/step-04-validate.md +239 -0
  96. package/templates/skills/business-analyse/steps/step-05-handoff.md +336 -0
  97. package/templates/skills/business-analyse/steps/step-06-doc-html.md +261 -0
  98. package/templates/skills/business-analyse/templates/00-context.md +105 -0
  99. package/templates/skills/business-analyse/templates/frd-brd.md +97 -0
  100. package/templates/skills/business-analyse/templates/frd-discovery.md +78 -0
  101. package/templates/skills/business-analyse/templates/frd-handoff.md +118 -0
  102. package/templates/skills/business-analyse/templates/frd-spec.md +168 -0
  103. package/templates/skills/business-analyse/templates-frd.md +217 -217
  104. package/templates/skills/business-analyse/templates-react.md +26 -26
  105. package/templates/skills/controller/SKILL.md +141 -92
  106. package/templates/skills/controller/postman-templates.md +15 -15
  107. package/templates/skills/controller/steps/step-00-init.md +191 -0
  108. package/templates/skills/controller/steps/step-01-analyze.md +146 -0
  109. package/templates/skills/controller/steps/step-02-plan.md +176 -0
  110. package/templates/skills/controller/steps/step-03-generate.md +219 -0
  111. package/templates/skills/controller/steps/step-04-perms.md +219 -0
  112. package/templates/skills/controller/steps/step-05-validate.md +107 -0
  113. package/templates/skills/controller/templates.md +77 -77
  114. package/templates/skills/documentation/SKILL.md +79 -79
  115. package/templates/skills/feature-full/SKILL.md +38 -38
  116. package/templates/skills/gitflow/SKILL.md +277 -0
  117. package/templates/{commands → skills}/gitflow/_shared.md +20 -20
  118. package/templates/skills/gitflow/phases/abort.md +173 -0
  119. package/templates/skills/gitflow/phases/cleanup.md +226 -0
  120. package/templates/skills/gitflow/phases/status.md +178 -0
  121. package/templates/skills/gitflow/steps/step-commit.md +255 -0
  122. package/templates/skills/gitflow/steps/step-finish.md +255 -0
  123. package/templates/skills/gitflow/steps/step-init.md +209 -0
  124. package/templates/skills/gitflow/steps/step-merge.md +225 -0
  125. package/templates/skills/gitflow/steps/step-plan.md +208 -0
  126. package/templates/skills/gitflow/steps/step-pr.md +235 -0
  127. package/templates/skills/gitflow/steps/step-start.md +334 -0
  128. package/templates/skills/gitflow/steps/step-sync.md +200 -0
  129. package/templates/skills/gitflow/templates/config.json +53 -0
  130. package/templates/skills/notification/SKILL.md +51 -51
  131. package/templates/skills/ralph-loop/SKILL.md +228 -0
  132. package/templates/skills/ralph-loop/steps/step-00-init.md +201 -0
  133. package/templates/skills/ralph-loop/steps/step-01-task.md +169 -0
  134. package/templates/skills/ralph-loop/steps/step-02-execute.md +173 -0
  135. package/templates/skills/ralph-loop/steps/step-03-commit.md +170 -0
  136. package/templates/skills/ralph-loop/steps/step-04-check.md +162 -0
  137. package/templates/skills/ralph-loop/steps/step-05-report.md +181 -0
  138. package/templates/skills/review-code/SKILL.md +219 -0
  139. package/templates/skills/review-code/references/clean-code-principles.md +140 -0
  140. package/templates/skills/review-code/references/code-quality-metrics.md +174 -0
  141. package/templates/skills/review-code/references/feedback-patterns.md +149 -0
  142. package/templates/skills/review-code/references/security-checklist.md +127 -0
  143. package/templates/skills/ui-components/SKILL.md +54 -54
  144. package/templates/skills/workflow/SKILL.md +46 -46
  145. package/templates/commands/ai-prompt.md +0 -315
  146. package/templates/commands/apex/1-analyze.md +0 -100
  147. package/templates/commands/apex/2-plan.md +0 -145
  148. package/templates/commands/apex/3-execute.md +0 -171
  149. package/templates/commands/apex/4-examine.md +0 -116
  150. package/templates/commands/apex/5-tasks.md +0 -209
  151. package/templates/commands/apex.md +0 -76
  152. package/templates/commands/application/create.md +0 -362
  153. package/templates/commands/application/templates-backend.md +0 -463
  154. package/templates/commands/application/templates-frontend.md +0 -517
  155. package/templates/commands/application/templates-i18n.md +0 -478
  156. package/templates/commands/application/templates-seed.md +0 -362
  157. package/templates/commands/application.md +0 -303
  158. package/templates/commands/business-analyse/0-orchestrate.md +0 -156
  159. package/templates/commands/business-analyse/1-init.md +0 -99
  160. package/templates/commands/business-analyse/2-discover.md +0 -143
  161. package/templates/commands/business-analyse/3-analyse.md +0 -106
  162. package/templates/commands/business-analyse/4-specify.md +0 -133
  163. package/templates/commands/business-analyse/5-validate.md +0 -132
  164. package/templates/commands/business-analyse/6-handoff.md +0 -157
  165. package/templates/commands/business-analyse/7-doc-html.md +0 -103
  166. package/templates/commands/business-analyse/_shared.md +0 -176
  167. package/templates/commands/business-analyse/bug.md +0 -118
  168. package/templates/commands/business-analyse/change-request.md +0 -144
  169. package/templates/commands/business-analyse/hotfix.md +0 -116
  170. package/templates/commands/business-analyse.md +0 -121
  171. package/templates/commands/controller/create.md +0 -216
  172. package/templates/commands/controller/postman-templates.md +0 -528
  173. package/templates/commands/controller/templates.md +0 -600
  174. package/templates/commands/controller.md +0 -337
  175. package/templates/commands/create/agent.md +0 -138
  176. package/templates/commands/create/command.md +0 -166
  177. package/templates/commands/create/hook.md +0 -234
  178. package/templates/commands/create/plugin.md +0 -329
  179. package/templates/commands/create/project.md +0 -508
  180. package/templates/commands/create/skill.md +0 -199
  181. package/templates/commands/create.md +0 -220
  182. package/templates/commands/documentation/module.md +0 -202
  183. package/templates/commands/documentation/templates.md +0 -432
  184. package/templates/commands/documentation.md +0 -190
  185. package/templates/commands/epct.md +0 -69
  186. package/templates/commands/explain.md +0 -186
  187. package/templates/commands/feature-full.md +0 -267
  188. package/templates/commands/gitflow/1-init.md +0 -188
  189. package/templates/commands/gitflow/10-start.md +0 -190
  190. package/templates/commands/gitflow/11-finish.md +0 -382
  191. package/templates/commands/gitflow/12-cleanup.md +0 -103
  192. package/templates/commands/gitflow/13-sync.md +0 -216
  193. package/templates/commands/gitflow/14-rebase.md +0 -251
  194. package/templates/commands/gitflow/2-status.md +0 -122
  195. package/templates/commands/gitflow/3-commit.md +0 -209
  196. package/templates/commands/gitflow/4-plan.md +0 -174
  197. package/templates/commands/gitflow/5-exec.md +0 -202
  198. package/templates/commands/gitflow/6-abort.md +0 -121
  199. package/templates/commands/gitflow/7-pull-request.md +0 -176
  200. package/templates/commands/gitflow/8-review.md +0 -113
  201. package/templates/commands/gitflow/9-merge.md +0 -157
  202. package/templates/commands/gitflow.md +0 -128
  203. package/templates/commands/implement.md +0 -663
  204. package/templates/commands/init.md +0 -567
  205. package/templates/commands/mcp-integration.md +0 -330
  206. package/templates/commands/notification.md +0 -129
  207. package/templates/commands/oneshot.md +0 -57
  208. package/templates/commands/quickstart.md +0 -154
  209. package/templates/commands/ralph-loop/cancel-ralph.md +0 -18
  210. package/templates/commands/ralph-loop/help.md +0 -126
  211. package/templates/commands/ralph-loop/ralph-loop.md +0 -120
  212. package/templates/commands/review.md +0 -106
  213. package/templates/commands/workflow.md +0 -193
  214. package/templates/gitflow/config.json +0 -138
@@ -1,508 +0,0 @@
1
- ---
2
- description: Create a full-stack SmartStack project (Clean Architecture .NET + React/Vite/Tailwind)
3
- argument-hint: <project-name> [description]
4
- ---
5
-
6
- # Create SmartStack Project
7
-
8
- Scaffold a complete full-stack project with:
9
- - **Backend**: .NET 10 Clean Architecture (Domain, Application, Infrastructure, Api)
10
- - **Frontend**: React 19 + TypeScript + Vite + Tailwind CSS
11
-
12
- ## Arguments
13
-
14
- Parse from `$ARGUMENTS`:
15
- - **name** (required): Project name in PascalCase (e.g., `MyProject`)
16
- - **description** (optional): Project description
17
-
18
- ## Project Structure
19
-
20
- ```
21
- {ProjectName}/
22
- ├── .gitignore
23
- ├── .claudeignore
24
- ├── README.md
25
- ├── CLAUDE.md
26
- ├── LICENSE
27
- ├── Directory.Build.props
28
- ├── {ProjectName}.sln
29
-
30
- ├── src/
31
- │ ├── {ProjectName}.Domain/
32
- │ │ ├── {ProjectName}.Domain.csproj
33
- │ │ ├── Common/
34
- │ │ │ ├── BaseEntity.cs
35
- │ │ │ ├── IAuditableEntity.cs
36
- │ │ │ └── IDomainEvent.cs
37
- │ │ ├── Entities/
38
- │ │ ├── Enums/
39
- │ │ ├── Exceptions/
40
- │ │ │ └── DomainException.cs
41
- │ │ └── ValueObjects/
42
- │ │
43
- │ ├── {ProjectName}.Application/
44
- │ │ ├── {ProjectName}.Application.csproj
45
- │ │ ├── Common/
46
- │ │ │ ├── Behaviors/
47
- │ │ │ │ ├── ValidationBehavior.cs
48
- │ │ │ │ └── LoggingBehavior.cs
49
- │ │ │ ├── Interfaces/
50
- │ │ │ │ ├── IApplicationDbContext.cs
51
- │ │ │ │ └── ICurrentUserService.cs
52
- │ │ │ └── Models/
53
- │ │ │ └── Result.cs
54
- │ │ ├── Features/
55
- │ │ │ └── .gitkeep
56
- │ │ └── DependencyInjection.cs
57
- │ │
58
- │ ├── {ProjectName}.Infrastructure/
59
- │ │ ├── {ProjectName}.Infrastructure.csproj
60
- │ │ ├── Persistence/
61
- │ │ │ ├── ApplicationDbContext.cs
62
- │ │ │ ├── Configurations/
63
- │ │ │ │ └── .gitkeep
64
- │ │ │ ├── Migrations/
65
- │ │ │ │ └── .gitkeep
66
- │ │ │ └── Seeding/
67
- │ │ │ └── DatabaseSeeder.cs
68
- │ │ ├── Services/
69
- │ │ │ └── DateTimeService.cs
70
- │ │ └── DependencyInjection.cs
71
- │ │
72
- │ ├── {ProjectName}.Api.Core/
73
- │ │ ├── {ProjectName}.Api.Core.csproj
74
- │ │ ├── Controllers/
75
- │ │ │ └── BaseApiController.cs
76
- │ │ ├── Extensions/
77
- │ │ │ └── ServiceCollectionExtensions.cs
78
- │ │ ├── Middleware/
79
- │ │ │ └── ExceptionHandlingMiddleware.cs
80
- │ │ └── Hubs/
81
- │ │ └── NotificationHub.cs
82
- │ │
83
- │ └── {ProjectName}.Api/
84
- │ ├── {ProjectName}.Api.csproj
85
- │ ├── Properties/
86
- │ │ └── launchSettings.json
87
- │ ├── appsettings.json
88
- │ ├── appsettings.Development.json
89
- │ ├── appsettings.Production.json
90
- │ └── Program.cs
91
-
92
- ├── web/
93
- │ └── {project-name}-web/
94
- │ ├── package.json
95
- │ ├── tsconfig.json
96
- │ ├── tsconfig.app.json
97
- │ ├── tsconfig.node.json
98
- │ ├── vite.config.ts
99
- │ ├── eslint.config.mjs
100
- │ ├── tailwind.config.js
101
- │ ├── postcss.config.js
102
- │ ├── index.html
103
- │ ├── .env.example
104
- │ └── src/
105
- │ ├── main.tsx
106
- │ ├── App.tsx
107
- │ ├── index.css
108
- │ ├── vite-env.d.ts
109
- │ ├── components/
110
- │ │ ├── layout/
111
- │ │ │ ├── Header.tsx
112
- │ │ │ ├── Sidebar.tsx
113
- │ │ │ └── Footer.tsx
114
- │ │ └── ui/
115
- │ │ ├── Button.tsx
116
- │ │ └── Card.tsx
117
- │ ├── pages/
118
- │ │ ├── HomePage.tsx
119
- │ │ └── NotFoundPage.tsx
120
- │ ├── hooks/
121
- │ │ └── useApi.ts
122
- │ ├── contexts/
123
- │ │ ├── AuthContext.tsx
124
- │ │ └── ThemeContext.tsx
125
- │ ├── services/
126
- │ │ └── api/
127
- │ │ └── client.ts
128
- │ ├── types/
129
- │ │ └── index.ts
130
- │ ├── utils/
131
- │ │ └── helpers.ts
132
- │ └── config/
133
- │ └── constants.ts
134
-
135
- ├── tests/
136
- │ └── {ProjectName}.Tests/
137
- │ └── {ProjectName}.Tests.csproj
138
-
139
- └── tools/
140
- └── .gitkeep
141
- ```
142
-
143
- ## Workflow
144
-
145
- ### 1. PARSE & VALIDATE
146
-
147
- Extract from `$ARGUMENTS`:
148
- ```
149
- name: PascalCase project name (e.g., "MyProject")
150
- description: Optional description
151
- ```
152
-
153
- Validate:
154
- - Name is PascalCase: `^[A-Z][a-zA-Z0-9]*$`
155
- - Directory doesn't exist
156
- - Name is not a reserved word
157
-
158
- ### 2. CREATE ROOT STRUCTURE
159
-
160
- Use Bash to create directories:
161
- ```bash
162
- mkdir -p {ProjectName}/src
163
- mkdir -p {ProjectName}/web
164
- mkdir -p {ProjectName}/tests
165
- mkdir -p {ProjectName}/tools
166
- mkdir -p {ProjectName}/scripts
167
- ```
168
-
169
- ### 3. GENERATE BACKEND FILES
170
-
171
- For each backend project, use Write tool to create:
172
-
173
- #### 3.1 Directory.Build.props
174
- ```xml
175
- <Project>
176
- <PropertyGroup>
177
- <TargetFramework>net10.0</TargetFramework>
178
- <ImplicitUsings>enable</ImplicitUsings>
179
- <Nullable>enable</Nullable>
180
- <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
181
- <Version>1.0.0</Version>
182
- <Authors>{Author}</Authors>
183
- <Company>{Company}</Company>
184
- </PropertyGroup>
185
- </Project>
186
- ```
187
-
188
- #### 3.2 Solution File ({ProjectName}.sln)
189
- Use `dotnet new sln --format sln` and `dotnet sln add` commands.
190
- > **Note:** L'option `--format sln` est requise depuis .NET 10 pour generer le format classique `.sln` compatible avec VS Code.
191
-
192
- #### 3.3 Domain Project
193
- - Create .csproj with MediatR.Contracts
194
- - Create BaseEntity.cs, IDomainEvent.cs
195
- - Create folder structure
196
-
197
- #### 3.4 Application Project
198
- - Create .csproj with MediatR, FluentValidation
199
- - Create Result.cs, ValidationBehavior.cs
200
- - Create DependencyInjection.cs
201
-
202
- #### 3.5 Infrastructure Project
203
- - Create .csproj with EF Core, SqlServer
204
- - Create ApplicationDbContext.cs
205
- - Create DependencyInjection.cs
206
-
207
- #### 3.6 Api.Core Project
208
- - Create .csproj with ASP.NET Core
209
- - Create BaseApiController.cs
210
- - Create ExceptionHandlingMiddleware.cs
211
-
212
- #### 3.7 Api Project
213
- - Create .csproj as entry point
214
- - Create Program.cs with full bootstrap
215
- - Create appsettings.json files
216
-
217
- ### 4. GENERATE FRONTEND FILES
218
-
219
- #### 4.1 package.json
220
- ```json
221
- {
222
- "name": "{project-name}-web",
223
- "private": true,
224
- "version": "1.0.0",
225
- "type": "module",
226
- "scripts": {
227
- "dev": "vite",
228
- "build": "tsc -b && vite build",
229
- "lint": "eslint .",
230
- "preview": "vite preview"
231
- },
232
- "dependencies": {
233
- "react": "^19.0.0",
234
- "react-dom": "^19.0.0",
235
- "react-router-dom": "^7.0.0",
236
- "axios": "^1.7.0",
237
- "@microsoft/signalr": "^8.0.0",
238
- "lucide-react": "^0.400.0"
239
- },
240
- "devDependencies": {
241
- "@types/react": "^19.0.0",
242
- "@types/react-dom": "^19.0.0",
243
- "@vitejs/plugin-react": "^4.3.0",
244
- "typescript": "~5.6.0",
245
- "vite": "^6.0.0",
246
- "tailwindcss": "^4.0.0",
247
- "@tailwindcss/vite": "^4.0.0",
248
- "eslint": "^9.0.0"
249
- }
250
- }
251
- ```
252
-
253
- #### 4.2 vite.config.ts
254
- ```typescript
255
- import { defineConfig } from 'vite'
256
- import react from '@vitejs/plugin-react'
257
- import tailwindcss from '@tailwindcss/vite'
258
-
259
- export default defineConfig({
260
- plugins: [react(), tailwindcss()],
261
- server: {
262
- port: 5173,
263
- proxy: {
264
- '/api': 'http://localhost:5000'
265
- }
266
- }
267
- })
268
- ```
269
-
270
- #### 4.3 React Components
271
- - Create App.tsx with router setup
272
- - Create basic layout components
273
- - Create context providers
274
- - Create API client
275
-
276
- ### 5. GENERATE CONFIGURATION FILES
277
-
278
- #### .gitignore
279
- ```
280
- # .NET
281
- bin/
282
- obj/
283
- *.user
284
- *.suo
285
- appsettings.Local.json
286
-
287
- # Node
288
- node_modules/
289
- dist/
290
- .env.local
291
-
292
- # IDE
293
- .vs/
294
- .vscode/
295
- .idea/
296
-
297
- # OS
298
- .DS_Store
299
- Thumbs.db
300
-
301
- # Logs
302
- *.log
303
- logs/
304
- ```
305
-
306
- #### CLAUDE.md
307
- ```markdown
308
- # {ProjectName} Architecture Memory
309
-
310
- ## Project Overview
311
- {description}
312
-
313
- ## Technology Stack
314
- - Backend: .NET 10, EF Core, Clean Architecture
315
- - Frontend: React 19, TypeScript, Vite, Tailwind CSS
316
- - Database: SQL Server
317
-
318
- ## Architecture
319
- Clean Architecture with CQRS pattern.
320
-
321
- ## Conventions
322
- - Use MediatR for commands/queries
323
- - Use FluentValidation for validation
324
- - Use Result<T> for operation results
325
- ```
326
-
327
- ### 6. INITIALIZE GIT & DOTNET
328
-
329
- ```bash
330
- cd {ProjectName}
331
- git init
332
- dotnet new sln -n {ProjectName} --format sln
333
- dotnet sln add src/{ProjectName}.Domain
334
- dotnet sln add src/{ProjectName}.Application
335
- dotnet sln add src/{ProjectName}.Infrastructure
336
- dotnet sln add src/{ProjectName}.Api.Core
337
- dotnet sln add src/{ProjectName}.Api
338
- dotnet restore
339
- ```
340
-
341
- ### 7. DISPLAY SUCCESS
342
-
343
- ```
344
- ╔═══════════════════════════════════════════════════════════════╗
345
- ║ SMARTSTACK PROJECT CREATED ║
346
- ╠═══════════════════════════════════════════════════════════════╣
347
- ║ Name: {ProjectName} ║
348
- ║ Location: {full-path} ║
349
- ╠═══════════════════════════════════════════════════════════════╣
350
- ║ Backend: ║
351
- ║ ✓ {ProjectName}.Domain (Core entities) ║
352
- ║ ✓ {ProjectName}.Application (CQRS, Use cases) ║
353
- ║ ✓ {ProjectName}.Infrastructure (EF Core, Services) ║
354
- ║ ✓ {ProjectName}.Api.Core (Controllers, Middleware) ║
355
- ║ ✓ {ProjectName}.Api (Entry point) ║
356
- ╠═══════════════════════════════════════════════════════════════╣
357
- ║ Frontend: ║
358
- ║ ✓ {project-name}-web (React + Vite + Tailwind) ║
359
- ╠═══════════════════════════════════════════════════════════════╣
360
- ║ Next steps: ║
361
- ║ 1. cd {ProjectName} ║
362
- ║ 2. dotnet build ║
363
- ║ 3. cd web/{project-name}-web && npm install ║
364
- ║ 4. Configure appsettings.Local.json ║
365
- ║ 5. dotnet ef database update ║
366
- ║ 6. dotnet run --project src/{ProjectName}.Api ║
367
- ║ 7. npm run dev (in web folder) ║
368
- ╚═══════════════════════════════════════════════════════════════╝
369
- ```
370
-
371
- ## File Templates
372
-
373
- ### Domain/BaseEntity.cs
374
- ```csharp
375
- namespace {ProjectName}.Domain.Common;
376
-
377
- public abstract class BaseEntity
378
- {
379
- public Guid Id { get; protected set; } = Guid.NewGuid();
380
- public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
381
- public DateTime? UpdatedAt { get; set; }
382
- public string? CreatedBy { get; set; }
383
- public string? UpdatedBy { get; set; }
384
- }
385
- ```
386
-
387
- ### Application/Result.cs
388
- ```csharp
389
- namespace {ProjectName}.Application.Common.Models;
390
-
391
- public class Result<T>
392
- {
393
- public bool IsSuccess { get; }
394
- public T? Value { get; }
395
- public string? Error { get; }
396
-
397
- private Result(bool isSuccess, T? value, string? error)
398
- {
399
- IsSuccess = isSuccess;
400
- Value = value;
401
- Error = error;
402
- }
403
-
404
- public static Result<T> Success(T value) => new(true, value, null);
405
- public static Result<T> Failure(string error) => new(false, default, error);
406
- }
407
- ```
408
-
409
- ### Infrastructure/ApplicationDbContext.cs
410
- ```csharp
411
- using Microsoft.EntityFrameworkCore;
412
- using {ProjectName}.Application.Common.Interfaces;
413
-
414
- namespace {ProjectName}.Infrastructure.Persistence;
415
-
416
- public class ApplicationDbContext : DbContext, IApplicationDbContext
417
- {
418
- public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
419
- : base(options)
420
- {
421
- }
422
-
423
- protected override void OnModelCreating(ModelBuilder modelBuilder)
424
- {
425
- modelBuilder.ApplyConfigurationsFromAssembly(typeof(ApplicationDbContext).Assembly);
426
- base.OnModelCreating(modelBuilder);
427
- }
428
- }
429
- ```
430
-
431
- ### Api/Program.cs
432
- ```csharp
433
- using {ProjectName}.Application;
434
- using {ProjectName}.Infrastructure;
435
- using {ProjectName}.Api.Core.Extensions;
436
-
437
- var builder = WebApplication.CreateBuilder(args);
438
-
439
- // Add services
440
- builder.Services.AddApplication();
441
- builder.Services.AddInfrastructure(builder.Configuration);
442
- builder.Services.AddApiCore();
443
-
444
- builder.Services.AddControllers();
445
- builder.Services.AddEndpointsApiExplorer();
446
- builder.Services.AddSwaggerGen();
447
- builder.Services.AddSignalR();
448
-
449
- var app = builder.Build();
450
-
451
- // Configure pipeline
452
- if (app.Environment.IsDevelopment())
453
- {
454
- app.UseSwagger();
455
- app.UseSwaggerUI();
456
- }
457
-
458
- app.UseHttpsRedirection();
459
- app.UseAuthentication();
460
- app.UseAuthorization();
461
- app.MapControllers();
462
- app.MapHub<NotificationHub>("/hubs/notifications");
463
-
464
- app.Run();
465
- ```
466
-
467
- ### Frontend/App.tsx
468
- ```tsx
469
- import { BrowserRouter, Routes, Route } from 'react-router-dom';
470
- import { AuthProvider } from './contexts/AuthContext';
471
- import { ThemeProvider } from './contexts/ThemeContext';
472
- import HomePage from './pages/HomePage';
473
- import NotFoundPage from './pages/NotFoundPage';
474
-
475
- function App() {
476
- return (
477
- <ThemeProvider>
478
- <AuthProvider>
479
- <BrowserRouter>
480
- <Routes>
481
- <Route path="/" element={<HomePage />} />
482
- <Route path="*" element={<NotFoundPage />} />
483
- </Routes>
484
- </BrowserRouter>
485
- </AuthProvider>
486
- </ThemeProvider>
487
- );
488
- }
489
-
490
- export default App;
491
- ```
492
-
493
- ## Execution Rules
494
-
495
- 1. **ALWAYS** create all directories before files
496
- 2. **USE** Write tool for each file (not batch)
497
- 3. **USE** Bash for dotnet commands
498
- 4. **VALIDATE** project name is PascalCase
499
- 5. **NEVER** overwrite existing directories
500
- 6. Create files in this order: root → backend → frontend → config
501
-
502
- ## Priority
503
-
504
- Correctness > Completeness > Speed
505
-
506
- ---
507
-
508
- User: $ARGUMENTS
@@ -1,199 +0,0 @@
1
- ---
2
- description: Create a SmartStack skill extension project with multi-phase workflow
3
- argument-hint: <name> [phases] [description]
4
- ---
5
-
6
- # Create Skill Extension
7
-
8
- Scaffold a complete SmartStack **skill** extension with multi-phase workflow.
9
-
10
- ## What is a Skill?
11
-
12
- A skill is a complex multi-phase orchestrator:
13
- - Manages workflows with multiple phases
14
- - Each phase can use different models (cost optimization)
15
- - Contains templates, questionnaires, validation gates
16
- - Produces structured output (documentation, code, etc.)
17
-
18
- ## Arguments
19
-
20
- Parse from `$ARGUMENTS`:
21
- - **name** (required): Skill name in kebab-case
22
- - **phases** (optional): Number of phases (default: 5)
23
- - **description** (optional): What the skill does
24
-
25
- ## Project Structure
26
-
27
- ```
28
- smartstack-{name}/
29
- ├── package.json
30
- ├── tsconfig.json
31
- ├── tsup.config.ts
32
- ├── README.md
33
- ├── .gitignore
34
- ├── src/
35
- │ └── index.ts
36
- └── templates/
37
- └── skills/
38
- └── {name}/
39
- ├── SKILL.md # Main skill definition
40
- ├── 1-setup.md # Phase 1
41
- ├── 2-analyze.md # Phase 2
42
- ├── 3-design.md # Phase 3
43
- ├── 4-execute.md # Phase 4
44
- ├── 5-validate.md # Phase 5
45
- └── templates.md # Shared templates
46
- ```
47
-
48
- ## Generated SKILL.md
49
-
50
- ```markdown
51
- ---
52
- name: {name}
53
- description: |
54
- {description}
55
- Use when:
56
- - User needs {name} functionality
57
- - User mentions related keywords
58
- ---
59
-
60
- # {PascalCaseName} Skill
61
-
62
- {description}
63
-
64
- ## Overview
65
-
66
- Multi-phase workflow for {name} operations.
67
-
68
- ## Phase Summary
69
-
70
- | Phase | Command | Description | Model | Cost |
71
- |-------|---------|-------------|-------|------|
72
- | 1 | `/{name}:1-setup` | Initial setup and configuration | Haiku | ~$0.02 |
73
- | 2 | `/{name}:2-analyze` | Analysis and discovery | Sonnet | ~$0.10 |
74
- | 3 | `/{name}:3-design` | Design and planning | Sonnet | ~$0.10 |
75
- | 4 | `/{name}:4-execute` | Implementation | Opus | ~$0.30 |
76
- | 5 | `/{name}:5-validate` | Validation and testing | Sonnet | ~$0.10 |
77
- | **Total** | | | | ~$0.62 |
78
-
79
- ## Workflow Diagram
80
-
81
- ╔═══════════╗ ╔═══════════╗ ╔═══════════╗
82
- ║ 1-SETUP ║ ──▶ ║ 2-ANALYZE ║ ──▶ ║ 3-DESIGN ║
83
- ║ (Haiku) ║ ║ (Sonnet) ║ ║ (Sonnet) ║
84
- ╚═══════════╝ ╚═══════════╝ ╚═══════════╝
85
-
86
- ╔═══════════╗ ╔═══════════╗ ▼
87
- ║ COMPLETE ║ ◀── ║ 5-VALIDATE║ ◀── ╔═══════════╗
88
- ║ ║ ║ (Sonnet) ║ ║ 4-EXECUTE ║
89
- ╚═══════════╝ ╚═══════════╝ ║ (Opus) ║
90
- ╚═══════════╝
91
-
92
- ## Output Location
93
-
94
- Generated files go to:
95
- - Working directory: `./{name}/`
96
- - Or specified output path
97
-
98
- ## Available Commands
99
-
100
- | Command | Description |
101
- |---------|-------------|
102
- | `/{name}` | Run complete workflow (all phases) |
103
- | `/{name}:1-setup` | Run setup phase only |
104
- | `/{name}:2-analyze` | Run analysis phase only |
105
- | `/{name}:3-design` | Run design phase only |
106
- | `/{name}:4-execute` | Run execution phase only |
107
- | `/{name}:5-validate` | Run validation phase only |
108
-
109
- ## Absolute Rules
110
-
111
- 1. **NEVER** skip phases in sequence mode
112
- 2. **ALWAYS** validate before proceeding
113
- 3. **PRESERVE** existing configurations
114
- 4. **DOCUMENT** all decisions
115
- 5. **COST-OPTIMIZE** model selection
116
-
117
- ## Context Variables
118
-
119
- Available in all phases:
120
- - `$NAME` - Skill name
121
- - `$PHASE` - Current phase number
122
- - `$OUTPUT_DIR` - Output directory
123
- - `$ARGUMENTS` - User arguments
124
-
125
- ## Priority
126
-
127
- Quality > Cost > Speed
128
- ```
129
-
130
- ## Generated Phase Template (example: 1-setup.md)
131
-
132
- ```markdown
133
- ---
134
- description: Phase 1 - Setup and configuration
135
- argument-hint: [output-dir]
136
- ---
137
-
138
- # Phase 1: Setup
139
-
140
- ## Objective
141
-
142
- Initialize the {name} workflow environment.
143
-
144
- ## Prerequisites
145
-
146
- - None (this is the first phase)
147
-
148
- ## Steps
149
-
150
- ### 1.1 Parse Arguments
151
- - Extract output directory from `$ARGUMENTS`
152
- - Default to `./{name}/` if not specified
153
-
154
- ### 1.2 Create Directory Structure
155
- ```
156
- {output-dir}/
157
- ├── config/
158
- ├── output/
159
- └── logs/
160
- ```
161
-
162
- ### 1.3 Initialize Configuration
163
- - Create default config file
164
- - Set up logging
165
-
166
- ## Output
167
-
168
- - Directory structure created
169
- - Configuration initialized
170
- - Ready for Phase 2
171
-
172
- ## Validation Checklist
173
-
174
- - [ ] Output directory exists
175
- - [ ] Config file created
176
- - [ ] No errors encountered
177
-
178
- ## Next Phase
179
-
180
- Proceed to: `/{name}:2-analyze`
181
-
182
- ---
183
-
184
- User: $ARGUMENTS
185
- ```
186
-
187
- ## Workflow
188
-
189
- 1. Parse arguments (name, phases, description)
190
- 2. Validate name format
191
- 3. Create project directory
192
- 4. Generate SKILL.md
193
- 5. Generate each phase template
194
- 6. Generate templates.md
195
- 7. Display success message
196
-
197
- ---
198
-
199
- User: $ARGUMENTS