@totaland/create-starter-kit 1.0.0 → 2.0.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 (228) hide show
  1. package/README.md +130 -18
  2. package/bin/index.js +109 -21
  3. package/package.json +2 -2
  4. package/templates/backend/.github/agents/ /360/237/216/255 planner.agent.md" +92 -0
  5. package/templates/backend/.github/agents/api-architect.agent.md +41 -0
  6. package/templates/backend/.github/agents/code-reviewer.agent.md +26 -0
  7. package/templates/backend/.github/agents/code-simplifier.agent.md +41 -0
  8. package/templates/backend/.github/agents/code-skeptic.agent.md +74 -0
  9. package/templates/backend/.github/agents/docs-specialist.agent.md +25 -0
  10. package/templates/backend/.github/agents/implementation-plan.agent.md +160 -0
  11. package/templates/backend/.github/agents/janitor.agent.md +90 -0
  12. package/templates/backend/.github/agents/ms-sql-dba.agent.md +25 -0
  13. package/templates/backend/.github/agents/plan.agent.md +115 -0
  14. package/templates/backend/.github/agents/planner.agent.md +15 -0
  15. package/templates/backend/.github/agents/playwright-tester.agent.md +13 -0
  16. package/templates/backend/.github/agents/postgresql-dba.agent.md +18 -0
  17. package/templates/backend/.github/agents/prd.agent.md +202 -0
  18. package/templates/backend/.github/agents/research-technical-spike.agent.md +170 -0
  19. package/templates/backend/.github/agents/software-engineer-agent-v1.agent.md +165 -0
  20. package/templates/backend/.github/agents/task-planner.agent.md +375 -0
  21. package/templates/backend/.github/agents/task-researcher.agent.md +255 -0
  22. package/templates/backend/.github/agents/tdd-green.agent.md +60 -0
  23. package/templates/backend/.github/agents/tdd-red.agent.md +60 -0
  24. package/templates/backend/.github/agents/tdd-refactor.agent.md +85 -0
  25. package/templates/backend/.github/agents/tech-debt-remediation-plan.agent.md +50 -0
  26. package/templates/backend/.github/agents/typescript-mcp-expert.agent.md +91 -0
  27. package/templates/backend/.github/agents/ultimate-thinking-beastmode.agent.md +644 -0
  28. package/templates/backend/.github/agents//360/237/216/255 generator.agent.md" +264 -0
  29. package/templates/backend/.github/agents//360/237/216/255 healer.agent.md" +44 -0
  30. package/templates/backend/.github/agents//360/237/216/255 pom.agent.md" +308 -0
  31. package/templates/backend/.github/instructions/a11y.instructions.md +369 -0
  32. package/templates/backend/.github/instructions/ms-sql-dba.instructions.md +25 -0
  33. package/templates/backend/.github/instructions/object-calisthenics.instructions.md +302 -0
  34. package/templates/backend/.github/instructions/performance-optimization.instructions.md +420 -0
  35. package/templates/backend/.github/instructions/playwright-python.instructions.md +62 -0
  36. package/templates/backend/.github/instructions/playwright-typescript.instructions.md +86 -0
  37. package/templates/backend/.github/instructions/security-and-owasp.instructions.md +51 -0
  38. package/templates/backend/.github/instructions/self-explanatory-code-commenting.instructions.md +162 -0
  39. package/templates/backend/.github/instructions/spec-driven-workflow-v1.instructions.md +323 -0
  40. package/templates/backend/.github/instructions/sql-sp-generation.instructions.md +74 -0
  41. package/templates/backend/.github/instructions/task-implementation.instructions.md +190 -0
  42. package/templates/backend/.github/instructions/typescript-mcp-server.instructions.md +228 -0
  43. package/templates/backend/.github/prompts/ai-prompt-engineering-safety-review.prompt.md +229 -0
  44. package/templates/backend/.github/prompts/architecture-blueprint-generator.prompt.md +321 -0
  45. package/templates/backend/.github/prompts/breakdown-epic-arch.prompt.md +65 -0
  46. package/templates/backend/.github/prompts/breakdown-epic-pm.prompt.md +57 -0
  47. package/templates/backend/.github/prompts/breakdown-feature-implementation.prompt.md +127 -0
  48. package/templates/backend/.github/prompts/breakdown-feature-prd.prompt.md +60 -0
  49. package/templates/backend/.github/prompts/breakdown-plan.prompt.md +508 -0
  50. package/templates/backend/.github/prompts/copilot-instructions-blueprint-generator.prompt.md +293 -0
  51. package/templates/backend/.github/prompts/create-agentsmd.prompt.md +248 -0
  52. package/templates/backend/.github/prompts/create-github-issue-feature-from-specification.prompt.md +27 -0
  53. package/templates/backend/.github/prompts/create-github-issues-feature-from-implementation-plan.prompt.md +27 -0
  54. package/templates/backend/.github/prompts/create-github-issues-for-unmet-specification-requirements.prompt.md +35 -0
  55. package/templates/backend/.github/prompts/create-implementation-plan.prompt.md +156 -0
  56. package/templates/backend/.github/prompts/create-llms.prompt.md +209 -0
  57. package/templates/backend/.github/prompts/create-specification.prompt.md +126 -0
  58. package/templates/backend/.github/prompts/create-technical-spike.prompt.md +230 -0
  59. package/templates/backend/.github/prompts/csharp-nunit.prompt.md +71 -0
  60. package/templates/backend/.github/prompts/ef-core.prompt.md +76 -0
  61. package/templates/backend/.github/prompts/folder-structure-blueprint-generator.prompt.md +404 -0
  62. package/templates/backend/.github/prompts/gen-specs-as-issues.prompt.md +165 -0
  63. package/templates/backend/.github/prompts/generate-custom-instructions-from-codebase.prompt.md +239 -0
  64. package/templates/backend/.github/prompts/java-junit.prompt.md +64 -0
  65. package/templates/backend/.github/prompts/memory-merger.prompt.md +107 -0
  66. package/templates/backend/.github/prompts/multi-stage-dockerfile.prompt.md +46 -0
  67. package/templates/backend/.github/prompts/playwright-automation-fill-in-form.prompt.md +29 -0
  68. package/templates/backend/.github/prompts/playwright-explore-website.prompt.md +19 -0
  69. package/templates/backend/.github/prompts/playwright-generate-test.prompt.md +19 -0
  70. package/templates/backend/.github/prompts/postgresql-code-review.prompt.md +214 -0
  71. package/templates/backend/.github/prompts/postgresql-optimization.prompt.md +406 -0
  72. package/templates/backend/.github/prompts/project-workflow-analysis-blueprint-generator.prompt.md +294 -0
  73. package/templates/backend/.github/prompts/prompt-builder.prompt.md +142 -0
  74. package/templates/backend/.github/prompts/remember.prompt.md +125 -0
  75. package/templates/backend/.github/prompts/review-and-refactor.prompt.md +15 -0
  76. package/templates/backend/.github/prompts/sql-code-review.prompt.md +303 -0
  77. package/templates/backend/.github/prompts/sql-optimization.prompt.md +298 -0
  78. package/templates/backend/.github/prompts/suggest-awesome-github-copilot-agents.prompt.md +72 -0
  79. package/templates/backend/.github/prompts/suggest-awesome-github-copilot-chatmodes.prompt.md +71 -0
  80. package/templates/backend/.github/prompts/suggest-awesome-github-copilot-collections.prompt.md +149 -0
  81. package/templates/backend/.github/prompts/suggest-awesome-github-copilot-instructions.prompt.md +88 -0
  82. package/templates/backend/.github/prompts/suggest-awesome-github-copilot-prompts.prompt.md +71 -0
  83. package/templates/backend/.github/prompts/technology-stack-blueprint-generator.prompt.md +242 -0
  84. package/templates/backend/.github/prompts/typescript-mcp-server-generator.prompt.md +90 -0
  85. package/templates/backend/.github/prompts/update-implementation-plan.prompt.md +157 -0
  86. package/templates/backend/.github/prompts/update-markdown-file-index.prompt.md +76 -0
  87. package/templates/backend/Project_Folders_Structure_Blueprint.md +529 -0
  88. package/templates/backend/README.md +99 -0
  89. package/templates/backend/biome.json +45 -0
  90. package/{template → templates/backend}/drizzle.config.ts +1 -1
  91. package/{template → templates/backend}/package.json +9 -4
  92. package/templates/backend/pnpm-lock.yaml +4240 -0
  93. package/templates/backend/src/features/health/health.test.ts +23 -0
  94. package/{template → templates/backend}/src/features/health/index.ts +1 -0
  95. package/templates/backend/src/features/health/schemas.ts +29 -0
  96. package/templates/backend/src/features/orders/controller.ts +18 -0
  97. package/templates/backend/src/features/orders/index.ts +10 -0
  98. package/templates/backend/src/features/orders/schemas.ts +62 -0
  99. package/{template → templates/backend}/src/index.ts +3 -36
  100. package/templates/backend/src/lib/openapi.ts +25 -0
  101. package/templates/backend/src/lib/validateRequest.test.ts +84 -0
  102. package/templates/backend/src/lib/validateRequest.ts +72 -0
  103. package/{template → templates/backend}/tsconfig.json +2 -2
  104. package/{template → templates/backend}/vitest.config.ts +8 -1
  105. package/templates/frontend/.env.example +7 -0
  106. package/templates/frontend/.github/agents/ /360/237/216/255 planner.agent.md" +92 -0
  107. package/templates/frontend/.github/agents/api-architect.agent.md +41 -0
  108. package/templates/frontend/.github/agents/code-reviewer.agent.md +26 -0
  109. package/templates/frontend/.github/agents/code-simplifier.agent.md +41 -0
  110. package/templates/frontend/.github/agents/code-skeptic.agent.md +74 -0
  111. package/templates/frontend/.github/agents/docs-specialist.agent.md +25 -0
  112. package/templates/frontend/.github/agents/implementation-plan.agent.md +160 -0
  113. package/templates/frontend/.github/agents/janitor.agent.md +90 -0
  114. package/templates/frontend/.github/agents/ms-sql-dba.agent.md +25 -0
  115. package/templates/frontend/.github/agents/plan.agent.md +115 -0
  116. package/templates/frontend/.github/agents/planner.agent.md +15 -0
  117. package/templates/frontend/.github/agents/playwright-tester.agent.md +13 -0
  118. package/templates/frontend/.github/agents/postgresql-dba.agent.md +18 -0
  119. package/templates/frontend/.github/agents/prd.agent.md +202 -0
  120. package/templates/frontend/.github/agents/research-technical-spike.agent.md +170 -0
  121. package/templates/frontend/.github/agents/software-engineer-agent-v1.agent.md +165 -0
  122. package/templates/frontend/.github/agents/task-planner.agent.md +375 -0
  123. package/templates/frontend/.github/agents/task-researcher.agent.md +255 -0
  124. package/templates/frontend/.github/agents/tdd-green.agent.md +60 -0
  125. package/templates/frontend/.github/agents/tdd-red.agent.md +60 -0
  126. package/templates/frontend/.github/agents/tdd-refactor.agent.md +85 -0
  127. package/templates/frontend/.github/agents/tech-debt-remediation-plan.agent.md +50 -0
  128. package/templates/frontend/.github/agents/typescript-mcp-expert.agent.md +91 -0
  129. package/templates/frontend/.github/agents/ultimate-thinking-beastmode.agent.md +644 -0
  130. package/templates/frontend/.github/agents//360/237/216/255 generator.agent.md" +264 -0
  131. package/templates/frontend/.github/agents//360/237/216/255 healer.agent.md" +44 -0
  132. package/templates/frontend/.github/agents//360/237/216/255 pom.agent.md" +308 -0
  133. package/templates/frontend/.github/instructions/a11y.instructions.md +369 -0
  134. package/templates/frontend/.github/instructions/ms-sql-dba.instructions.md +25 -0
  135. package/templates/frontend/.github/instructions/object-calisthenics.instructions.md +302 -0
  136. package/templates/frontend/.github/instructions/performance-optimization.instructions.md +420 -0
  137. package/templates/frontend/.github/instructions/playwright-python.instructions.md +62 -0
  138. package/templates/frontend/.github/instructions/playwright-typescript.instructions.md +86 -0
  139. package/templates/frontend/.github/instructions/security-and-owasp.instructions.md +51 -0
  140. package/templates/frontend/.github/instructions/self-explanatory-code-commenting.instructions.md +162 -0
  141. package/templates/frontend/.github/instructions/spec-driven-workflow-v1.instructions.md +323 -0
  142. package/templates/frontend/.github/instructions/sql-sp-generation.instructions.md +74 -0
  143. package/templates/frontend/.github/instructions/task-implementation.instructions.md +190 -0
  144. package/templates/frontend/.github/instructions/typescript-mcp-server.instructions.md +228 -0
  145. package/templates/frontend/.github/prompts/ai-prompt-engineering-safety-review.prompt.md +229 -0
  146. package/templates/frontend/.github/prompts/architecture-blueprint-generator.prompt.md +321 -0
  147. package/templates/frontend/.github/prompts/breakdown-epic-arch.prompt.md +65 -0
  148. package/templates/frontend/.github/prompts/breakdown-epic-pm.prompt.md +57 -0
  149. package/templates/frontend/.github/prompts/breakdown-feature-implementation.prompt.md +127 -0
  150. package/templates/frontend/.github/prompts/breakdown-feature-prd.prompt.md +60 -0
  151. package/templates/frontend/.github/prompts/breakdown-plan.prompt.md +508 -0
  152. package/templates/frontend/.github/prompts/copilot-instructions-blueprint-generator.prompt.md +293 -0
  153. package/templates/frontend/.github/prompts/create-agentsmd.prompt.md +248 -0
  154. package/templates/frontend/.github/prompts/create-github-issue-feature-from-specification.prompt.md +27 -0
  155. package/templates/frontend/.github/prompts/create-github-issues-feature-from-implementation-plan.prompt.md +27 -0
  156. package/templates/frontend/.github/prompts/create-github-issues-for-unmet-specification-requirements.prompt.md +35 -0
  157. package/templates/frontend/.github/prompts/create-implementation-plan.prompt.md +156 -0
  158. package/templates/frontend/.github/prompts/create-llms.prompt.md +209 -0
  159. package/templates/frontend/.github/prompts/create-specification.prompt.md +126 -0
  160. package/templates/frontend/.github/prompts/create-technical-spike.prompt.md +230 -0
  161. package/templates/frontend/.github/prompts/csharp-nunit.prompt.md +71 -0
  162. package/templates/frontend/.github/prompts/ef-core.prompt.md +76 -0
  163. package/templates/frontend/.github/prompts/folder-structure-blueprint-generator.prompt.md +404 -0
  164. package/templates/frontend/.github/prompts/gen-specs-as-issues.prompt.md +165 -0
  165. package/templates/frontend/.github/prompts/generate-custom-instructions-from-codebase.prompt.md +239 -0
  166. package/templates/frontend/.github/prompts/java-junit.prompt.md +64 -0
  167. package/templates/frontend/.github/prompts/memory-merger.prompt.md +107 -0
  168. package/templates/frontend/.github/prompts/multi-stage-dockerfile.prompt.md +46 -0
  169. package/templates/frontend/.github/prompts/playwright-automation-fill-in-form.prompt.md +29 -0
  170. package/templates/frontend/.github/prompts/playwright-explore-website.prompt.md +19 -0
  171. package/templates/frontend/.github/prompts/playwright-generate-test.prompt.md +19 -0
  172. package/templates/frontend/.github/prompts/postgresql-code-review.prompt.md +214 -0
  173. package/templates/frontend/.github/prompts/postgresql-optimization.prompt.md +406 -0
  174. package/templates/frontend/.github/prompts/project-workflow-analysis-blueprint-generator.prompt.md +294 -0
  175. package/templates/frontend/.github/prompts/prompt-builder.prompt.md +142 -0
  176. package/templates/frontend/.github/prompts/remember.prompt.md +125 -0
  177. package/templates/frontend/.github/prompts/review-and-refactor.prompt.md +15 -0
  178. package/templates/frontend/.github/prompts/sql-code-review.prompt.md +303 -0
  179. package/templates/frontend/.github/prompts/sql-optimization.prompt.md +298 -0
  180. package/templates/frontend/.github/prompts/suggest-awesome-github-copilot-agents.prompt.md +72 -0
  181. package/templates/frontend/.github/prompts/suggest-awesome-github-copilot-chatmodes.prompt.md +71 -0
  182. package/templates/frontend/.github/prompts/suggest-awesome-github-copilot-collections.prompt.md +149 -0
  183. package/templates/frontend/.github/prompts/suggest-awesome-github-copilot-instructions.prompt.md +88 -0
  184. package/templates/frontend/.github/prompts/suggest-awesome-github-copilot-prompts.prompt.md +71 -0
  185. package/templates/frontend/.github/prompts/technology-stack-blueprint-generator.prompt.md +242 -0
  186. package/templates/frontend/.github/prompts/typescript-mcp-server-generator.prompt.md +90 -0
  187. package/templates/frontend/.github/prompts/update-implementation-plan.prompt.md +157 -0
  188. package/templates/frontend/.github/prompts/update-markdown-file-index.prompt.md +76 -0
  189. package/templates/frontend/README.md +199 -0
  190. package/templates/frontend/biome.json +45 -0
  191. package/templates/frontend/components.json +22 -0
  192. package/templates/frontend/index.html +13 -0
  193. package/templates/frontend/package.json +44 -0
  194. package/templates/frontend/pnpm-lock.yaml +2011 -0
  195. package/templates/frontend/postcss.config.js +6 -0
  196. package/templates/frontend/public/vite.svg +1 -0
  197. package/templates/frontend/src/App.css +42 -0
  198. package/templates/frontend/src/App.tsx +17 -0
  199. package/templates/frontend/src/assets/react.svg +1 -0
  200. package/templates/frontend/src/components/layout/layout.component.tsx +31 -0
  201. package/templates/frontend/src/components/menu-toggle-icon.tsx +53 -0
  202. package/templates/frontend/src/components/ui/button.tsx +57 -0
  203. package/templates/frontend/src/docs/RECOMMENDED_LIBRARIES.md +226 -0
  204. package/templates/frontend/src/docs/SETUP_SUMMARY.md +162 -0
  205. package/templates/frontend/src/hooks/use-scroll.ts +21 -0
  206. package/templates/frontend/src/index.css +121 -0
  207. package/templates/frontend/src/lib/api-client.ts +46 -0
  208. package/templates/frontend/src/lib/utils.ts +6 -0
  209. package/templates/frontend/src/main.tsx +30 -0
  210. package/templates/frontend/src/pages/about/about.page.tsx +50 -0
  211. package/templates/frontend/src/pages/home/home.page.tsx +43 -0
  212. package/templates/frontend/tailwind.config.js +59 -0
  213. package/templates/frontend/tsconfig.app.json +41 -0
  214. package/templates/frontend/tsconfig.json +13 -0
  215. package/templates/frontend/tsconfig.node.json +26 -0
  216. package/templates/frontend/vite.config.ts +14 -0
  217. package/template/.env.example +0 -8
  218. package/template/AGENTS.md +0 -23
  219. package/template/ARCHITECTURE.md +0 -53
  220. package/template/ORDER_SYSTEM.md +0 -93
  221. package/template/biome.json +0 -3
  222. package/template/src/features/orders/controller.ts +0 -13
  223. package/template/src/features/orders/index.ts +0 -7
  224. /package/{template → templates/backend}/knip.json +0 -0
  225. /package/{template → templates/backend}/playwright.config.ts +0 -0
  226. /package/{template → templates/backend}/pnpm-workspace.yaml +0 -0
  227. /package/{template → templates/backend}/src/features/health/controller.ts +0 -0
  228. /package/{template → templates/backend}/tsconfig.build.json +0 -0
@@ -0,0 +1,230 @@
1
+ ---
2
+ description: 'Create time-boxed technical spike documents for researching and resolving critical development decisions before implementation.'
3
+ tools: ['runCommands', 'runTasks', 'edit', 'search', 'extensions', 'usages', 'vscodeAPI', 'think', 'problems', 'changes', 'testFailure', 'openSimpleBrowser', 'fetch', 'githubRepo', 'todos', 'Microsoft Docs', 'search']
4
+ ---
5
+
6
+ # Create Technical Spike Document
7
+
8
+ Create time-boxed technical spike documents for researching critical questions that must be answered before development can proceed. Each spike focuses on a specific technical decision with clear deliverables and timelines.
9
+
10
+ ## Document Structure
11
+
12
+ Create individual files in `${input:FolderPath|docs/spikes}` directory. Name each file using the pattern: `[category]-[short-description]-spike.md` (e.g., `api-copilot-integration-spike.md`, `performance-realtime-audio-spike.md`).
13
+
14
+ ```md
15
+ ---
16
+ title: "${input:SpikeTitle}"
17
+ category: "${input:Category|Technical}"
18
+ status: "🔴 Not Started"
19
+ priority: "${input:Priority|High}"
20
+ timebox: "${input:Timebox|1 week}"
21
+ created: [YYYY-MM-DD]
22
+ updated: [YYYY-MM-DD]
23
+ owner: "${input:Owner}"
24
+ tags: ["technical-spike", "${input:Category|technical}", "research"]
25
+ ---
26
+
27
+ # ${input:SpikeTitle}
28
+
29
+ ## Summary
30
+
31
+ **Spike Objective:** [Clear, specific question or decision that needs resolution]
32
+
33
+ **Why This Matters:** [Impact on development/architecture decisions]
34
+
35
+ **Timebox:** [How much time allocated to this spike]
36
+
37
+ **Decision Deadline:** [When this must be resolved to avoid blocking development]
38
+
39
+ ## Research Question(s)
40
+
41
+ **Primary Question:** [Main technical question that needs answering]
42
+
43
+ **Secondary Questions:**
44
+
45
+ - [Related question 1]
46
+ - [Related question 2]
47
+ - [Related question 3]
48
+
49
+ ## Investigation Plan
50
+
51
+ ### Research Tasks
52
+
53
+ - [ ] [Specific research task 1]
54
+ - [ ] [Specific research task 2]
55
+ - [ ] [Specific research task 3]
56
+ - [ ] [Create proof of concept/prototype]
57
+ - [ ] [Document findings and recommendations]
58
+
59
+ ### Success Criteria
60
+
61
+ **This spike is complete when:**
62
+
63
+ - [ ] [Specific criteria 1]
64
+ - [ ] [Specific criteria 2]
65
+ - [ ] [Clear recommendation documented]
66
+ - [ ] [Proof of concept completed (if applicable)]
67
+
68
+ ## Technical Context
69
+
70
+ **Related Components:** [List system components affected by this decision]
71
+
72
+ **Dependencies:** [What other spikes or decisions depend on resolving this]
73
+
74
+ **Constraints:** [Known limitations or requirements that affect the solution]
75
+
76
+ ## Research Findings
77
+
78
+ ### Investigation Results
79
+
80
+ [Document research findings, test results, and evidence gathered]
81
+
82
+ ### Prototype/Testing Notes
83
+
84
+ [Results from any prototypes, spikes, or technical experiments]
85
+
86
+ ### External Resources
87
+
88
+ - [Link to relevant documentation]
89
+ - [Link to API references]
90
+ - [Link to community discussions]
91
+ - [Link to examples/tutorials]
92
+
93
+ ## Decision
94
+
95
+ ### Recommendation
96
+
97
+ [Clear recommendation based on research findings]
98
+
99
+ ### Rationale
100
+
101
+ [Why this approach was chosen over alternatives]
102
+
103
+ ### Implementation Notes
104
+
105
+ [Key considerations for implementation]
106
+
107
+ ### Follow-up Actions
108
+
109
+ - [ ] [Action item 1]
110
+ - [ ] [Action item 2]
111
+ - [ ] [Update architecture documents]
112
+ - [ ] [Create implementation tasks]
113
+
114
+ ## Status History
115
+
116
+ | Date | Status | Notes |
117
+ | ------ | -------------- | -------------------------- |
118
+ | [Date] | 🔴 Not Started | Spike created and scoped |
119
+ | [Date] | 🟡 In Progress | Research commenced |
120
+ | [Date] | 🟢 Complete | [Resolution summary] |
121
+
122
+ ---
123
+
124
+ _Last updated: [Date] by [Name]_
125
+ ```
126
+
127
+ ## Categories for Technical Spikes
128
+
129
+ ### API Integration
130
+
131
+ - Third-party API capabilities and limitations
132
+ - Integration patterns and authentication
133
+ - Rate limits and performance characteristics
134
+
135
+ ### Architecture & Design
136
+
137
+ - System architecture decisions
138
+ - Design pattern applicability
139
+ - Component interaction models
140
+
141
+ ### Performance & Scalability
142
+
143
+ - Performance requirements and constraints
144
+ - Scalability bottlenecks and solutions
145
+ - Resource utilization patterns
146
+
147
+ ### Platform & Infrastructure
148
+
149
+ - Platform capabilities and limitations
150
+ - Infrastructure requirements
151
+ - Deployment and hosting considerations
152
+
153
+ ### Security & Compliance
154
+
155
+ - Security requirements and implementations
156
+ - Compliance constraints
157
+ - Authentication and authorization approaches
158
+
159
+ ### User Experience
160
+
161
+ - User interaction patterns
162
+ - Accessibility requirements
163
+ - Interface design decisions
164
+
165
+ ## File Naming Conventions
166
+
167
+ Use descriptive, kebab-case names that indicate the category and specific unknown:
168
+
169
+ **API/Integration Examples:**
170
+
171
+ - `api-copilot-chat-integration-spike.md`
172
+ - `api-azure-speech-realtime-spike.md`
173
+ - `api-vscode-extension-capabilities-spike.md`
174
+
175
+ **Performance Examples:**
176
+
177
+ - `performance-audio-processing-latency-spike.md`
178
+ - `performance-extension-host-limitations-spike.md`
179
+ - `performance-webrtc-reliability-spike.md`
180
+
181
+ **Architecture Examples:**
182
+
183
+ - `architecture-voice-pipeline-design-spike.md`
184
+ - `architecture-state-management-spike.md`
185
+ - `architecture-error-handling-strategy-spike.md`
186
+
187
+ ## Best Practices for AI Agents
188
+
189
+ 1. **One Question Per Spike:** Each document focuses on a single technical decision or research question
190
+
191
+ 2. **Time-Boxed Research:** Define specific time limits and deliverables for each spike
192
+
193
+ 3. **Evidence-Based Decisions:** Require concrete evidence (tests, prototypes, documentation) before marking as complete
194
+
195
+ 4. **Clear Recommendations:** Document specific recommendations and rationale for implementation
196
+
197
+ 5. **Dependency Tracking:** Identify how spikes relate to each other and impact project decisions
198
+
199
+ 6. **Outcome-Focused:** Every spike must result in an actionable decision or recommendation
200
+
201
+ ## Research Strategy
202
+
203
+ ### Phase 1: Information Gathering
204
+
205
+ 1. **Search existing documentation** using search/fetch tools
206
+ 2. **Analyze codebase** for existing patterns and constraints
207
+ 3. **Research external resources** (APIs, libraries, examples)
208
+
209
+ ### Phase 2: Validation & Testing
210
+
211
+ 1. **Create focused prototypes** to test specific hypotheses
212
+ 2. **Run targeted experiments** to validate assumptions
213
+ 3. **Document test results** with supporting evidence
214
+
215
+ ### Phase 3: Decision & Documentation
216
+
217
+ 1. **Synthesize findings** into clear recommendations
218
+ 2. **Document implementation guidance** for development team
219
+ 3. **Create follow-up tasks** for implementation
220
+
221
+ ## Tools Usage
222
+
223
+ - **search/searchResults:** Research existing solutions and documentation
224
+ - **fetch/githubRepo:** Analyze external APIs, libraries, and examples
225
+ - **codebase:** Understand existing system constraints and patterns
226
+ - **runTasks:** Execute prototypes and validation tests
227
+ - **editFiles:** Update research progress and findings
228
+ - **vscodeAPI:** Test VS Code extension capabilities and limitations
229
+
230
+ Focus on time-boxed research that resolves critical technical decisions and unblocks development progress.
@@ -0,0 +1,71 @@
1
+ ---
2
+ tools: ['changes', 'search/codebase', 'edit/editFiles', 'problems', 'search']
3
+ description: 'Get best practices for NUnit unit testing, including data-driven tests'
4
+ ---
5
+
6
+ # NUnit Best Practices
7
+
8
+ Your goal is to help me write effective unit tests with NUnit, covering both standard and data-driven testing approaches.
9
+
10
+ ## Project Setup
11
+
12
+ - Use a separate test project with naming convention `[ProjectName].Tests`
13
+ - Reference Microsoft.NET.Test.Sdk, NUnit, and NUnit3TestAdapter packages
14
+ - Create test classes that match the classes being tested (e.g., `CalculatorTests` for `Calculator`)
15
+ - Use .NET SDK test commands: `dotnet test` for running tests
16
+
17
+ ## Test Structure
18
+
19
+ - Apply `[TestFixture]` attribute to test classes
20
+ - Use `[Test]` attribute for test methods
21
+ - Follow the Arrange-Act-Assert (AAA) pattern
22
+ - Name tests using the pattern `MethodName_Scenario_ExpectedBehavior`
23
+ - Use `[SetUp]` and `[TearDown]` for per-test setup and teardown
24
+ - Use `[OneTimeSetUp]` and `[OneTimeTearDown]` for per-class setup and teardown
25
+ - Use `[SetUpFixture]` for assembly-level setup and teardown
26
+
27
+ ## Standard Tests
28
+
29
+ - Keep tests focused on a single behavior
30
+ - Avoid testing multiple behaviors in one test method
31
+ - Use clear assertions that express intent
32
+ - Include only the assertions needed to verify the test case
33
+ - Make tests independent and idempotent (can run in any order)
34
+ - Avoid test interdependencies
35
+
36
+ ## Data-Driven Tests
37
+
38
+ - Use `[TestCase]` for inline test data
39
+ - Use `[TestCaseSource]` for programmatically generated test data
40
+ - Use `[Values]` for simple parameter combinations
41
+ - Use `[ValueSource]` for property or method-based data sources
42
+ - Use `[Random]` for random numeric test values
43
+ - Use `[Range]` for sequential numeric test values
44
+ - Use `[Combinatorial]` or `[Pairwise]` for combining multiple parameters
45
+
46
+ ## Assertions
47
+
48
+ - Use `Assert.That` with constraint model (preferred NUnit style)
49
+ - Use constraints like `Is.EqualTo`, `Is.SameAs`, `Contains.Item`
50
+ - Use `Assert.AreEqual` for simple value equality (classic style)
51
+ - Use `CollectionAssert` for collection comparisons
52
+ - Use `StringAssert` for string-specific assertions
53
+ - Use `Assert.Throws<T>` or `Assert.ThrowsAsync<T>` to test exceptions
54
+ - Use descriptive messages in assertions for clarity on failure
55
+
56
+ ## Mocking and Isolation
57
+
58
+ - Consider using Moq or NSubstitute alongside NUnit
59
+ - Mock dependencies to isolate units under test
60
+ - Use interfaces to facilitate mocking
61
+ - Consider using a DI container for complex test setups
62
+
63
+ ## Test Organization
64
+
65
+ - Group tests by feature or component
66
+ - Use categories with `[Category("CategoryName")]`
67
+ - Use `[Order]` to control test execution order when necessary
68
+ - Use `[Author("DeveloperName")]` to indicate ownership
69
+ - Use `[Description]` to provide additional test information
70
+ - Consider `[Explicit]` for tests that shouldn't run automatically
71
+ - Use `[Ignore("Reason")]` to temporarily skip tests
@@ -0,0 +1,76 @@
1
+ ---
2
+ mode: 'agent'
3
+ tools: ['changes', 'search/codebase', 'edit/editFiles', 'problems', 'runCommands']
4
+ description: 'Get best practices for Entity Framework Core'
5
+ ---
6
+
7
+ # Entity Framework Core Best Practices
8
+
9
+ Your goal is to help me follow best practices when working with Entity Framework Core.
10
+
11
+ ## Data Context Design
12
+
13
+ - Keep DbContext classes focused and cohesive
14
+ - Use constructor injection for configuration options
15
+ - Override OnModelCreating for fluent API configuration
16
+ - Separate entity configurations using IEntityTypeConfiguration
17
+ - Consider using DbContextFactory pattern for console apps or tests
18
+
19
+ ## Entity Design
20
+
21
+ - Use meaningful primary keys (consider natural vs surrogate keys)
22
+ - Implement proper relationships (one-to-one, one-to-many, many-to-many)
23
+ - Use data annotations or fluent API for constraints and validations
24
+ - Implement appropriate navigational properties
25
+ - Consider using owned entity types for value objects
26
+
27
+ ## Performance
28
+
29
+ - Use AsNoTracking() for read-only queries
30
+ - Implement pagination for large result sets with Skip() and Take()
31
+ - Use Include() to eager load related entities when needed
32
+ - Consider projection (Select) to retrieve only required fields
33
+ - Use compiled queries for frequently executed queries
34
+ - Avoid N+1 query problems by properly including related data
35
+
36
+ ## Migrations
37
+
38
+ - Create small, focused migrations
39
+ - Name migrations descriptively
40
+ - Verify migration SQL scripts before applying to production
41
+ - Consider using migration bundles for deployment
42
+ - Add data seeding through migrations when appropriate
43
+
44
+ ## Querying
45
+
46
+ - Use IQueryable judiciously and understand when queries execute
47
+ - Prefer strongly-typed LINQ queries over raw SQL
48
+ - Use appropriate query operators (Where, OrderBy, GroupBy)
49
+ - Consider database functions for complex operations
50
+ - Implement specifications pattern for reusable queries
51
+
52
+ ## Change Tracking & Saving
53
+
54
+ - Use appropriate change tracking strategies
55
+ - Batch your SaveChanges() calls
56
+ - Implement concurrency control for multi-user scenarios
57
+ - Consider using transactions for multiple operations
58
+ - Use appropriate DbContext lifetimes (scoped for web apps)
59
+
60
+ ## Security
61
+
62
+ - Avoid SQL injection by using parameterized queries
63
+ - Implement appropriate data access permissions
64
+ - Be careful with raw SQL queries
65
+ - Consider data encryption for sensitive information
66
+ - Use migrations to manage database user permissions
67
+
68
+ ## Testing
69
+
70
+ - Use in-memory database provider for unit tests
71
+ - Create separate testing contexts with SQLite for integration tests
72
+ - Mock DbContext and DbSet for pure unit tests
73
+ - Test migrations in isolated environments
74
+ - Consider snapshot testing for model changes
75
+
76
+ When reviewing my EF Core code, identify issues and suggest improvements that follow these best practices.