workspace-architect 1.3.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.
Files changed (354) hide show
  1. package/.env.example +1 -0
  2. package/.gitattributes +1 -0
  3. package/.github/workflows/manual-publish.yml +36 -0
  4. package/.github/workflows/sync-and-publish.yml +58 -0
  5. package/.release-it.json +20 -0
  6. package/CHANGELOG.md +43 -0
  7. package/README.md +62 -0
  8. package/assets/chatmodes/4.1-Beast.chatmode.md +152 -0
  9. package/assets/chatmodes/Thinking-Beast-Mode.chatmode.md +337 -0
  10. package/assets/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +644 -0
  11. package/assets/chatmodes/accessibility.chatmode.md +298 -0
  12. package/assets/chatmodes/address-comments.chatmode.md +59 -0
  13. package/assets/chatmodes/aem-frontend-specialist.chatmode.md +385 -0
  14. package/assets/chatmodes/api-architect.chatmode.md +40 -0
  15. package/assets/chatmodes/atlassian-requirements-to-jira.chatmode.md +444 -0
  16. package/assets/chatmodes/azure-logic-apps-expert.chatmode.md +100 -0
  17. package/assets/chatmodes/azure-principal-architect.chatmode.md +58 -0
  18. package/assets/chatmodes/azure-saas-architect.chatmode.md +118 -0
  19. package/assets/chatmodes/azure-verified-modules-bicep.chatmode.md +44 -0
  20. package/assets/chatmodes/azure-verified-modules-terraform.chatmode.md +58 -0
  21. package/assets/chatmodes/bicep-implement.chatmode.md +40 -0
  22. package/assets/chatmodes/bicep-plan.chatmode.md +112 -0
  23. package/assets/chatmodes/blueprint-mode-codex.chatmode.md +110 -0
  24. package/assets/chatmodes/blueprint-mode.chatmode.md +171 -0
  25. package/assets/chatmodes/clojure-interactive-programming.chatmode.md +174 -0
  26. package/assets/chatmodes/code-tour.chatmode.md +205 -0
  27. package/assets/chatmodes/critical-thinking.chatmode.md +23 -0
  28. package/assets/chatmodes/csharp-dotnet-janitor.chatmode.md +83 -0
  29. package/assets/chatmodes/csharp-mcp-expert.chatmode.md +69 -0
  30. package/assets/chatmodes/debug.chatmode.md +79 -0
  31. package/assets/chatmodes/declarative-agents-architect.chatmode.md +76 -0
  32. package/assets/chatmodes/demonstrate-understanding.chatmode.md +60 -0
  33. package/assets/chatmodes/dotnet-upgrade.chatmode.md +222 -0
  34. package/assets/chatmodes/drupal-expert.chatmode.md +687 -0
  35. package/assets/chatmodes/electron-angular-native.chatmode.md +285 -0
  36. package/assets/chatmodes/expert-cpp-software-engineer.chatmode.md +27 -0
  37. package/assets/chatmodes/expert-dotnet-software-engineer.chatmode.md +22 -0
  38. package/assets/chatmodes/expert-nextjs-developer.chatmode.md +477 -0
  39. package/assets/chatmodes/expert-react-frontend-engineer.chatmode.md +738 -0
  40. package/assets/chatmodes/gilfoyle.chatmode.md +66 -0
  41. package/assets/chatmodes/go-mcp-expert.chatmode.md +122 -0
  42. package/assets/chatmodes/gpt-5-beast-mode.chatmode.md +109 -0
  43. package/assets/chatmodes/hlbpa.chatmode.md +232 -0
  44. package/assets/chatmodes/implementation-plan.chatmode.md +159 -0
  45. package/assets/chatmodes/janitor.chatmode.md +89 -0
  46. package/assets/chatmodes/java-mcp-expert.chatmode.md +325 -0
  47. package/assets/chatmodes/kotlin-mcp-expert.chatmode.md +181 -0
  48. package/assets/chatmodes/kusto-assistant.chatmode.md +143 -0
  49. package/assets/chatmodes/laravel-expert-agent.chatmode.md +628 -0
  50. package/assets/chatmodes/mentor.chatmode.md +32 -0
  51. package/assets/chatmodes/meta-agentic-project-scaffold.chatmode.md +15 -0
  52. package/assets/chatmodes/microsoft-agent-framework-dotnet.chatmode.md +62 -0
  53. package/assets/chatmodes/microsoft-agent-framework-python.chatmode.md +62 -0
  54. package/assets/chatmodes/microsoft-study-mode.chatmode.md +32 -0
  55. package/assets/chatmodes/microsoft_learn_contributor.chatmode.md +388 -0
  56. package/assets/chatmodes/ms-sql-dba.chatmode.md +25 -0
  57. package/assets/chatmodes/php-mcp-expert.chatmode.md +498 -0
  58. package/assets/chatmodes/pimcore-expert.chatmode.md +869 -0
  59. package/assets/chatmodes/plan.chatmode.md +114 -0
  60. package/assets/chatmodes/planner.chatmode.md +14 -0
  61. package/assets/chatmodes/playwright-tester.chatmode.md +13 -0
  62. package/assets/chatmodes/postgresql-dba.chatmode.md +17 -0
  63. package/assets/chatmodes/power-bi-data-modeling-expert.chatmode.md +319 -0
  64. package/assets/chatmodes/power-bi-dax-expert.chatmode.md +334 -0
  65. package/assets/chatmodes/power-bi-performance-expert.chatmode.md +533 -0
  66. package/assets/chatmodes/power-bi-visualization-expert.chatmode.md +549 -0
  67. package/assets/chatmodes/power-platform-expert.chatmode.md +116 -0
  68. package/assets/chatmodes/power-platform-mcp-integration-expert.chatmode.md +149 -0
  69. package/assets/chatmodes/prd.chatmode.md +201 -0
  70. package/assets/chatmodes/principal-software-engineer.chatmode.md +41 -0
  71. package/assets/chatmodes/prompt-builder.chatmode.md +352 -0
  72. package/assets/chatmodes/prompt-engineer.chatmode.md +72 -0
  73. package/assets/chatmodes/python-mcp-expert.chatmode.md +99 -0
  74. package/assets/chatmodes/refine-issue.chatmode.md +34 -0
  75. package/assets/chatmodes/research-technical-spike.chatmode.md +169 -0
  76. package/assets/chatmodes/ruby-mcp-expert.chatmode.md +346 -0
  77. package/assets/chatmodes/rust-gpt-4.1-beast-mode.chatmode.md +197 -0
  78. package/assets/chatmodes/rust-mcp-expert.chatmode.md +465 -0
  79. package/assets/chatmodes/search-ai-optimization-expert.chatmode.md +227 -0
  80. package/assets/chatmodes/semantic-kernel-dotnet.chatmode.md +31 -0
  81. package/assets/chatmodes/semantic-kernel-python.chatmode.md +28 -0
  82. package/assets/chatmodes/shopify-expert.chatmode.md +681 -0
  83. package/assets/chatmodes/simple-app-idea-generator.chatmode.md +134 -0
  84. package/assets/chatmodes/software-engineer-agent-v1.chatmode.md +164 -0
  85. package/assets/chatmodes/specification.chatmode.md +127 -0
  86. package/assets/chatmodes/swift-mcp-expert.chatmode.md +240 -0
  87. package/assets/chatmodes/task-planner.chatmode.md +374 -0
  88. package/assets/chatmodes/task-researcher.chatmode.md +254 -0
  89. package/assets/chatmodes/tdd-green.chatmode.md +59 -0
  90. package/assets/chatmodes/tdd-red.chatmode.md +59 -0
  91. package/assets/chatmodes/tdd-refactor.chatmode.md +84 -0
  92. package/assets/chatmodes/tech-debt-remediation-plan.chatmode.md +49 -0
  93. package/assets/chatmodes/terraform-azure-implement.chatmode.md +104 -0
  94. package/assets/chatmodes/terraform-azure-planning.chatmode.md +157 -0
  95. package/assets/chatmodes/typescript-mcp-expert.chatmode.md +91 -0
  96. package/assets/chatmodes/voidbeast-gpt41enhanced.chatmode.md +230 -0
  97. package/assets/chatmodes/wg-code-alchemist.chatmode.md +61 -0
  98. package/assets/chatmodes/wg-code-sentinel.chatmode.md +55 -0
  99. package/assets/collections/ai-prompt-engineering.json +18 -0
  100. package/assets/collections/angular-development.json +7 -0
  101. package/assets/collections/azure-cloud-architect.json +29 -0
  102. package/assets/collections/cpp-development.json +6 -0
  103. package/assets/collections/database-administration.json +8 -0
  104. package/assets/collections/devops-sre.json +11 -0
  105. package/assets/collections/dotnet-development.json +22 -0
  106. package/assets/collections/general-productivity.json +9 -0
  107. package/assets/collections/go-development.json +7 -0
  108. package/assets/collections/java-spring-developer.json +26 -0
  109. package/assets/collections/learning-mentoring.json +10 -0
  110. package/assets/collections/legacy-migration.json +4 -0
  111. package/assets/collections/mcp-specialist.json +41 -0
  112. package/assets/collections/mobile-development.json +4 -0
  113. package/assets/collections/php-cms-development.json +11 -0
  114. package/assets/collections/power-platform-specialist.json +31 -0
  115. package/assets/collections/project-management.json +12 -0
  116. package/assets/collections/python-development.json +13 -0
  117. package/assets/collections/quality-assurance.json +13 -0
  118. package/assets/collections/ruby-development.json +9 -0
  119. package/assets/collections/rust-development.json +10 -0
  120. package/assets/collections/security-specialist.json +8 -0
  121. package/assets/collections/software-architect.json +25 -0
  122. package/assets/collections/technical-writing.json +9 -0
  123. package/assets/collections/web-frontend-development.json +14 -0
  124. package/assets/instructions/a11y.instructions.md +369 -0
  125. package/assets/instructions/ai-prompt-engineering-safety-best-practices.instructions.md +867 -0
  126. package/assets/instructions/angular.instructions.md +104 -0
  127. package/assets/instructions/ansible.instructions.md +88 -0
  128. package/assets/instructions/aspnet-rest-apis.instructions.md +110 -0
  129. package/assets/instructions/astro.instructions.md +182 -0
  130. package/assets/instructions/azure-devops-pipelines.instructions.md +185 -0
  131. package/assets/instructions/azure-functions-typescript.instructions.md +14 -0
  132. package/assets/instructions/azure-logic-apps-power-automate.instructions.md +1943 -0
  133. package/assets/instructions/azure-verified-modules-terraform.instructions.md +229 -0
  134. package/assets/instructions/bicep-code-best-practices.instructions.md +54 -0
  135. package/assets/instructions/blazor.instructions.md +77 -0
  136. package/assets/instructions/clojure.instructions.md +349 -0
  137. package/assets/instructions/cmake-vcpkg.instructions.md +10 -0
  138. package/assets/instructions/codexer.instructions.md +428 -0
  139. package/assets/instructions/coldfusion-cfc.instructions.md +30 -0
  140. package/assets/instructions/coldfusion-cfm.instructions.md +28 -0
  141. package/assets/instructions/collections.instructions.md +54 -0
  142. package/assets/instructions/containerization-docker-best-practices.instructions.md +681 -0
  143. package/assets/instructions/convert-jpa-to-spring-data-cosmos.instructions.md +949 -0
  144. package/assets/instructions/copilot-thought-logging.instructions.md +62 -0
  145. package/assets/instructions/csharp-ja.instructions.md +114 -0
  146. package/assets/instructions/csharp-ko.instructions.md +77 -0
  147. package/assets/instructions/csharp-mcp-server.instructions.md +95 -0
  148. package/assets/instructions/csharp.instructions.md +114 -0
  149. package/assets/instructions/dart-n-flutter.instructions.md +447 -0
  150. package/assets/instructions/declarative-agents-microsoft365.instructions.md +316 -0
  151. package/assets/instructions/devbox-image-definition.instructions.md +302 -0
  152. package/assets/instructions/devops-core-principles.instructions.md +167 -0
  153. package/assets/instructions/dotnet-architecture-good-practices.instructions.md +279 -0
  154. package/assets/instructions/dotnet-framework.instructions.md +113 -0
  155. package/assets/instructions/dotnet-maui-9-to-dotnet-maui-10-upgrade.instructions.md +1922 -0
  156. package/assets/instructions/dotnet-maui.instructions.md +69 -0
  157. package/assets/instructions/dotnet-upgrade.instructions.md +287 -0
  158. package/assets/instructions/dotnet-wpf.instructions.md +79 -0
  159. package/assets/instructions/genaiscript.instructions.md +21 -0
  160. package/assets/instructions/generate-modern-terraform-code-for-azure.instructions.md +82 -0
  161. package/assets/instructions/gilfoyle-code-review.instructions.md +114 -0
  162. package/assets/instructions/github-actions-ci-cd-best-practices.instructions.md +607 -0
  163. package/assets/instructions/go-mcp-server.instructions.md +346 -0
  164. package/assets/instructions/go.instructions.md +373 -0
  165. package/assets/instructions/instructions.instructions.md +256 -0
  166. package/assets/instructions/java-11-to-java-17-upgrade.instructions.md +793 -0
  167. package/assets/instructions/java-17-to-java-21-upgrade.instructions.md +464 -0
  168. package/assets/instructions/java-21-to-java-25-upgrade.instructions.md +311 -0
  169. package/assets/instructions/java-mcp-server.instructions.md +553 -0
  170. package/assets/instructions/java.instructions.md +81 -0
  171. package/assets/instructions/joyride-user-project.instructions.md +206 -0
  172. package/assets/instructions/joyride-workspace-automation.instructions.md +46 -0
  173. package/assets/instructions/kotlin-mcp-server.instructions.md +481 -0
  174. package/assets/instructions/kubernetes-deployment-best-practices.instructions.md +307 -0
  175. package/assets/instructions/langchain-python.instructions.md +229 -0
  176. package/assets/instructions/localization.instructions.md +39 -0
  177. package/assets/instructions/makefile.instructions.md +410 -0
  178. package/assets/instructions/markdown.instructions.md +52 -0
  179. package/assets/instructions/memory-bank.instructions.md +299 -0
  180. package/assets/instructions/mongo-dba.instructions.md +25 -0
  181. package/assets/instructions/ms-sql-dba.instructions.md +25 -0
  182. package/assets/instructions/nestjs.instructions.md +406 -0
  183. package/assets/instructions/nextjs-tailwind.instructions.md +72 -0
  184. package/assets/instructions/nextjs.instructions.md +143 -0
  185. package/assets/instructions/nodejs-javascript-vitest.instructions.md +30 -0
  186. package/assets/instructions/object-calisthenics.instructions.md +302 -0
  187. package/assets/instructions/oqtane.instructions.md +86 -0
  188. package/assets/instructions/performance-optimization.instructions.md +420 -0
  189. package/assets/instructions/php-mcp-server.instructions.md +809 -0
  190. package/assets/instructions/playwright-dotnet.instructions.md +101 -0
  191. package/assets/instructions/playwright-python.instructions.md +62 -0
  192. package/assets/instructions/playwright-typescript.instructions.md +86 -0
  193. package/assets/instructions/power-apps-canvas-yaml.instructions.md +827 -0
  194. package/assets/instructions/power-apps-code-apps.instructions.md +601 -0
  195. package/assets/instructions/power-bi-custom-visuals-development.instructions.md +810 -0
  196. package/assets/instructions/power-bi-data-modeling-best-practices.instructions.md +639 -0
  197. package/assets/instructions/power-bi-dax-best-practices.instructions.md +795 -0
  198. package/assets/instructions/power-bi-devops-alm-best-practices.instructions.md +623 -0
  199. package/assets/instructions/power-bi-report-design-best-practices.instructions.md +752 -0
  200. package/assets/instructions/power-bi-security-rls-best-practices.instructions.md +504 -0
  201. package/assets/instructions/power-platform-connector.instructions.md +430 -0
  202. package/assets/instructions/power-platform-mcp-development.instructions.md +88 -0
  203. package/assets/instructions/powershell-pester-5.instructions.md +197 -0
  204. package/assets/instructions/powershell.instructions.md +356 -0
  205. package/assets/instructions/prompt.instructions.md +73 -0
  206. package/assets/instructions/python-mcp-server.instructions.md +204 -0
  207. package/assets/instructions/python.instructions.md +56 -0
  208. package/assets/instructions/quarkus-mcp-server-sse.instructions.md +49 -0
  209. package/assets/instructions/quarkus.instructions.md +98 -0
  210. package/assets/instructions/r.instructions.md +116 -0
  211. package/assets/instructions/reactjs.instructions.md +162 -0
  212. package/assets/instructions/ruby-mcp-server.instructions.md +629 -0
  213. package/assets/instructions/ruby-on-rails.instructions.md +124 -0
  214. package/assets/instructions/rust-mcp-server.instructions.md +715 -0
  215. package/assets/instructions/rust.instructions.md +135 -0
  216. package/assets/instructions/security-and-owasp.instructions.md +51 -0
  217. package/assets/instructions/self-explanatory-code-commenting.instructions.md +162 -0
  218. package/assets/instructions/shell.instructions.md +132 -0
  219. package/assets/instructions/spec-driven-workflow-v1.instructions.md +323 -0
  220. package/assets/instructions/springboot.instructions.md +68 -0
  221. package/assets/instructions/sql-sp-generation.instructions.md +74 -0
  222. package/assets/instructions/svelte.instructions.md +161 -0
  223. package/assets/instructions/swift-mcp-server.instructions.md +498 -0
  224. package/assets/instructions/taming-copilot.instructions.md +40 -0
  225. package/assets/instructions/tanstack-start-shadcn-tailwind.instructions.md +212 -0
  226. package/assets/instructions/task-implementation.instructions.md +190 -0
  227. package/assets/instructions/tasksync.instructions.md +352 -0
  228. package/assets/instructions/terraform-azure.instructions.md +254 -0
  229. package/assets/instructions/terraform-sap-btp.instructions.md +195 -0
  230. package/assets/instructions/terraform.instructions.md +113 -0
  231. package/assets/instructions/typescript-5-es2022.instructions.md +114 -0
  232. package/assets/instructions/typescript-mcp-server.instructions.md +228 -0
  233. package/assets/instructions/update-code-from-shorthand.instructions.md +130 -0
  234. package/assets/instructions/vuejs3.instructions.md +153 -0
  235. package/assets/instructions/wordpress.instructions.md +186 -0
  236. package/assets/prompts/add-educational-comments.prompt.md +129 -0
  237. package/assets/prompts/ai-prompt-engineering-safety-review.prompt.md +230 -0
  238. package/assets/prompts/architecture-blueprint-generator.prompt.md +322 -0
  239. package/assets/prompts/aspnet-minimal-api-openapi.prompt.md +42 -0
  240. package/assets/prompts/az-cost-optimize.prompt.md +305 -0
  241. package/assets/prompts/azure-resource-health-diagnose.prompt.md +290 -0
  242. package/assets/prompts/boost-prompt.prompt.md +25 -0
  243. package/assets/prompts/breakdown-epic-arch.prompt.md +66 -0
  244. package/assets/prompts/breakdown-epic-pm.prompt.md +58 -0
  245. package/assets/prompts/breakdown-feature-implementation.prompt.md +128 -0
  246. package/assets/prompts/breakdown-feature-prd.prompt.md +61 -0
  247. package/assets/prompts/breakdown-plan.prompt.md +509 -0
  248. package/assets/prompts/breakdown-test.prompt.md +365 -0
  249. package/assets/prompts/code-exemplars-blueprint-generator.prompt.md +126 -0
  250. package/assets/prompts/comment-code-generate-a-tutorial.prompt.md +26 -0
  251. package/assets/prompts/containerize-aspnet-framework.prompt.md +455 -0
  252. package/assets/prompts/containerize-aspnetcore.prompt.md +393 -0
  253. package/assets/prompts/conventional-commit.prompt.md +73 -0
  254. package/assets/prompts/copilot-instructions-blueprint-generator.prompt.md +294 -0
  255. package/assets/prompts/cosmosdb-datamodeling.prompt.md +1045 -0
  256. package/assets/prompts/create-agentsmd.prompt.md +249 -0
  257. package/assets/prompts/create-architectural-decision-record.prompt.md +97 -0
  258. package/assets/prompts/create-github-action-workflow-specification.prompt.md +276 -0
  259. package/assets/prompts/create-github-issue-feature-from-specification.prompt.md +28 -0
  260. package/assets/prompts/create-github-issues-feature-from-implementation-plan.prompt.md +28 -0
  261. package/assets/prompts/create-github-issues-for-unmet-specification-requirements.prompt.md +35 -0
  262. package/assets/prompts/create-github-pull-request-from-specification.prompt.md +24 -0
  263. package/assets/prompts/create-implementation-plan.prompt.md +157 -0
  264. package/assets/prompts/create-llms.prompt.md +210 -0
  265. package/assets/prompts/create-oo-component-documentation.prompt.md +193 -0
  266. package/assets/prompts/create-readme.prompt.md +21 -0
  267. package/assets/prompts/create-specification.prompt.md +127 -0
  268. package/assets/prompts/create-spring-boot-java-project.prompt.md +163 -0
  269. package/assets/prompts/create-spring-boot-kotlin-project.prompt.md +147 -0
  270. package/assets/prompts/create-technical-spike.prompt.md +231 -0
  271. package/assets/prompts/csharp-async.prompt.md +50 -0
  272. package/assets/prompts/csharp-docs.prompt.md +63 -0
  273. package/assets/prompts/csharp-mcp-server-generator.prompt.md +59 -0
  274. package/assets/prompts/csharp-mstest.prompt.md +67 -0
  275. package/assets/prompts/csharp-nunit.prompt.md +72 -0
  276. package/assets/prompts/csharp-tunit.prompt.md +101 -0
  277. package/assets/prompts/csharp-xunit.prompt.md +69 -0
  278. package/assets/prompts/declarative-agents.prompt.md +93 -0
  279. package/assets/prompts/documentation-writer.prompt.md +46 -0
  280. package/assets/prompts/dotnet-best-practices.prompt.md +84 -0
  281. package/assets/prompts/dotnet-design-pattern-review.prompt.md +41 -0
  282. package/assets/prompts/dotnet-upgrade.prompt.md +116 -0
  283. package/assets/prompts/editorconfig.prompt.md +64 -0
  284. package/assets/prompts/ef-core.prompt.md +76 -0
  285. package/assets/prompts/finalize-agent-prompt.prompt.md +27 -0
  286. package/assets/prompts/first-ask.prompt.md +29 -0
  287. package/assets/prompts/folder-structure-blueprint-generator.prompt.md +405 -0
  288. package/assets/prompts/gen-specs-as-issues.prompt.md +165 -0
  289. package/assets/prompts/generate-custom-instructions-from-codebase.prompt.md +240 -0
  290. package/assets/prompts/git-flow-branch-creator.prompt.md +293 -0
  291. package/assets/prompts/github-copilot-starter.prompt.md +372 -0
  292. package/assets/prompts/go-mcp-server-generator.prompt.md +334 -0
  293. package/assets/prompts/java-docs.prompt.md +24 -0
  294. package/assets/prompts/java-junit.prompt.md +64 -0
  295. package/assets/prompts/java-mcp-server-generator.prompt.md +756 -0
  296. package/assets/prompts/java-refactoring-extract-method.prompt.md +105 -0
  297. package/assets/prompts/java-refactoring-remove-parameter.prompt.md +85 -0
  298. package/assets/prompts/java-springboot.prompt.md +66 -0
  299. package/assets/prompts/javascript-typescript-jest.prompt.md +44 -0
  300. package/assets/prompts/kotlin-mcp-server-generator.prompt.md +449 -0
  301. package/assets/prompts/kotlin-springboot.prompt.md +71 -0
  302. package/assets/prompts/mcp-copilot-studio-server-generator.prompt.md +118 -0
  303. package/assets/prompts/memory-merger.prompt.md +107 -0
  304. package/assets/prompts/mkdocs-translations.prompt.md +110 -0
  305. package/assets/prompts/model-recommendation.prompt.md +677 -0
  306. package/assets/prompts/multi-stage-dockerfile.prompt.md +47 -0
  307. package/assets/prompts/my-issues.prompt.md +9 -0
  308. package/assets/prompts/my-pull-requests.prompt.md +15 -0
  309. package/assets/prompts/next-intl-add-language.prompt.md +20 -0
  310. package/assets/prompts/php-mcp-server-generator.prompt.md +522 -0
  311. package/assets/prompts/playwright-automation-fill-in-form.prompt.md +30 -0
  312. package/assets/prompts/playwright-explore-website.prompt.md +19 -0
  313. package/assets/prompts/playwright-generate-test.prompt.md +19 -0
  314. package/assets/prompts/postgresql-code-review.prompt.md +214 -0
  315. package/assets/prompts/postgresql-optimization.prompt.md +406 -0
  316. package/assets/prompts/power-apps-code-app-scaffold.prompt.md +150 -0
  317. package/assets/prompts/power-bi-dax-optimization.prompt.md +175 -0
  318. package/assets/prompts/power-bi-model-design-review.prompt.md +405 -0
  319. package/assets/prompts/power-bi-performance-troubleshooting.prompt.md +384 -0
  320. package/assets/prompts/power-bi-report-design-consultation.prompt.md +353 -0
  321. package/assets/prompts/power-platform-mcp-connector-suite.prompt.md +156 -0
  322. package/assets/prompts/project-workflow-analysis-blueprint-generator.prompt.md +294 -0
  323. package/assets/prompts/prompt-builder.prompt.md +142 -0
  324. package/assets/prompts/pytest-coverage.prompt.md +28 -0
  325. package/assets/prompts/python-mcp-server-generator.prompt.md +105 -0
  326. package/assets/prompts/readme-blueprint-generator.prompt.md +79 -0
  327. package/assets/prompts/remember-interactive-programming.prompt.md +13 -0
  328. package/assets/prompts/remember.prompt.md +125 -0
  329. package/assets/prompts/repo-story-time.prompt.md +156 -0
  330. package/assets/prompts/review-and-refactor.prompt.md +15 -0
  331. package/assets/prompts/ruby-mcp-server-generator.prompt.md +660 -0
  332. package/assets/prompts/rust-mcp-server-generator.prompt.md +578 -0
  333. package/assets/prompts/shuffle-json-data.prompt.md +151 -0
  334. package/assets/prompts/sql-code-review.prompt.md +303 -0
  335. package/assets/prompts/sql-optimization.prompt.md +298 -0
  336. package/assets/prompts/suggest-awesome-github-copilot-agents.prompt.md +72 -0
  337. package/assets/prompts/suggest-awesome-github-copilot-chatmodes.prompt.md +71 -0
  338. package/assets/prompts/suggest-awesome-github-copilot-collections.prompt.md +149 -0
  339. package/assets/prompts/suggest-awesome-github-copilot-instructions.prompt.md +88 -0
  340. package/assets/prompts/suggest-awesome-github-copilot-prompts.prompt.md +71 -0
  341. package/assets/prompts/swift-mcp-server-generator.prompt.md +669 -0
  342. package/assets/prompts/technology-stack-blueprint-generator.prompt.md +242 -0
  343. package/assets/prompts/typescript-mcp-server-generator.prompt.md +90 -0
  344. package/assets/prompts/update-avm-modules-in-bicep.prompt.md +60 -0
  345. package/assets/prompts/update-implementation-plan.prompt.md +157 -0
  346. package/assets/prompts/update-llms.prompt.md +216 -0
  347. package/assets/prompts/update-markdown-file-index.prompt.md +76 -0
  348. package/assets/prompts/update-oo-component-documentation.prompt.md +162 -0
  349. package/assets/prompts/update-specification.prompt.md +127 -0
  350. package/assets/prompts/write-coding-standards-from-file.prompt.md +316 -0
  351. package/bin/cli.js +200 -0
  352. package/package.json +53 -0
  353. package/scripts/sync.js +99 -0
  354. package/verdaccio/config.yaml +202 -0
@@ -0,0 +1,62 @@
1
+ ---
2
+ applyTo: '**'
3
+ description: 'See process Copilot is following where you can edit this to reshape the interaction or save when follow up may be needed'
4
+ ---
5
+
6
+ # Copilot Process tracking Instructions
7
+
8
+ **ABSOLUTE MANDATORY RULES:**
9
+ - You must review these instructions in full before executing any steps to understand the full instructions guidelines.
10
+ - You must follow these instructions exactly as specified without deviation.
11
+ - Do not keep repeating status updates while processing or explanations unless explicitly required. This is bad and will flood Copilot session context.
12
+ - NO phase announcements (no "# Phase X" headers in output)
13
+ - Phases must be executed one at a time and in the exact order specified.
14
+ - NO combining of phases in one response
15
+ - NO skipping of phases
16
+ - NO verbose explanations or commentary
17
+ - Only output the exact text specified in phase instructions
18
+
19
+ # Phase 1: Initialization
20
+
21
+ - Create file `\Copilot-Processing.md` in workspace root
22
+ - Populate `\Copilot-Processing.md` with user request details
23
+ - Work silently without announcements until complete.
24
+ - When this phase is complete keep mental note of this that <Phase 1> is done and does not need to be repeated.
25
+
26
+ # Phase 2: Planning
27
+
28
+ - Generate an action plan into the `\Copilot-Processing.md` file.
29
+ - Generate detailed and granular task specific action items to be used for tracking each action plan item with todo/complete status in the file `\Copilot-Processing.md`.
30
+ - This should include:
31
+ - Specific tasks for each action item in the action plan as a phase.
32
+ - Clear descriptions of what needs to be done
33
+ - Any dependencies or prerequisites for each task
34
+ - Ensure tasks are granular enough to be executed one at a time
35
+ - Work silently without announcements until complete.
36
+ - When this phase is complete keep mental note of this that <Phase 2> is done and does not need to be repeated.
37
+
38
+ # Phase 3: Execution
39
+
40
+ - Execute action items from the action plan in logical groupings/phases
41
+ - Work silently without announcements until complete.
42
+ - Update file `\Copilot-Processing.md` and mark the action item(s) as complete in the tracking.
43
+ - When a phase is complete keep mental note of this that the specific phase from `\Copilot-Processing.md` is done and does not need to be repeated.
44
+ - Repeat this pattern until all action items are complete
45
+
46
+ # Phase 4: Summary
47
+
48
+ - Add summary to `\Copilot-Processing.md`
49
+ - Work silently without announcements until complete.
50
+ - Execute only when ALL actions complete
51
+ - Inform user: "Added final summary to `\Copilot-Processing.md`."
52
+ - Remind user to review the summary and confirm completion of the process then to remove the file when done so it is not added to the repository.
53
+
54
+ **ENFORCEMENT RULES:**
55
+ - NEVER write "# Phase X" headers in responses
56
+ - NEVER repeat the word "Phase" in output unless explicitly required
57
+ - NEVER provide explanations beyond the exact text specified
58
+ - NEVER combine multiple phases in one response
59
+ - NEVER continue past current phase without user input
60
+ - If you catch yourself being verbose, STOP and provide only required output
61
+ - If you catch yourself about to skip a phase, STOP and go back to the correct phase
62
+ - If you catch yourself combining phases, STOP and perform only the current phase
@@ -0,0 +1,114 @@
1
+ ---
2
+ description: 'C# アプリケーション構築指針 by @tsubakimoto'
3
+ applyTo: '**/*.cs'
4
+ ---
5
+
6
+ # C# アプリケーション開発
7
+
8
+ ## C# の指針
9
+ - 常に最新の C# を使用します。現在は C# 14 の機能です。
10
+ - 各関数に対して明確で簡潔なコメントを書きます。
11
+
12
+ ## 全般ガイドライン
13
+ - コード変更のレビューでは、確信度の高い提案のみを行います。
14
+ - なぜその設計判断をしたのかという理由を含むコメントなど、保守性の高い実践に沿ってコードを書きます。
15
+ - エッジケースに対応し、明確な例外処理を書きます。
16
+ - ライブラリや外部依存については、用途と目的をコメントで明記します。
17
+
18
+ ## 命名規則
19
+
20
+ - コンポーネント名、メソッド名、公開メンバーには PascalCase を使用します。
21
+ - プライベートフィールドとローカル変数には camelCase を使用します。
22
+ - インターフェイス名は "I" を接頭辞にします(例: IUserService)。
23
+
24
+ ## フォーマット
25
+
26
+ - `.editorconfig` で定義されたコードフォーマットスタイルを適用します。
27
+ - ファイルスコープの namespace 宣言と 1 行の using ディレクティブを推奨します。
28
+ - 任意のコード ブロック(if、for、while、foreach、using、try など)の開始波括弧の前に改行を入れます。
29
+ - メソッドの最終 return 文は独立した行に配置します。
30
+ - 可能な限りパターンマッチングと switch 式を使用します。
31
+ - メンバー名参照には文字列リテラルではなく `nameof` を使用します。
32
+ - すべての公開 API に XML ドキュメントコメントを作成します。可能であれば `<example>` と `<code>` も含めます。
33
+
34
+ ## プロジェクトのセットアップと構成
35
+
36
+ - 適切なテンプレートで新規 .NET プロジェクトを作成する手順を案内します。
37
+ - 生成される各ファイルとフォルダーの目的を説明し、プロジェクト構造の理解を助けます。
38
+ - フィーチャーフォルダーやドメイン駆動設計(DDD)による整理方法を示します。
39
+ - モデル、サービス、データ アクセス層による責務分離を示します。
40
+ - ASP.NET Core 10 における Program.cs と構成システム、そして環境別設定を説明します。
41
+
42
+ ## Nullable 参照型
43
+
44
+ - 変数は非 null で宣言し、エントリポイントで `null` を検査します。
45
+ - `== null` や `!= null` ではなく、常に `is null` または `is not null` を使用します。
46
+ - C# の null 注釈を信頼し、型システムが値の非 null を保証している場合は不要な null チェックを追加しません。
47
+
48
+ ## データ アクセス パターン
49
+
50
+ - Entity Framework Core を用いたデータアクセス層の実装を案内します。
51
+ - 開発および本番における選択肢(SQL Server、SQLite、In-Memory)を説明します。
52
+ - リポジトリパターンの実装と、それが有効となる場面を示します。
53
+ - データベースマイグレーションとデータシーディングの実装方法を示します。
54
+ - 一般的なパフォーマンス問題を避ける効率的なクエリパターンを説明します。
55
+
56
+ ## 認証と認可
57
+
58
+ - JWT ベアラートークンを用いた認証の実装を案内します。
59
+ - ASP.NET Core に関連する OAuth 2.0 および OpenID Connect の概念を説明します。
60
+ - ロールベースおよびポリシーベースの認可の実装方法を示します。
61
+ - Microsoft Entra ID(旧 Azure AD)との統合を示します。
62
+ - コントローラーベース API と Minimal API の双方を一貫して保護する方法を説明します。
63
+
64
+ ## 検証とエラー処理
65
+
66
+ - データ注釈と FluentValidation を用いたモデル検証の実装を案内します。
67
+ - 検証パイプラインと、検証応答のカスタマイズ方法を説明します。
68
+ - ミドルウェアを用いたグローバル例外処理戦略を示します。
69
+ - API 全体で一貫したエラー応答を作成する方法を示します。
70
+ - 標準化されたエラー応答のための Problem Details(RFC 7807)の実装を説明します。
71
+
72
+ ## API のバージョニングとドキュメント
73
+
74
+ - API バージョニング戦略の実装とその解説を案内します。
75
+ - 適切なドキュメントを伴う Swagger / OpenAPI の実装を示します。
76
+ - エンドポイント、パラメーター、応答、認証の文書化方法を示します。
77
+ - コントローラーベース API と Minimal API の双方でのバージョニングを説明します。
78
+ - 利用者に役立つ有意義な API ドキュメントの作成を案内します。
79
+
80
+ ## ロギングと監視
81
+
82
+ - Serilog などを用いた構造化ロギングの実装を案内します。
83
+ - ログレベルと、それぞれを使用すべき場面を説明します。
84
+ - テレメトリ収集のための Application Insights との統合を示します。
85
+ - リクエスト追跡のためのカスタムテレメトリと相関 ID の実装方法を示します。
86
+ - API のパフォーマンス、エラー、利用パターンの監視方法を説明します。
87
+
88
+ ## テスト
89
+
90
+ - アプリケーションの重要な経路には必ずテストケースを含めます。
91
+ - 単体テストの作成を案内します。
92
+ - "Act"、"Arrange"、"Assert" のコメントは記述しません。
93
+ - 近傍ファイルの既存スタイル(テストメソッド名や大文字/小文字)に合わせます。
94
+ - API エンドポイントの統合テスト手法を説明します。
95
+ - 効率的なテストのために依存関係をモックする方法を示します。
96
+ - 認証および認可ロジックのテスト方法を示します。
97
+ - API 開発に適用するテスト駆動開発(TDD)の原則を説明します。
98
+
99
+ ## パフォーマンス最適化
100
+
101
+ - キャッシュ戦略(インメモリ、分散、レスポンスキャッシュ)の実装を案内します。
102
+ - 非同期プログラミングパターンと、それが API のパフォーマンスにおいて重要である理由を説明します。
103
+ - 大規模データセット向けのページング、フィルタリング、ソートを示します。
104
+ - 圧縮などのパフォーマンス最適化の実装方法を示します。
105
+ - API パフォーマンスの測定とベンチマーク方法を説明します。
106
+
107
+ ## デプロイと DevOps
108
+
109
+ - .NET の組み込みコンテナーサポート(`dotnet publish --os linux --arch x64 -p:PublishProfile=DefaultContainer`)を用いた API のコンテナー化を案内します。
110
+ - 手動で Dockerfile を作成する方法と、.NET のコンテナー公開機能の違いを説明します。
111
+ - .NET アプリケーション向け CI/CD パイプラインを説明します。
112
+ - Azure App Service、Azure Container Apps、その他のホスティングオプションへのデプロイを示します。
113
+ - ヘルスチェックと Readiness Probe の実装方法を示します。
114
+ - 各デプロイ段階における環境固有の構成を説明します。
@@ -0,0 +1,77 @@
1
+ ---
2
+ description: 'C# 애플리케이션 개발을 위한 코드 작성 규칙 by @jgkim999'
3
+ applyTo: '**/*.cs'
4
+ ---
5
+
6
+ # C# 코드 작성 규칙
7
+
8
+ ## 명명 규칙 (Naming Conventions)
9
+
10
+ 일관된 명명 규칙은 코드 가독성의 핵심입니다. Microsoft의 가이드라인을 따르는 것을 권장합니다.
11
+
12
+ | 요소 | 명명 규칙 | 예시 |
13
+ |------|-----------|------|
14
+ | 인터페이스 | 접두사 'I' + PascalCase | `IAsyncRepository`, `ILogger` |
15
+ | 공개(public) 멤버 | 파스칼 케이스 (PascalCase) | `public int MaxCount;`, `public void GetData()` |
16
+ | 매개변수, 지역 변수 | 카멜 케이스 (camelCase) | `int userCount`, `string customerName` |
17
+ | 비공개/내부 필드 | 밑줄(_) + 카멜 케이스 | `private string _connectionString;` |
18
+ | 상수 (const) | 파스칼 케이스 (PascalCase) | `public const int DefaultTimeout = 5000;` |
19
+ | 제네릭 형식 매개변수 | 접두사 'T' + 설명적인 이름 | `TKey`, `TValue`, `TResult` |
20
+ | 비동기 메서드 | 'Async' 접미사 | `GetUserAsync`, `DownloadFileAsync` |
21
+
22
+ ## 코드 서식 및 가독성 (Formatting & Readability)
23
+
24
+ 일관된 서식은 코드를 시각적으로 파싱하기 쉽게 만듭니다.
25
+
26
+ | 항목 | 규칙 | 설명 |
27
+ |------|------|------|
28
+ | 들여쓰기 | 4개의 공백 사용 | 탭 대신 4개의 공백을 사용합니다. cs 파일은 반드시 4개의 공백을 사용합니다. |
29
+ | 괄호 | 항상 중괄호 {} 사용 | 제어문(if, for, while 등)이 한 줄이더라도 항상 중괄호를 사용합니다. |
30
+ | 빈 줄 | 논리적 분리 | 메서드 정의, 속성 정의, 논리적으로 분리된 코드 블록 사이에 빈 줄을 추가합니다. |
31
+ | 문장 작성 | 한 줄에 하나의 문장 | 한 줄에는 하나의 문장만 작성합니다. |
32
+ | var 키워드 | 형식이 명확할 때만 사용 | 변수의 형식을 오른쪽에서 명확하게 유추할 수 있을 때만 var를 사용합니다. |
33
+ | 네임스페이스 | 파일 범위 네임스페이스 사용 | C# 10 이상에서는 파일 범위 네임스페이스를 사용하여 불필요한 들여쓰기를 줄입니다. |
34
+ | 주석 | XML 형식 주석 작성 | 작성한 class나 함수에 항상 xml 형식의 주석을 작성합니다. |
35
+
36
+ ## 언어 기능 사용 (Language Features)
37
+
38
+ 최신 C# 기능을 활용하여 코드를 더 간결하고 효율적으로 만드세요.
39
+
40
+ | 기능 | 설명 | 예시/참고 |
41
+ |------|------|------|
42
+ | 비동기 프로그래밍 | I/O 바운드 작업에 async/await 사용 | `async Task<string> GetDataAsync()` |
43
+ | ConfigureAwait | 라이브러리 코드에서 컨텍스트 전환 오버헤드 감소 | `await SomeMethodAsync().ConfigureAwait(false)` |
44
+ | LINQ | 컬렉션 데이터 쿼리 및 조작 | `users.Where(u => u.IsActive).ToList()` |
45
+ | 표현식 기반 멤버 | 간단한 메서드/속성을 간결하게 표현 | `public string Name => _name;` |
46
+ | Nullable Reference Types | 컴파일 타임 NullReferenceException 방지 | `#nullable enable` |
47
+ | using 선언 | IDisposable 객체의 간결한 처리 | `using var stream = new FileStream(...);` |
48
+
49
+ ## 성능 및 예외 처리 (Performance & Exception Handling)
50
+
51
+ 견고하고 빠른 애플리케이션을 위한 지침입니다.
52
+
53
+ ### 예외 처리
54
+
55
+ 처리할 수 있는 구체적인 예외만 catch 하세요. catch (Exception)와 같이 일반적인 예외를 잡는 것은 피해야 합니다.
56
+
57
+ 예외는 프로그램 흐름 제어를 위해 사용하지 마세요. 예외는 예상치 못한 오류 상황에만 사용되어야 합니다.
58
+
59
+ ### 성능
60
+ s
61
+ 문자열을 반복적으로 연결할 때는 + 연산자 대신 StringBuilder를 사용하세요.
62
+
63
+ Entity Framework Core 사용 시, 읽기 전용 쿼리에는 .AsNoTracking()을 사용하여 성능을 향상시키세요.
64
+
65
+ 불필요한 객체 할당을 피하고, 특히 루프 내에서는 주의하세요.
66
+
67
+ ## 보안 (Security)
68
+
69
+ 안전한 코드를 작성하기 위한 기본 원칙입니다.
70
+
71
+ | 보안 영역 | 규칙 | 설명 |
72
+ |------|------|------|
73
+ | 입력 유효성 검사 | 모든 외부 데이터 검증 | 외부(사용자, API 등)로부터 들어오는 모든 데이터는 신뢰하지 않고 항상 유효성을 검사하세요. |
74
+ | SQL 삽입 방지 | 매개변수화된 쿼리 사용 | 항상 매개변수화된 쿼리나 Entity Framework와 같은 ORM을 사용하여 SQL 삽입 공격을 방지하세요. |
75
+ | 민감한 데이터 보호 | 구성 관리 도구 사용 | 비밀번호, 연결 문자열, API 키 등은 소스 코드에 하드코딩하지 말고 Secret Manager, Azure Key Vault 등을 사용하세요. |
76
+
77
+ 이 규칙들을 프로젝트의 .editorconfig 파일과 팀의 코드 리뷰 프로세스에 통합하여 지속적으로 고품질 코드를 유지하는 것을 목표로 해야 합니다.
@@ -0,0 +1,95 @@
1
+ ---
2
+ description: 'Instructions for building Model Context Protocol (MCP) servers using the C# SDK'
3
+ applyTo: '**/*.cs, **/*.csproj'
4
+ ---
5
+
6
+ # C# MCP Server Development
7
+
8
+ ## Instructions
9
+
10
+ - Use the **ModelContextProtocol** NuGet package (prerelease) for most projects: `dotnet add package ModelContextProtocol --prerelease`
11
+ - Use **ModelContextProtocol.AspNetCore** for HTTP-based MCP servers
12
+ - Use **ModelContextProtocol.Core** for minimal dependencies (client-only or low-level server APIs)
13
+ - Always configure logging to stderr using `LogToStandardErrorThreshold = LogLevel.Trace` to avoid interfering with stdio transport
14
+ - Use the `[McpServerToolType]` attribute on classes containing MCP tools
15
+ - Use the `[McpServerTool]` attribute on methods to expose them as tools
16
+ - Use the `[Description]` attribute from `System.ComponentModel` to document tools and parameters
17
+ - Support dependency injection in tool methods - inject `McpServer`, `HttpClient`, or other services as parameters
18
+ - Use `McpServer.AsSamplingChatClient()` to make sampling requests back to the client from within tools
19
+ - Expose prompts using `[McpServerPromptType]` on classes and `[McpServerPrompt]` on methods
20
+ - For stdio transport, use `WithStdioServerTransport()` when building the server
21
+ - Use `WithToolsFromAssembly()` to auto-discover and register all tools from the current assembly
22
+ - Tool methods can be synchronous or async (return `Task` or `Task<T>`)
23
+ - Always include comprehensive descriptions for tools and parameters to help LLMs understand their purpose
24
+ - Use `CancellationToken` parameters in async tools for proper cancellation support
25
+ - Return simple types (string, int, etc.) or complex objects that can be serialized to JSON
26
+ - For fine-grained control, use `McpServerOptions` with custom handlers like `ListToolsHandler` and `CallToolHandler`
27
+ - Use `McpProtocolException` for protocol-level errors with appropriate `McpErrorCode` values
28
+ - Test MCP servers using the `McpClient` from the same SDK or any compliant MCP client
29
+ - Structure projects with Microsoft.Extensions.Hosting for proper DI and lifecycle management
30
+
31
+ ## Best Practices
32
+
33
+ - Keep tool methods focused and single-purpose
34
+ - Use meaningful tool names that clearly indicate their function
35
+ - Provide detailed descriptions that explain what the tool does, what parameters it expects, and what it returns
36
+ - Validate input parameters and throw `McpProtocolException` with `McpErrorCode.InvalidParams` for invalid inputs
37
+ - Use structured logging to help with debugging without polluting stdout
38
+ - Organize related tools into logical classes with `[McpServerToolType]`
39
+ - Consider security implications when exposing tools that access external resources
40
+ - Use the built-in DI container to manage service lifetimes and dependencies
41
+ - Implement proper error handling and return meaningful error messages
42
+ - Test tools individually before integrating with LLMs
43
+
44
+ ## Common Patterns
45
+
46
+ ### Basic Server Setup
47
+ ```csharp
48
+ var builder = Host.CreateApplicationBuilder(args);
49
+ builder.Logging.AddConsole(options =>
50
+ options.LogToStandardErrorThreshold = LogLevel.Trace);
51
+ builder.Services
52
+ .AddMcpServer()
53
+ .WithStdioServerTransport()
54
+ .WithToolsFromAssembly();
55
+ await builder.Build().RunAsync();
56
+ ```
57
+
58
+ ### Simple Tool
59
+ ```csharp
60
+ [McpServerToolType]
61
+ public static class MyTools
62
+ {
63
+ [McpServerTool, Description("Description of what the tool does")]
64
+ public static string ToolName(
65
+ [Description("Parameter description")] string param) =>
66
+ $"Result: {param}";
67
+ }
68
+ ```
69
+
70
+ ### Tool with Dependency Injection
71
+ ```csharp
72
+ [McpServerTool, Description("Fetches data from a URL")]
73
+ public static async Task<string> FetchData(
74
+ HttpClient httpClient,
75
+ [Description("The URL to fetch")] string url,
76
+ CancellationToken cancellationToken) =>
77
+ await httpClient.GetStringAsync(url, cancellationToken);
78
+ ```
79
+
80
+ ### Tool with Sampling
81
+ ```csharp
82
+ [McpServerTool, Description("Analyzes content using the client's LLM")]
83
+ public static async Task<string> Analyze(
84
+ McpServer server,
85
+ [Description("Content to analyze")] string content,
86
+ CancellationToken cancellationToken)
87
+ {
88
+ var messages = new ChatMessage[]
89
+ {
90
+ new(ChatRole.User, $"Analyze this: {content}")
91
+ };
92
+ return await server.AsSamplingChatClient()
93
+ .GetResponseAsync(messages, cancellationToken: cancellationToken);
94
+ }
95
+ ```
@@ -0,0 +1,114 @@
1
+ ---
2
+ description: 'Guidelines for building C# applications'
3
+ applyTo: '**/*.cs'
4
+ ---
5
+
6
+ # C# Development
7
+
8
+ ## C# Instructions
9
+ - Always use the latest version C#, currently C# 14 features.
10
+ - Write clear and concise comments for each function.
11
+
12
+ ## General Instructions
13
+ - Make only high confidence suggestions when reviewing code changes.
14
+ - Write code with good maintainability practices, including comments on why certain design decisions were made.
15
+ - Handle edge cases and write clear exception handling.
16
+ - For libraries or external dependencies, mention their usage and purpose in comments.
17
+
18
+ ## Naming Conventions
19
+
20
+ - Follow PascalCase for component names, method names, and public members.
21
+ - Use camelCase for private fields and local variables.
22
+ - Prefix interface names with "I" (e.g., IUserService).
23
+
24
+ ## Formatting
25
+
26
+ - Apply code-formatting style defined in `.editorconfig`.
27
+ - Prefer file-scoped namespace declarations and single-line using directives.
28
+ - Insert a newline before the opening curly brace of any code block (e.g., after `if`, `for`, `while`, `foreach`, `using`, `try`, etc.).
29
+ - Ensure that the final return statement of a method is on its own line.
30
+ - Use pattern matching and switch expressions wherever possible.
31
+ - Use `nameof` instead of string literals when referring to member names.
32
+ - Ensure that XML doc comments are created for any public APIs. When applicable, include `<example>` and `<code>` documentation in the comments.
33
+
34
+ ## Project Setup and Structure
35
+
36
+ - Guide users through creating a new .NET project with the appropriate templates.
37
+ - Explain the purpose of each generated file and folder to build understanding of the project structure.
38
+ - Demonstrate how to organize code using feature folders or domain-driven design principles.
39
+ - Show proper separation of concerns with models, services, and data access layers.
40
+ - Explain the Program.cs and configuration system in ASP.NET Core 10 including environment-specific settings.
41
+
42
+ ## Nullable Reference Types
43
+
44
+ - Declare variables non-nullable, and check for `null` at entry points.
45
+ - Always use `is null` or `is not null` instead of `== null` or `!= null`.
46
+ - Trust the C# null annotations and don't add null checks when the type system says a value cannot be null.
47
+
48
+ ## Data Access Patterns
49
+
50
+ - Guide the implementation of a data access layer using Entity Framework Core.
51
+ - Explain different options (SQL Server, SQLite, In-Memory) for development and production.
52
+ - Demonstrate repository pattern implementation and when it's beneficial.
53
+ - Show how to implement database migrations and data seeding.
54
+ - Explain efficient query patterns to avoid common performance issues.
55
+
56
+ ## Authentication and Authorization
57
+
58
+ - Guide users through implementing authentication using JWT Bearer tokens.
59
+ - Explain OAuth 2.0 and OpenID Connect concepts as they relate to ASP.NET Core.
60
+ - Show how to implement role-based and policy-based authorization.
61
+ - Demonstrate integration with Microsoft Entra ID (formerly Azure AD).
62
+ - Explain how to secure both controller-based and Minimal APIs consistently.
63
+
64
+ ## Validation and Error Handling
65
+
66
+ - Guide the implementation of model validation using data annotations and FluentValidation.
67
+ - Explain the validation pipeline and how to customize validation responses.
68
+ - Demonstrate a global exception handling strategy using middleware.
69
+ - Show how to create consistent error responses across the API.
70
+ - Explain problem details (RFC 7807) implementation for standardized error responses.
71
+
72
+ ## API Versioning and Documentation
73
+
74
+ - Guide users through implementing and explaining API versioning strategies.
75
+ - Demonstrate Swagger/OpenAPI implementation with proper documentation.
76
+ - Show how to document endpoints, parameters, responses, and authentication.
77
+ - Explain versioning in both controller-based and Minimal APIs.
78
+ - Guide users on creating meaningful API documentation that helps consumers.
79
+
80
+ ## Logging and Monitoring
81
+
82
+ - Guide the implementation of structured logging using Serilog or other providers.
83
+ - Explain the logging levels and when to use each.
84
+ - Demonstrate integration with Application Insights for telemetry collection.
85
+ - Show how to implement custom telemetry and correlation IDs for request tracking.
86
+ - Explain how to monitor API performance, errors, and usage patterns.
87
+
88
+ ## Testing
89
+
90
+ - Always include test cases for critical paths of the application.
91
+ - Guide users through creating unit tests.
92
+ - Do not emit "Act", "Arrange" or "Assert" comments.
93
+ - Copy existing style in nearby files for test method names and capitalization.
94
+ - Explain integration testing approaches for API endpoints.
95
+ - Demonstrate how to mock dependencies for effective testing.
96
+ - Show how to test authentication and authorization logic.
97
+ - Explain test-driven development principles as applied to API development.
98
+
99
+ ## Performance Optimization
100
+
101
+ - Guide users on implementing caching strategies (in-memory, distributed, response caching).
102
+ - Explain asynchronous programming patterns and why they matter for API performance.
103
+ - Demonstrate pagination, filtering, and sorting for large data sets.
104
+ - Show how to implement compression and other performance optimizations.
105
+ - Explain how to measure and benchmark API performance.
106
+
107
+ ## Deployment and DevOps
108
+
109
+ - Guide users through containerizing their API using .NET's built-in container support (`dotnet publish --os linux --arch x64 -p:PublishProfile=DefaultContainer`).
110
+ - Explain the differences between manual Dockerfile creation and .NET's container publishing features.
111
+ - Explain CI/CD pipelines for NET applications.
112
+ - Demonstrate deployment to Azure App Service, Azure Container Apps, or other hosting options.
113
+ - Show how to implement health checks and readiness probes.
114
+ - Explain environment-specific configurations for different deployment stages.