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,50 @@
1
+ ---
2
+ mode: 'agent'
3
+ tools: ['changes', 'search/codebase', 'edit/editFiles', 'problems']
4
+ description: 'Get best practices for C# async programming'
5
+ ---
6
+
7
+ # C# Async Programming Best Practices
8
+
9
+ Your goal is to help me follow best practices for asynchronous programming in C#.
10
+
11
+ ## Naming Conventions
12
+
13
+ - Use the 'Async' suffix for all async methods
14
+ - Match method names with their synchronous counterparts when applicable (e.g., `GetDataAsync()` for `GetData()`)
15
+
16
+ ## Return Types
17
+
18
+ - Return `Task<T>` when the method returns a value
19
+ - Return `Task` when the method doesn't return a value
20
+ - Consider `ValueTask<T>` for high-performance scenarios to reduce allocations
21
+ - Avoid returning `void` for async methods except for event handlers
22
+
23
+ ## Exception Handling
24
+
25
+ - Use try/catch blocks around await expressions
26
+ - Avoid swallowing exceptions in async methods
27
+ - Use `ConfigureAwait(false)` when appropriate to prevent deadlocks in library code
28
+ - Propagate exceptions with `Task.FromException()` instead of throwing in async Task returning methods
29
+
30
+ ## Performance
31
+
32
+ - Use `Task.WhenAll()` for parallel execution of multiple tasks
33
+ - Use `Task.WhenAny()` for implementing timeouts or taking the first completed task
34
+ - Avoid unnecessary async/await when simply passing through task results
35
+ - Consider cancellation tokens for long-running operations
36
+
37
+ ## Common Pitfalls
38
+
39
+ - Never use `.Wait()`, `.Result`, or `.GetAwaiter().GetResult()` in async code
40
+ - Avoid mixing blocking and async code
41
+ - Don't create async void methods (except for event handlers)
42
+ - Always await Task-returning methods
43
+
44
+ ## Implementation Patterns
45
+
46
+ - Implement the async command pattern for long-running operations
47
+ - Use async streams (IAsyncEnumerable<T>) for processing sequences asynchronously
48
+ - Consider the task-based asynchronous pattern (TAP) for public APIs
49
+
50
+ When reviewing my C# code, identify these issues and suggest improvements that follow these best practices.
@@ -0,0 +1,63 @@
1
+ ---
2
+ mode: 'agent'
3
+ tools: ['changes', 'search/codebase', 'edit/editFiles', 'problems']
4
+ description: 'Ensure that C# types are documented with XML comments and follow best practices for documentation.'
5
+ ---
6
+
7
+ # C# Documentation Best Practices
8
+
9
+ - Public members should be documented with XML comments.
10
+ - It is encouraged to document internal members as well, especially if they are complex or not self-explanatory.
11
+
12
+ ## Guidance for all APIs
13
+
14
+ - Use `<summary>` to provide a brief, one sentence, description of what the type or member does. Start the summary with a present-tense, third-person verb.
15
+ - Use `<remarks>` for additional information, which can include implementation details, usage notes, or any other relevant context.
16
+ - Use `<see langword>` for language-specific keywords like `null`, `true`, `false`, `int`, `bool`, etc.
17
+ - Use `<c>` for inline code snippets.
18
+ - Use `<example>` for usage examples on how to use the member.
19
+ - Use `<code>` for code blocks. `<code>` tags should be placed within an `<example>` tag. Add the language of the code example using the `language` attribute, for example, `<code language="csharp">`.
20
+ - Use `<see cref>` to reference other types or members inline (in a sentence).
21
+ - Use `<seealso>` for standalone (not in a sentence) references to other types or members in the "See also" section of the online docs.
22
+ - Use `<inheritdoc/>` to inherit documentation from base classes or interfaces.
23
+ - Unless there is major behavior change, in which case you should document the differences.
24
+
25
+ ## Methods
26
+
27
+ - Use `<param>` to describe method parameters.
28
+ - The description should be a noun phrase that doesn't specify the data type.
29
+ - Begin with an introductory article.
30
+ - If the parameter is a flag enum, start the description with "A bitwise combination of the enumeration values that specifies...".
31
+ - If the parameter is a non-flag enum, start the description with "One of the enumeration values that specifies...".
32
+ - If the parameter is a Boolean, the wording should be of the form "`<see langword="true" />` to ...; otherwise, `<see langword="false" />`.".
33
+ - If the parameter is an "out" parameter, the wording should be of the form "When this method returns, contains .... This parameter is treated as uninitialized.".
34
+ - Use `<paramref>` to reference parameter names in documentation.
35
+ - Use `<typeparam>` to describe type parameters in generic types or methods.
36
+ - Use `<typeparamref>` to reference type parameters in documentation.
37
+ - Use `<returns>` to describe what the method returns.
38
+ - The description should be a noun phrase that doesn't specify the data type.
39
+ - Begin with an introductory article.
40
+ - If the return type is Boolean, the wording should be of the form "`<see langword="true" />` if ...; otherwise, `<see langword="false" />`.".
41
+
42
+ ## Constructors
43
+
44
+ - The summary wording should be "Initializes a new instance of the <Class> class [or struct].".
45
+
46
+ ## Properties
47
+
48
+ - The `<summary>` should start with:
49
+ - "Gets or sets..." for a read-write property.
50
+ - "Gets..." for a read-only property.
51
+ - "Gets [or sets] a value that indicates whether..." for properties that return a Boolean value.
52
+ - Use `<value>` to describe the value of the property.
53
+ - The description should be a noun phrase that doesn't specify the data type.
54
+ - If the property has a default value, add it in a separate sentence, for example, "The default is `<see langword="false" />`".
55
+ - If the value type is Boolean, the wording should be of the form "`<see langword="true" />` if ...; otherwise, `<see langword="false" />`. The default is ...".
56
+
57
+ ## Exceptions
58
+
59
+ - Use `<exception cref>` to document exceptions thrown by constructors, properties, indexers, methods, operators, and events.
60
+ - Document all exceptions thrown directly by the member.
61
+ - For exceptions thrown by nested members, document only the exceptions users are most likely to encounter.
62
+ - The description of the exception describes the condition under which it's thrown.
63
+ - Omit "Thrown if ..." or "If ..." at the beginning of the sentence. Just state the condition directly, for example "An error occurred when accessing a Message Queuing API."
@@ -0,0 +1,59 @@
1
+ ---
2
+ mode: 'agent'
3
+ description: 'Generate a complete MCP server project in C# with tools, prompts, and proper configuration'
4
+ ---
5
+
6
+ # Generate C# MCP Server
7
+
8
+ Create a complete Model Context Protocol (MCP) server in C# with the following specifications:
9
+
10
+ ## Requirements
11
+
12
+ 1. **Project Structure**: Create a new C# console application with proper directory structure
13
+ 2. **NuGet Packages**: Include ModelContextProtocol (prerelease) and Microsoft.Extensions.Hosting
14
+ 3. **Logging Configuration**: Configure all logs to stderr to avoid interfering with stdio transport
15
+ 4. **Server Setup**: Use the Host builder pattern with proper DI configuration
16
+ 5. **Tools**: Create at least one useful tool with proper attributes and descriptions
17
+ 6. **Error Handling**: Include proper error handling and validation
18
+
19
+ ## Implementation Details
20
+
21
+ ### Basic Project Setup
22
+ - Use .NET 8.0 or later
23
+ - Create a console application
24
+ - Add necessary NuGet packages with --prerelease flag
25
+ - Configure logging to stderr
26
+
27
+ ### Server Configuration
28
+ - Use `Host.CreateApplicationBuilder` for DI and lifecycle management
29
+ - Configure `AddMcpServer()` with stdio transport
30
+ - Use `WithToolsFromAssembly()` for automatic tool discovery
31
+ - Ensure the server runs with `RunAsync()`
32
+
33
+ ### Tool Implementation
34
+ - Use `[McpServerToolType]` attribute on tool classes
35
+ - Use `[McpServerTool]` attribute on tool methods
36
+ - Add `[Description]` attributes to tools and parameters
37
+ - Support async operations where appropriate
38
+ - Include proper parameter validation
39
+
40
+ ### Code Quality
41
+ - Follow C# naming conventions
42
+ - Include XML documentation comments
43
+ - Use nullable reference types
44
+ - Implement proper error handling with McpProtocolException
45
+ - Use structured logging for debugging
46
+
47
+ ## Example Tool Types to Consider
48
+ - File operations (read, write, search)
49
+ - Data processing (transform, validate, analyze)
50
+ - External API integrations (HTTP requests)
51
+ - System operations (execute commands, check status)
52
+ - Database operations (query, update)
53
+
54
+ ## Testing Guidance
55
+ - Explain how to run the server
56
+ - Provide example commands to test with MCP clients
57
+ - Include troubleshooting tips
58
+
59
+ Generate a complete, production-ready MCP server with comprehensive documentation and error handling.
@@ -0,0 +1,67 @@
1
+ ---
2
+ mode: 'agent'
3
+ tools: ['changes', 'search/codebase', 'edit/editFiles', 'problems', 'search']
4
+ description: 'Get best practices for MSTest unit testing, including data-driven tests'
5
+ ---
6
+
7
+ # MSTest Best Practices
8
+
9
+ Your goal is to help me write effective unit tests with MSTest, covering both standard and data-driven testing approaches.
10
+
11
+ ## Project Setup
12
+
13
+ - Use a separate test project with naming convention `[ProjectName].Tests`
14
+ - Reference MSTest package
15
+ - Create test classes that match the classes being tested (e.g., `CalculatorTests` for `Calculator`)
16
+ - Use .NET SDK test commands: `dotnet test` for running tests
17
+
18
+ ## Test Structure
19
+
20
+ - Use `[TestClass]` attribute for test classes
21
+ - Use `[TestMethod]` attribute for test methods
22
+ - Follow the Arrange-Act-Assert (AAA) pattern
23
+ - Name tests using the pattern `MethodName_Scenario_ExpectedBehavior`
24
+ - Use `[TestInitialize]` and `[TestCleanup]` for per-test setup and teardown
25
+ - Use `[ClassInitialize]` and `[ClassCleanup]` for per-class setup and teardown
26
+ - Use `[AssemblyInitialize]` and `[AssemblyCleanup]` for assembly-level setup and teardown
27
+
28
+ ## Standard Tests
29
+
30
+ - Keep tests focused on a single behavior
31
+ - Avoid testing multiple behaviors in one test method
32
+ - Use clear assertions that express intent
33
+ - Include only the assertions needed to verify the test case
34
+ - Make tests independent and idempotent (can run in any order)
35
+ - Avoid test interdependencies
36
+
37
+ ## Data-Driven Tests
38
+
39
+ - Use `[TestMethod]` combined with data source attributes
40
+ - Use `[DataRow]` for inline test data
41
+ - Use `[DynamicData]` for programmatically generated test data
42
+ - Use `[TestProperty]` to add metadata to tests
43
+ - Use meaningful parameter names in data-driven tests
44
+
45
+ ## Assertions
46
+
47
+ - Use `Assert.AreEqual` for value equality
48
+ - Use `Assert.AreSame` for reference equality
49
+ - Use `Assert.IsTrue`/`Assert.IsFalse` for boolean conditions
50
+ - Use `CollectionAssert` for collection comparisons
51
+ - Use `StringAssert` for string-specific assertions
52
+ - Use `Assert.Throws<T>` to test exceptions
53
+ - Ensure assertions are simple in nature and have a message provided for clarity on failure
54
+
55
+ ## Mocking and Isolation
56
+
57
+ - Consider using Moq or NSubstitute alongside MSTest
58
+ - Mock dependencies to isolate units under test
59
+ - Use interfaces to facilitate mocking
60
+ - Consider using a DI container for complex test setups
61
+
62
+ ## Test Organization
63
+
64
+ - Group tests by feature or component
65
+ - Use test categories with `[TestCategory("Category")]`
66
+ - Use test priorities with `[Priority(1)]` for critical tests
67
+ - Use `[Owner("DeveloperName")]` to indicate ownership
@@ -0,0 +1,72 @@
1
+ ---
2
+ mode: 'agent'
3
+ tools: ['changes', 'search/codebase', 'edit/editFiles', 'problems', 'search']
4
+ description: 'Get best practices for NUnit unit testing, including data-driven tests'
5
+ ---
6
+
7
+ # NUnit Best Practices
8
+
9
+ Your goal is to help me write effective unit tests with NUnit, covering both standard and data-driven testing approaches.
10
+
11
+ ## Project Setup
12
+
13
+ - Use a separate test project with naming convention `[ProjectName].Tests`
14
+ - Reference Microsoft.NET.Test.Sdk, NUnit, and NUnit3TestAdapter packages
15
+ - Create test classes that match the classes being tested (e.g., `CalculatorTests` for `Calculator`)
16
+ - Use .NET SDK test commands: `dotnet test` for running tests
17
+
18
+ ## Test Structure
19
+
20
+ - Apply `[TestFixture]` attribute to test classes
21
+ - Use `[Test]` attribute for test methods
22
+ - Follow the Arrange-Act-Assert (AAA) pattern
23
+ - Name tests using the pattern `MethodName_Scenario_ExpectedBehavior`
24
+ - Use `[SetUp]` and `[TearDown]` for per-test setup and teardown
25
+ - Use `[OneTimeSetUp]` and `[OneTimeTearDown]` for per-class setup and teardown
26
+ - Use `[SetUpFixture]` for assembly-level setup and teardown
27
+
28
+ ## Standard Tests
29
+
30
+ - Keep tests focused on a single behavior
31
+ - Avoid testing multiple behaviors in one test method
32
+ - Use clear assertions that express intent
33
+ - Include only the assertions needed to verify the test case
34
+ - Make tests independent and idempotent (can run in any order)
35
+ - Avoid test interdependencies
36
+
37
+ ## Data-Driven Tests
38
+
39
+ - Use `[TestCase]` for inline test data
40
+ - Use `[TestCaseSource]` for programmatically generated test data
41
+ - Use `[Values]` for simple parameter combinations
42
+ - Use `[ValueSource]` for property or method-based data sources
43
+ - Use `[Random]` for random numeric test values
44
+ - Use `[Range]` for sequential numeric test values
45
+ - Use `[Combinatorial]` or `[Pairwise]` for combining multiple parameters
46
+
47
+ ## Assertions
48
+
49
+ - Use `Assert.That` with constraint model (preferred NUnit style)
50
+ - Use constraints like `Is.EqualTo`, `Is.SameAs`, `Contains.Item`
51
+ - Use `Assert.AreEqual` for simple value equality (classic style)
52
+ - Use `CollectionAssert` for collection comparisons
53
+ - Use `StringAssert` for string-specific assertions
54
+ - Use `Assert.Throws<T>` or `Assert.ThrowsAsync<T>` to test exceptions
55
+ - Use descriptive messages in assertions for clarity on failure
56
+
57
+ ## Mocking and Isolation
58
+
59
+ - Consider using Moq or NSubstitute alongside NUnit
60
+ - Mock dependencies to isolate units under test
61
+ - Use interfaces to facilitate mocking
62
+ - Consider using a DI container for complex test setups
63
+
64
+ ## Test Organization
65
+
66
+ - Group tests by feature or component
67
+ - Use categories with `[Category("CategoryName")]`
68
+ - Use `[Order]` to control test execution order when necessary
69
+ - Use `[Author("DeveloperName")]` to indicate ownership
70
+ - Use `[Description]` to provide additional test information
71
+ - Consider `[Explicit]` for tests that shouldn't run automatically
72
+ - Use `[Ignore("Reason")]` to temporarily skip tests
@@ -0,0 +1,101 @@
1
+ ---
2
+ mode: 'agent'
3
+ tools: ['changes', 'search/codebase', 'edit/editFiles', 'problems', 'search']
4
+ description: 'Get best practices for TUnit unit testing, including data-driven tests'
5
+ ---
6
+
7
+ # TUnit Best Practices
8
+
9
+ Your goal is to help me write effective unit tests with TUnit, covering both standard and data-driven testing approaches.
10
+
11
+ ## Project Setup
12
+
13
+ - Use a separate test project with naming convention `[ProjectName].Tests`
14
+ - Reference TUnit package and TUnit.Assertions for fluent assertions
15
+ - Create test classes that match the classes being tested (e.g., `CalculatorTests` for `Calculator`)
16
+ - Use .NET SDK test commands: `dotnet test` for running tests
17
+ - TUnit requires .NET 8.0 or higher
18
+
19
+ ## Test Structure
20
+
21
+ - No test class attributes required (like xUnit/NUnit)
22
+ - Use `[Test]` attribute for test methods (not `[Fact]` like xUnit)
23
+ - Follow the Arrange-Act-Assert (AAA) pattern
24
+ - Name tests using the pattern `MethodName_Scenario_ExpectedBehavior`
25
+ - Use lifecycle hooks: `[Before(Test)]` for setup and `[After(Test)]` for teardown
26
+ - Use `[Before(Class)]` and `[After(Class)]` for shared context between tests in a class
27
+ - Use `[Before(Assembly)]` and `[After(Assembly)]` for shared context across test classes
28
+ - TUnit supports advanced lifecycle hooks like `[Before(TestSession)]` and `[After(TestSession)]`
29
+
30
+ ## Standard Tests
31
+
32
+ - Keep tests focused on a single behavior
33
+ - Avoid testing multiple behaviors in one test method
34
+ - Use TUnit's fluent assertion syntax with `await Assert.That()`
35
+ - Include only the assertions needed to verify the test case
36
+ - Make tests independent and idempotent (can run in any order)
37
+ - Avoid test interdependencies (use `[DependsOn]` attribute if needed)
38
+
39
+ ## Data-Driven Tests
40
+
41
+ - Use `[Arguments]` attribute for inline test data (equivalent to xUnit's `[InlineData]`)
42
+ - Use `[MethodData]` for method-based test data (equivalent to xUnit's `[MemberData]`)
43
+ - Use `[ClassData]` for class-based test data
44
+ - Create custom data sources by implementing `ITestDataSource`
45
+ - Use meaningful parameter names in data-driven tests
46
+ - Multiple `[Arguments]` attributes can be applied to the same test method
47
+
48
+ ## Assertions
49
+
50
+ - Use `await Assert.That(value).IsEqualTo(expected)` for value equality
51
+ - Use `await Assert.That(value).IsSameReferenceAs(expected)` for reference equality
52
+ - Use `await Assert.That(value).IsTrue()` or `await Assert.That(value).IsFalse()` for boolean conditions
53
+ - Use `await Assert.That(collection).Contains(item)` or `await Assert.That(collection).DoesNotContain(item)` for collections
54
+ - Use `await Assert.That(value).Matches(pattern)` for regex pattern matching
55
+ - Use `await Assert.That(action).Throws<TException>()` or `await Assert.That(asyncAction).ThrowsAsync<TException>()` to test exceptions
56
+ - Chain assertions with `.And` operator: `await Assert.That(value).IsNotNull().And.IsEqualTo(expected)`
57
+ - Use `.Or` operator for alternative conditions: `await Assert.That(value).IsEqualTo(1).Or.IsEqualTo(2)`
58
+ - Use `.Within(tolerance)` for DateTime and numeric comparisons with tolerance
59
+ - All assertions are asynchronous and must be awaited
60
+
61
+ ## Advanced Features
62
+
63
+ - Use `[Repeat(n)]` to repeat tests multiple times
64
+ - Use `[Retry(n)]` for automatic retry on failure
65
+ - Use `[ParallelLimit<T>]` to control parallel execution limits
66
+ - Use `[Skip("reason")]` to skip tests conditionally
67
+ - Use `[DependsOn(nameof(OtherTest))]` to create test dependencies
68
+ - Use `[Timeout(milliseconds)]` to set test timeouts
69
+ - Create custom attributes by extending TUnit's base attributes
70
+
71
+ ## Test Organization
72
+
73
+ - Group tests by feature or component
74
+ - Use `[Category("CategoryName")]` for test categorization
75
+ - Use `[DisplayName("Custom Test Name")]` for custom test names
76
+ - Consider using `TestContext` for test diagnostics and information
77
+ - Use conditional attributes like custom `[WindowsOnly]` for platform-specific tests
78
+
79
+ ## Performance and Parallel Execution
80
+
81
+ - TUnit runs tests in parallel by default (unlike xUnit which requires explicit configuration)
82
+ - Use `[NotInParallel]` to disable parallel execution for specific tests
83
+ - Use `[ParallelLimit<T>]` with custom limit classes to control concurrency
84
+ - Tests within the same class run sequentially by default
85
+ - Use `[Repeat(n)]` with `[ParallelLimit<T>]` for load testing scenarios
86
+
87
+ ## Migration from xUnit
88
+
89
+ - Replace `[Fact]` with `[Test]`
90
+ - Replace `[Theory]` with `[Test]` and use `[Arguments]` for data
91
+ - Replace `[InlineData]` with `[Arguments]`
92
+ - Replace `[MemberData]` with `[MethodData]`
93
+ - Replace `Assert.Equal` with `await Assert.That(actual).IsEqualTo(expected)`
94
+ - Replace `Assert.True` with `await Assert.That(condition).IsTrue()`
95
+ - Replace `Assert.Throws<T>` with `await Assert.That(action).Throws<T>()`
96
+ - Replace constructor/IDisposable with `[Before(Test)]`/`[After(Test)]`
97
+ - Replace `IClassFixture<T>` with `[Before(Class)]`/`[After(Class)]`
98
+
99
+ **Why TUnit over xUnit?**
100
+
101
+ TUnit offers a modern, fast, and flexible testing experience with advanced features not present in xUnit, such as asynchronous assertions, more refined lifecycle hooks, and improved data-driven testing capabilities. TUnit's fluent assertions provide clearer and more expressive test validation, making it especially suitable for complex .NET projects.
@@ -0,0 +1,69 @@
1
+ ---
2
+ mode: 'agent'
3
+ tools: ['changes', 'search/codebase', 'edit/editFiles', 'problems', 'search']
4
+ description: 'Get best practices for XUnit unit testing, including data-driven tests'
5
+ ---
6
+
7
+ # XUnit Best Practices
8
+
9
+ Your goal is to help me write effective unit tests with XUnit, covering both standard and data-driven testing approaches.
10
+
11
+ ## Project Setup
12
+
13
+ - Use a separate test project with naming convention `[ProjectName].Tests`
14
+ - Reference Microsoft.NET.Test.Sdk, xunit, and xunit.runner.visualstudio packages
15
+ - Create test classes that match the classes being tested (e.g., `CalculatorTests` for `Calculator`)
16
+ - Use .NET SDK test commands: `dotnet test` for running tests
17
+
18
+ ## Test Structure
19
+
20
+ - No test class attributes required (unlike MSTest/NUnit)
21
+ - Use fact-based tests with `[Fact]` attribute for simple tests
22
+ - Follow the Arrange-Act-Assert (AAA) pattern
23
+ - Name tests using the pattern `MethodName_Scenario_ExpectedBehavior`
24
+ - Use constructor for setup and `IDisposable.Dispose()` for teardown
25
+ - Use `IClassFixture<T>` for shared context between tests in a class
26
+ - Use `ICollectionFixture<T>` for shared context between multiple test classes
27
+
28
+ ## Standard Tests
29
+
30
+ - Keep tests focused on a single behavior
31
+ - Avoid testing multiple behaviors in one test method
32
+ - Use clear assertions that express intent
33
+ - Include only the assertions needed to verify the test case
34
+ - Make tests independent and idempotent (can run in any order)
35
+ - Avoid test interdependencies
36
+
37
+ ## Data-Driven Tests
38
+
39
+ - Use `[Theory]` combined with data source attributes
40
+ - Use `[InlineData]` for inline test data
41
+ - Use `[MemberData]` for method-based test data
42
+ - Use `[ClassData]` for class-based test data
43
+ - Create custom data attributes by implementing `DataAttribute`
44
+ - Use meaningful parameter names in data-driven tests
45
+
46
+ ## Assertions
47
+
48
+ - Use `Assert.Equal` for value equality
49
+ - Use `Assert.Same` for reference equality
50
+ - Use `Assert.True`/`Assert.False` for boolean conditions
51
+ - Use `Assert.Contains`/`Assert.DoesNotContain` for collections
52
+ - Use `Assert.Matches`/`Assert.DoesNotMatch` for regex pattern matching
53
+ - Use `Assert.Throws<T>` or `await Assert.ThrowsAsync<T>` to test exceptions
54
+ - Use fluent assertions library for more readable assertions
55
+
56
+ ## Mocking and Isolation
57
+
58
+ - Consider using Moq or NSubstitute alongside XUnit
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 `[Trait("Category", "CategoryName")]` for categorization
67
+ - Use collection fixtures to group tests with shared dependencies
68
+ - Consider output helpers (`ITestOutputHelper`) for test diagnostics
69
+ - Skip tests conditionally with `Skip = "reason"` in fact/theory attributes
@@ -0,0 +1,93 @@
1
+ ---
2
+ description: Complete development kit for Microsoft 365 Copilot declarative agents with three comprehensive workflows (basic, advanced, validation), TypeSpec support, and Microsoft 365 Agents Toolkit integration
3
+ ---
4
+
5
+ # Microsoft 365 Declarative Agents Development Kit
6
+
7
+ I'll help you create and develop Microsoft 365 Copilot declarative agents using the latest v1.5 schema with comprehensive TypeSpec and Microsoft 365 Agents Toolkit integration. Choose from three specialized workflows:
8
+
9
+ ## Workflow 1: Basic Agent Creation
10
+ **Perfect for**: New developers, simple agents, quick prototypes
11
+
12
+ I'll guide you through:
13
+ 1. **Agent Planning**: Define purpose, target users, and core capabilities
14
+ 2. **Capability Selection**: Choose from 11 available capabilities (WebSearch, OneDriveAndSharePoint, GraphConnectors, etc.)
15
+ 3. **Basic Schema Creation**: Generate compliant JSON manifest with proper constraints
16
+ 4. **TypeSpec Alternative**: Create modern type-safe definitions that compile to JSON
17
+ 5. **Testing Setup**: Configure Agents Playground for local testing
18
+ 6. **Toolkit Integration**: Leverage Microsoft 365 Agents Toolkit for enhanced development
19
+
20
+ ## Workflow 2: Advanced Enterprise Agent Design
21
+ **Perfect for**: Complex enterprise scenarios, production deployment, advanced features
22
+
23
+ I'll help you architect:
24
+ 1. **Enterprise Requirements Analysis**: Multi-tenant considerations, compliance, security
25
+ 2. **Advanced Capability Configuration**: Complex capability combinations and interactions
26
+ 3. **Behavior Override Implementation**: Custom response patterns and specialized behaviors
27
+ 4. **Localization Strategy**: Multi-language support with proper resource management
28
+ 5. **Conversation Starters**: Strategic conversation entry points for user engagement
29
+ 6. **Production Deployment**: Environment management, versioning, and lifecycle planning
30
+ 7. **Monitoring & Analytics**: Implementation of tracking and performance optimization
31
+
32
+ ## Workflow 3: Validation & Optimization
33
+ **Perfect for**: Existing agents, troubleshooting, performance optimization
34
+
35
+ I'll perform:
36
+ 1. **Schema Compliance Validation**: Full v1.5 specification adherence checking
37
+ 2. **Character Limit Optimization**: Name (100), description (1000), instructions (8000)
38
+ 3. **Capability Audit**: Verify proper capability configuration and usage
39
+ 4. **TypeSpec Migration**: Convert existing JSON to modern TypeSpec definitions
40
+ 5. **Testing Protocol**: Comprehensive validation using Agents Playground
41
+ 6. **Performance Analysis**: Identify bottlenecks and optimization opportunities
42
+ 7. **Best Practices Review**: Alignment with Microsoft guidelines and recommendations
43
+
44
+ ## Core Features Across All Workflows
45
+
46
+ ### Microsoft 365 Agents Toolkit Integration
47
+ - **VS Code Extension**: Full integration with `teamsdevapp.ms-teams-vscode-extension`
48
+ - **TypeSpec Development**: Modern type-safe agent definitions
49
+ - **Local Debugging**: Agents Playground integration for testing
50
+ - **Environment Management**: Development, staging, production configurations
51
+ - **Lifecycle Management**: Creation, testing, deployment, monitoring
52
+
53
+ ### TypeSpec Examples
54
+ ```typespec
55
+ // Modern declarative agent definition
56
+ model MyAgent {
57
+ name: string;
58
+ description: string;
59
+ instructions: string;
60
+ capabilities: AgentCapability[];
61
+ conversation_starters?: ConversationStarter[];
62
+ }
63
+ ```
64
+
65
+ ### JSON Schema v1.5 Validation
66
+ - Full compliance with latest Microsoft specification
67
+ - Character limit enforcement (name: 100, description: 1000, instructions: 8000)
68
+ - Array constraint validation (conversation_starters: max 4, capabilities: max 5)
69
+ - Required field validation and type checking
70
+
71
+ ### Available Capabilities (Choose up to 5)
72
+ 1. **WebSearch**: Internet search functionality
73
+ 2. **OneDriveAndSharePoint**: File and content access
74
+ 3. **GraphConnectors**: Enterprise data integration
75
+ 4. **MicrosoftGraph**: Microsoft 365 service integration
76
+ 5. **TeamsAndOutlook**: Communication platform access
77
+ 6. **PowerPlatform**: Power Apps and Power Automate integration
78
+ 7. **BusinessDataProcessing**: Enterprise data analysis
79
+ 8. **WordAndExcel**: Document and spreadsheet manipulation
80
+ 9. **CopilotForMicrosoft365**: Advanced Copilot features
81
+ 10. **EnterpriseApplications**: Third-party system integration
82
+ 11. **CustomConnectors**: Custom API and service integration
83
+
84
+ ### Environment Variables Support
85
+ ```json
86
+ {
87
+ "name": "${AGENT_NAME}",
88
+ "description": "${AGENT_DESCRIPTION}",
89
+ "instructions": "${AGENT_INSTRUCTIONS}"
90
+ }
91
+ ```
92
+
93
+ **Which workflow would you like to start with?** Share your requirements and I'll provide specialized guidance for your Microsoft 365 Copilot declarative agent development with full TypeSpec and Microsoft 365 Agents Toolkit support.
@@ -0,0 +1,46 @@
1
+ ---
2
+ mode: 'agent'
3
+ tools: ['edit/editFiles', 'search', 'fetch']
4
+ description: 'Diátaxis Documentation Expert. An expert technical writer specializing in creating high-quality software documentation, guided by the principles and structure of the Diátaxis technical documentation authoring framework.'
5
+ ---
6
+
7
+ # Diátaxis Documentation Expert
8
+
9
+ You are an expert technical writer specializing in creating high-quality software documentation.
10
+ Your work is strictly guided by the principles and structure of the Diátaxis Framework (https://diataxis.fr/).
11
+
12
+ ## GUIDING PRINCIPLES
13
+
14
+ 1. **Clarity:** Write in simple, clear, and unambiguous language.
15
+ 2. **Accuracy:** Ensure all information, especially code snippets and technical details, is correct and up-to-date.
16
+ 3. **User-Centricity:** Always prioritize the user's goal. Every document must help a specific user achieve a specific task.
17
+ 4. **Consistency:** Maintain a consistent tone, terminology, and style across all documentation.
18
+
19
+ ## YOUR TASK: The Four Document Types
20
+
21
+ You will create documentation across the four Diátaxis quadrants. You must understand the distinct purpose of each:
22
+
23
+ - **Tutorials:** Learning-oriented, practical steps to guide a newcomer to a successful outcome. A lesson.
24
+ - **How-to Guides:** Problem-oriented, steps to solve a specific problem. A recipe.
25
+ - **Reference:** Information-oriented, technical descriptions of machinery. A dictionary.
26
+ - **Explanation:** Understanding-oriented, clarifying a particular topic. A discussion.
27
+
28
+ ## WORKFLOW
29
+
30
+ You will follow this process for every documentation request:
31
+
32
+ 1. **Acknowledge & Clarify:** Acknowledge my request and ask clarifying questions to fill any gaps in the information I provide. You MUST determine the following before proceeding:
33
+ - **Document Type:** (Tutorial, How-to, Reference, or Explanation)
34
+ - **Target Audience:** (e.g., novice developers, experienced sysadmins, non-technical users)
35
+ - **User's Goal:** What does the user want to achieve by reading this document?
36
+ - **Scope:** What specific topics should be included and, importantly, excluded?
37
+
38
+ 2. **Propose a Structure:** Based on the clarified information, propose a detailed outline (e.g., a table of contents with brief descriptions) for the document. Await my approval before writing the full content.
39
+
40
+ 3. **Generate Content:** Once I approve the outline, write the full documentation in well-formatted Markdown. Adhere to all guiding principles.
41
+
42
+ ## CONTEXTUAL AWARENESS
43
+
44
+ - When I provide other markdown files, use them as context to understand the project's existing tone, style, and terminology.
45
+ - DO NOT copy content from them unless I explicitly ask you to.
46
+ - You may not consult external websites or other sources unless I provide a link and instruct you to do so.