workspace-architect 1.3.0 → 1.5.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/assets-manifest.json +3392 -0
  2. package/bin/cli.js +134 -72
  3. package/package.json +11 -2
  4. package/.env.example +0 -1
  5. package/.gitattributes +0 -1
  6. package/.github/workflows/manual-publish.yml +0 -36
  7. package/.github/workflows/sync-and-publish.yml +0 -58
  8. package/.release-it.json +0 -20
  9. package/CHANGELOG.md +0 -43
  10. package/assets/chatmodes/4.1-Beast.chatmode.md +0 -152
  11. package/assets/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -337
  12. package/assets/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -644
  13. package/assets/chatmodes/accessibility.chatmode.md +0 -298
  14. package/assets/chatmodes/address-comments.chatmode.md +0 -59
  15. package/assets/chatmodes/aem-frontend-specialist.chatmode.md +0 -385
  16. package/assets/chatmodes/api-architect.chatmode.md +0 -40
  17. package/assets/chatmodes/atlassian-requirements-to-jira.chatmode.md +0 -444
  18. package/assets/chatmodes/azure-logic-apps-expert.chatmode.md +0 -100
  19. package/assets/chatmodes/azure-principal-architect.chatmode.md +0 -58
  20. package/assets/chatmodes/azure-saas-architect.chatmode.md +0 -118
  21. package/assets/chatmodes/azure-verified-modules-bicep.chatmode.md +0 -44
  22. package/assets/chatmodes/azure-verified-modules-terraform.chatmode.md +0 -58
  23. package/assets/chatmodes/bicep-implement.chatmode.md +0 -40
  24. package/assets/chatmodes/bicep-plan.chatmode.md +0 -112
  25. package/assets/chatmodes/blueprint-mode-codex.chatmode.md +0 -110
  26. package/assets/chatmodes/blueprint-mode.chatmode.md +0 -171
  27. package/assets/chatmodes/clojure-interactive-programming.chatmode.md +0 -174
  28. package/assets/chatmodes/code-tour.chatmode.md +0 -205
  29. package/assets/chatmodes/critical-thinking.chatmode.md +0 -23
  30. package/assets/chatmodes/csharp-dotnet-janitor.chatmode.md +0 -83
  31. package/assets/chatmodes/csharp-mcp-expert.chatmode.md +0 -69
  32. package/assets/chatmodes/debug.chatmode.md +0 -79
  33. package/assets/chatmodes/declarative-agents-architect.chatmode.md +0 -76
  34. package/assets/chatmodes/demonstrate-understanding.chatmode.md +0 -60
  35. package/assets/chatmodes/dotnet-upgrade.chatmode.md +0 -222
  36. package/assets/chatmodes/drupal-expert.chatmode.md +0 -687
  37. package/assets/chatmodes/electron-angular-native.chatmode.md +0 -285
  38. package/assets/chatmodes/expert-cpp-software-engineer.chatmode.md +0 -27
  39. package/assets/chatmodes/expert-dotnet-software-engineer.chatmode.md +0 -22
  40. package/assets/chatmodes/expert-nextjs-developer.chatmode.md +0 -477
  41. package/assets/chatmodes/expert-react-frontend-engineer.chatmode.md +0 -738
  42. package/assets/chatmodes/gilfoyle.chatmode.md +0 -66
  43. package/assets/chatmodes/go-mcp-expert.chatmode.md +0 -122
  44. package/assets/chatmodes/gpt-5-beast-mode.chatmode.md +0 -109
  45. package/assets/chatmodes/hlbpa.chatmode.md +0 -232
  46. package/assets/chatmodes/implementation-plan.chatmode.md +0 -159
  47. package/assets/chatmodes/janitor.chatmode.md +0 -89
  48. package/assets/chatmodes/java-mcp-expert.chatmode.md +0 -325
  49. package/assets/chatmodes/kotlin-mcp-expert.chatmode.md +0 -181
  50. package/assets/chatmodes/kusto-assistant.chatmode.md +0 -143
  51. package/assets/chatmodes/laravel-expert-agent.chatmode.md +0 -628
  52. package/assets/chatmodes/mentor.chatmode.md +0 -32
  53. package/assets/chatmodes/meta-agentic-project-scaffold.chatmode.md +0 -15
  54. package/assets/chatmodes/microsoft-agent-framework-dotnet.chatmode.md +0 -62
  55. package/assets/chatmodes/microsoft-agent-framework-python.chatmode.md +0 -62
  56. package/assets/chatmodes/microsoft-study-mode.chatmode.md +0 -32
  57. package/assets/chatmodes/microsoft_learn_contributor.chatmode.md +0 -388
  58. package/assets/chatmodes/ms-sql-dba.chatmode.md +0 -25
  59. package/assets/chatmodes/php-mcp-expert.chatmode.md +0 -498
  60. package/assets/chatmodes/pimcore-expert.chatmode.md +0 -869
  61. package/assets/chatmodes/plan.chatmode.md +0 -114
  62. package/assets/chatmodes/planner.chatmode.md +0 -14
  63. package/assets/chatmodes/playwright-tester.chatmode.md +0 -13
  64. package/assets/chatmodes/postgresql-dba.chatmode.md +0 -17
  65. package/assets/chatmodes/power-bi-data-modeling-expert.chatmode.md +0 -319
  66. package/assets/chatmodes/power-bi-dax-expert.chatmode.md +0 -334
  67. package/assets/chatmodes/power-bi-performance-expert.chatmode.md +0 -533
  68. package/assets/chatmodes/power-bi-visualization-expert.chatmode.md +0 -549
  69. package/assets/chatmodes/power-platform-expert.chatmode.md +0 -116
  70. package/assets/chatmodes/power-platform-mcp-integration-expert.chatmode.md +0 -149
  71. package/assets/chatmodes/prd.chatmode.md +0 -201
  72. package/assets/chatmodes/principal-software-engineer.chatmode.md +0 -41
  73. package/assets/chatmodes/prompt-builder.chatmode.md +0 -352
  74. package/assets/chatmodes/prompt-engineer.chatmode.md +0 -72
  75. package/assets/chatmodes/python-mcp-expert.chatmode.md +0 -99
  76. package/assets/chatmodes/refine-issue.chatmode.md +0 -34
  77. package/assets/chatmodes/research-technical-spike.chatmode.md +0 -169
  78. package/assets/chatmodes/ruby-mcp-expert.chatmode.md +0 -346
  79. package/assets/chatmodes/rust-gpt-4.1-beast-mode.chatmode.md +0 -197
  80. package/assets/chatmodes/rust-mcp-expert.chatmode.md +0 -465
  81. package/assets/chatmodes/search-ai-optimization-expert.chatmode.md +0 -227
  82. package/assets/chatmodes/semantic-kernel-dotnet.chatmode.md +0 -31
  83. package/assets/chatmodes/semantic-kernel-python.chatmode.md +0 -28
  84. package/assets/chatmodes/shopify-expert.chatmode.md +0 -681
  85. package/assets/chatmodes/simple-app-idea-generator.chatmode.md +0 -134
  86. package/assets/chatmodes/software-engineer-agent-v1.chatmode.md +0 -164
  87. package/assets/chatmodes/specification.chatmode.md +0 -127
  88. package/assets/chatmodes/swift-mcp-expert.chatmode.md +0 -240
  89. package/assets/chatmodes/task-planner.chatmode.md +0 -374
  90. package/assets/chatmodes/task-researcher.chatmode.md +0 -254
  91. package/assets/chatmodes/tdd-green.chatmode.md +0 -59
  92. package/assets/chatmodes/tdd-red.chatmode.md +0 -59
  93. package/assets/chatmodes/tdd-refactor.chatmode.md +0 -84
  94. package/assets/chatmodes/tech-debt-remediation-plan.chatmode.md +0 -49
  95. package/assets/chatmodes/terraform-azure-implement.chatmode.md +0 -104
  96. package/assets/chatmodes/terraform-azure-planning.chatmode.md +0 -157
  97. package/assets/chatmodes/typescript-mcp-expert.chatmode.md +0 -91
  98. package/assets/chatmodes/voidbeast-gpt41enhanced.chatmode.md +0 -230
  99. package/assets/chatmodes/wg-code-alchemist.chatmode.md +0 -61
  100. package/assets/chatmodes/wg-code-sentinel.chatmode.md +0 -55
  101. package/assets/collections/ai-prompt-engineering.json +0 -18
  102. package/assets/collections/angular-development.json +0 -7
  103. package/assets/collections/azure-cloud-architect.json +0 -29
  104. package/assets/collections/cpp-development.json +0 -6
  105. package/assets/collections/database-administration.json +0 -8
  106. package/assets/collections/devops-sre.json +0 -11
  107. package/assets/collections/dotnet-development.json +0 -22
  108. package/assets/collections/general-productivity.json +0 -9
  109. package/assets/collections/go-development.json +0 -7
  110. package/assets/collections/java-spring-developer.json +0 -26
  111. package/assets/collections/learning-mentoring.json +0 -10
  112. package/assets/collections/legacy-migration.json +0 -4
  113. package/assets/collections/mcp-specialist.json +0 -41
  114. package/assets/collections/mobile-development.json +0 -4
  115. package/assets/collections/php-cms-development.json +0 -11
  116. package/assets/collections/power-platform-specialist.json +0 -31
  117. package/assets/collections/project-management.json +0 -12
  118. package/assets/collections/python-development.json +0 -13
  119. package/assets/collections/quality-assurance.json +0 -13
  120. package/assets/collections/ruby-development.json +0 -9
  121. package/assets/collections/rust-development.json +0 -10
  122. package/assets/collections/security-specialist.json +0 -8
  123. package/assets/collections/software-architect.json +0 -25
  124. package/assets/collections/technical-writing.json +0 -9
  125. package/assets/collections/web-frontend-development.json +0 -14
  126. package/assets/instructions/a11y.instructions.md +0 -369
  127. package/assets/instructions/ai-prompt-engineering-safety-best-practices.instructions.md +0 -867
  128. package/assets/instructions/angular.instructions.md +0 -104
  129. package/assets/instructions/ansible.instructions.md +0 -88
  130. package/assets/instructions/aspnet-rest-apis.instructions.md +0 -110
  131. package/assets/instructions/astro.instructions.md +0 -182
  132. package/assets/instructions/azure-devops-pipelines.instructions.md +0 -185
  133. package/assets/instructions/azure-functions-typescript.instructions.md +0 -14
  134. package/assets/instructions/azure-logic-apps-power-automate.instructions.md +0 -1943
  135. package/assets/instructions/azure-verified-modules-terraform.instructions.md +0 -229
  136. package/assets/instructions/bicep-code-best-practices.instructions.md +0 -54
  137. package/assets/instructions/blazor.instructions.md +0 -77
  138. package/assets/instructions/clojure.instructions.md +0 -349
  139. package/assets/instructions/cmake-vcpkg.instructions.md +0 -10
  140. package/assets/instructions/codexer.instructions.md +0 -428
  141. package/assets/instructions/coldfusion-cfc.instructions.md +0 -30
  142. package/assets/instructions/coldfusion-cfm.instructions.md +0 -28
  143. package/assets/instructions/collections.instructions.md +0 -54
  144. package/assets/instructions/containerization-docker-best-practices.instructions.md +0 -681
  145. package/assets/instructions/convert-jpa-to-spring-data-cosmos.instructions.md +0 -949
  146. package/assets/instructions/copilot-thought-logging.instructions.md +0 -62
  147. package/assets/instructions/csharp-ja.instructions.md +0 -114
  148. package/assets/instructions/csharp-ko.instructions.md +0 -77
  149. package/assets/instructions/csharp-mcp-server.instructions.md +0 -95
  150. package/assets/instructions/csharp.instructions.md +0 -114
  151. package/assets/instructions/dart-n-flutter.instructions.md +0 -447
  152. package/assets/instructions/declarative-agents-microsoft365.instructions.md +0 -316
  153. package/assets/instructions/devbox-image-definition.instructions.md +0 -302
  154. package/assets/instructions/devops-core-principles.instructions.md +0 -167
  155. package/assets/instructions/dotnet-architecture-good-practices.instructions.md +0 -279
  156. package/assets/instructions/dotnet-framework.instructions.md +0 -113
  157. package/assets/instructions/dotnet-maui-9-to-dotnet-maui-10-upgrade.instructions.md +0 -1922
  158. package/assets/instructions/dotnet-maui.instructions.md +0 -69
  159. package/assets/instructions/dotnet-upgrade.instructions.md +0 -287
  160. package/assets/instructions/dotnet-wpf.instructions.md +0 -79
  161. package/assets/instructions/genaiscript.instructions.md +0 -21
  162. package/assets/instructions/generate-modern-terraform-code-for-azure.instructions.md +0 -82
  163. package/assets/instructions/gilfoyle-code-review.instructions.md +0 -114
  164. package/assets/instructions/github-actions-ci-cd-best-practices.instructions.md +0 -607
  165. package/assets/instructions/go-mcp-server.instructions.md +0 -346
  166. package/assets/instructions/go.instructions.md +0 -373
  167. package/assets/instructions/instructions.instructions.md +0 -256
  168. package/assets/instructions/java-11-to-java-17-upgrade.instructions.md +0 -793
  169. package/assets/instructions/java-17-to-java-21-upgrade.instructions.md +0 -464
  170. package/assets/instructions/java-21-to-java-25-upgrade.instructions.md +0 -311
  171. package/assets/instructions/java-mcp-server.instructions.md +0 -553
  172. package/assets/instructions/java.instructions.md +0 -81
  173. package/assets/instructions/joyride-user-project.instructions.md +0 -206
  174. package/assets/instructions/joyride-workspace-automation.instructions.md +0 -46
  175. package/assets/instructions/kotlin-mcp-server.instructions.md +0 -481
  176. package/assets/instructions/kubernetes-deployment-best-practices.instructions.md +0 -307
  177. package/assets/instructions/langchain-python.instructions.md +0 -229
  178. package/assets/instructions/localization.instructions.md +0 -39
  179. package/assets/instructions/makefile.instructions.md +0 -410
  180. package/assets/instructions/markdown.instructions.md +0 -52
  181. package/assets/instructions/memory-bank.instructions.md +0 -299
  182. package/assets/instructions/mongo-dba.instructions.md +0 -25
  183. package/assets/instructions/ms-sql-dba.instructions.md +0 -25
  184. package/assets/instructions/nestjs.instructions.md +0 -406
  185. package/assets/instructions/nextjs-tailwind.instructions.md +0 -72
  186. package/assets/instructions/nextjs.instructions.md +0 -143
  187. package/assets/instructions/nodejs-javascript-vitest.instructions.md +0 -30
  188. package/assets/instructions/object-calisthenics.instructions.md +0 -302
  189. package/assets/instructions/oqtane.instructions.md +0 -86
  190. package/assets/instructions/performance-optimization.instructions.md +0 -420
  191. package/assets/instructions/php-mcp-server.instructions.md +0 -809
  192. package/assets/instructions/playwright-dotnet.instructions.md +0 -101
  193. package/assets/instructions/playwright-python.instructions.md +0 -62
  194. package/assets/instructions/playwright-typescript.instructions.md +0 -86
  195. package/assets/instructions/power-apps-canvas-yaml.instructions.md +0 -827
  196. package/assets/instructions/power-apps-code-apps.instructions.md +0 -601
  197. package/assets/instructions/power-bi-custom-visuals-development.instructions.md +0 -810
  198. package/assets/instructions/power-bi-data-modeling-best-practices.instructions.md +0 -639
  199. package/assets/instructions/power-bi-dax-best-practices.instructions.md +0 -795
  200. package/assets/instructions/power-bi-devops-alm-best-practices.instructions.md +0 -623
  201. package/assets/instructions/power-bi-report-design-best-practices.instructions.md +0 -752
  202. package/assets/instructions/power-bi-security-rls-best-practices.instructions.md +0 -504
  203. package/assets/instructions/power-platform-connector.instructions.md +0 -430
  204. package/assets/instructions/power-platform-mcp-development.instructions.md +0 -88
  205. package/assets/instructions/powershell-pester-5.instructions.md +0 -197
  206. package/assets/instructions/powershell.instructions.md +0 -356
  207. package/assets/instructions/prompt.instructions.md +0 -73
  208. package/assets/instructions/python-mcp-server.instructions.md +0 -204
  209. package/assets/instructions/python.instructions.md +0 -56
  210. package/assets/instructions/quarkus-mcp-server-sse.instructions.md +0 -49
  211. package/assets/instructions/quarkus.instructions.md +0 -98
  212. package/assets/instructions/r.instructions.md +0 -116
  213. package/assets/instructions/reactjs.instructions.md +0 -162
  214. package/assets/instructions/ruby-mcp-server.instructions.md +0 -629
  215. package/assets/instructions/ruby-on-rails.instructions.md +0 -124
  216. package/assets/instructions/rust-mcp-server.instructions.md +0 -715
  217. package/assets/instructions/rust.instructions.md +0 -135
  218. package/assets/instructions/security-and-owasp.instructions.md +0 -51
  219. package/assets/instructions/self-explanatory-code-commenting.instructions.md +0 -162
  220. package/assets/instructions/shell.instructions.md +0 -132
  221. package/assets/instructions/spec-driven-workflow-v1.instructions.md +0 -323
  222. package/assets/instructions/springboot.instructions.md +0 -68
  223. package/assets/instructions/sql-sp-generation.instructions.md +0 -74
  224. package/assets/instructions/svelte.instructions.md +0 -161
  225. package/assets/instructions/swift-mcp-server.instructions.md +0 -498
  226. package/assets/instructions/taming-copilot.instructions.md +0 -40
  227. package/assets/instructions/tanstack-start-shadcn-tailwind.instructions.md +0 -212
  228. package/assets/instructions/task-implementation.instructions.md +0 -190
  229. package/assets/instructions/tasksync.instructions.md +0 -352
  230. package/assets/instructions/terraform-azure.instructions.md +0 -254
  231. package/assets/instructions/terraform-sap-btp.instructions.md +0 -195
  232. package/assets/instructions/terraform.instructions.md +0 -113
  233. package/assets/instructions/typescript-5-es2022.instructions.md +0 -114
  234. package/assets/instructions/typescript-mcp-server.instructions.md +0 -228
  235. package/assets/instructions/update-code-from-shorthand.instructions.md +0 -130
  236. package/assets/instructions/vuejs3.instructions.md +0 -153
  237. package/assets/instructions/wordpress.instructions.md +0 -186
  238. package/assets/prompts/add-educational-comments.prompt.md +0 -129
  239. package/assets/prompts/ai-prompt-engineering-safety-review.prompt.md +0 -230
  240. package/assets/prompts/architecture-blueprint-generator.prompt.md +0 -322
  241. package/assets/prompts/aspnet-minimal-api-openapi.prompt.md +0 -42
  242. package/assets/prompts/az-cost-optimize.prompt.md +0 -305
  243. package/assets/prompts/azure-resource-health-diagnose.prompt.md +0 -290
  244. package/assets/prompts/boost-prompt.prompt.md +0 -25
  245. package/assets/prompts/breakdown-epic-arch.prompt.md +0 -66
  246. package/assets/prompts/breakdown-epic-pm.prompt.md +0 -58
  247. package/assets/prompts/breakdown-feature-implementation.prompt.md +0 -128
  248. package/assets/prompts/breakdown-feature-prd.prompt.md +0 -61
  249. package/assets/prompts/breakdown-plan.prompt.md +0 -509
  250. package/assets/prompts/breakdown-test.prompt.md +0 -365
  251. package/assets/prompts/code-exemplars-blueprint-generator.prompt.md +0 -126
  252. package/assets/prompts/comment-code-generate-a-tutorial.prompt.md +0 -26
  253. package/assets/prompts/containerize-aspnet-framework.prompt.md +0 -455
  254. package/assets/prompts/containerize-aspnetcore.prompt.md +0 -393
  255. package/assets/prompts/conventional-commit.prompt.md +0 -73
  256. package/assets/prompts/copilot-instructions-blueprint-generator.prompt.md +0 -294
  257. package/assets/prompts/cosmosdb-datamodeling.prompt.md +0 -1045
  258. package/assets/prompts/create-agentsmd.prompt.md +0 -249
  259. package/assets/prompts/create-architectural-decision-record.prompt.md +0 -97
  260. package/assets/prompts/create-github-action-workflow-specification.prompt.md +0 -276
  261. package/assets/prompts/create-github-issue-feature-from-specification.prompt.md +0 -28
  262. package/assets/prompts/create-github-issues-feature-from-implementation-plan.prompt.md +0 -28
  263. package/assets/prompts/create-github-issues-for-unmet-specification-requirements.prompt.md +0 -35
  264. package/assets/prompts/create-github-pull-request-from-specification.prompt.md +0 -24
  265. package/assets/prompts/create-implementation-plan.prompt.md +0 -157
  266. package/assets/prompts/create-llms.prompt.md +0 -210
  267. package/assets/prompts/create-oo-component-documentation.prompt.md +0 -193
  268. package/assets/prompts/create-readme.prompt.md +0 -21
  269. package/assets/prompts/create-specification.prompt.md +0 -127
  270. package/assets/prompts/create-spring-boot-java-project.prompt.md +0 -163
  271. package/assets/prompts/create-spring-boot-kotlin-project.prompt.md +0 -147
  272. package/assets/prompts/create-technical-spike.prompt.md +0 -231
  273. package/assets/prompts/csharp-async.prompt.md +0 -50
  274. package/assets/prompts/csharp-docs.prompt.md +0 -63
  275. package/assets/prompts/csharp-mcp-server-generator.prompt.md +0 -59
  276. package/assets/prompts/csharp-mstest.prompt.md +0 -67
  277. package/assets/prompts/csharp-nunit.prompt.md +0 -72
  278. package/assets/prompts/csharp-tunit.prompt.md +0 -101
  279. package/assets/prompts/csharp-xunit.prompt.md +0 -69
  280. package/assets/prompts/declarative-agents.prompt.md +0 -93
  281. package/assets/prompts/documentation-writer.prompt.md +0 -46
  282. package/assets/prompts/dotnet-best-practices.prompt.md +0 -84
  283. package/assets/prompts/dotnet-design-pattern-review.prompt.md +0 -41
  284. package/assets/prompts/dotnet-upgrade.prompt.md +0 -116
  285. package/assets/prompts/editorconfig.prompt.md +0 -64
  286. package/assets/prompts/ef-core.prompt.md +0 -76
  287. package/assets/prompts/finalize-agent-prompt.prompt.md +0 -27
  288. package/assets/prompts/first-ask.prompt.md +0 -29
  289. package/assets/prompts/folder-structure-blueprint-generator.prompt.md +0 -405
  290. package/assets/prompts/gen-specs-as-issues.prompt.md +0 -165
  291. package/assets/prompts/generate-custom-instructions-from-codebase.prompt.md +0 -240
  292. package/assets/prompts/git-flow-branch-creator.prompt.md +0 -293
  293. package/assets/prompts/github-copilot-starter.prompt.md +0 -372
  294. package/assets/prompts/go-mcp-server-generator.prompt.md +0 -334
  295. package/assets/prompts/java-docs.prompt.md +0 -24
  296. package/assets/prompts/java-junit.prompt.md +0 -64
  297. package/assets/prompts/java-mcp-server-generator.prompt.md +0 -756
  298. package/assets/prompts/java-refactoring-extract-method.prompt.md +0 -105
  299. package/assets/prompts/java-refactoring-remove-parameter.prompt.md +0 -85
  300. package/assets/prompts/java-springboot.prompt.md +0 -66
  301. package/assets/prompts/javascript-typescript-jest.prompt.md +0 -44
  302. package/assets/prompts/kotlin-mcp-server-generator.prompt.md +0 -449
  303. package/assets/prompts/kotlin-springboot.prompt.md +0 -71
  304. package/assets/prompts/mcp-copilot-studio-server-generator.prompt.md +0 -118
  305. package/assets/prompts/memory-merger.prompt.md +0 -107
  306. package/assets/prompts/mkdocs-translations.prompt.md +0 -110
  307. package/assets/prompts/model-recommendation.prompt.md +0 -677
  308. package/assets/prompts/multi-stage-dockerfile.prompt.md +0 -47
  309. package/assets/prompts/my-issues.prompt.md +0 -9
  310. package/assets/prompts/my-pull-requests.prompt.md +0 -15
  311. package/assets/prompts/next-intl-add-language.prompt.md +0 -20
  312. package/assets/prompts/php-mcp-server-generator.prompt.md +0 -522
  313. package/assets/prompts/playwright-automation-fill-in-form.prompt.md +0 -30
  314. package/assets/prompts/playwright-explore-website.prompt.md +0 -19
  315. package/assets/prompts/playwright-generate-test.prompt.md +0 -19
  316. package/assets/prompts/postgresql-code-review.prompt.md +0 -214
  317. package/assets/prompts/postgresql-optimization.prompt.md +0 -406
  318. package/assets/prompts/power-apps-code-app-scaffold.prompt.md +0 -150
  319. package/assets/prompts/power-bi-dax-optimization.prompt.md +0 -175
  320. package/assets/prompts/power-bi-model-design-review.prompt.md +0 -405
  321. package/assets/prompts/power-bi-performance-troubleshooting.prompt.md +0 -384
  322. package/assets/prompts/power-bi-report-design-consultation.prompt.md +0 -353
  323. package/assets/prompts/power-platform-mcp-connector-suite.prompt.md +0 -156
  324. package/assets/prompts/project-workflow-analysis-blueprint-generator.prompt.md +0 -294
  325. package/assets/prompts/prompt-builder.prompt.md +0 -142
  326. package/assets/prompts/pytest-coverage.prompt.md +0 -28
  327. package/assets/prompts/python-mcp-server-generator.prompt.md +0 -105
  328. package/assets/prompts/readme-blueprint-generator.prompt.md +0 -79
  329. package/assets/prompts/remember-interactive-programming.prompt.md +0 -13
  330. package/assets/prompts/remember.prompt.md +0 -125
  331. package/assets/prompts/repo-story-time.prompt.md +0 -156
  332. package/assets/prompts/review-and-refactor.prompt.md +0 -15
  333. package/assets/prompts/ruby-mcp-server-generator.prompt.md +0 -660
  334. package/assets/prompts/rust-mcp-server-generator.prompt.md +0 -578
  335. package/assets/prompts/shuffle-json-data.prompt.md +0 -151
  336. package/assets/prompts/sql-code-review.prompt.md +0 -303
  337. package/assets/prompts/sql-optimization.prompt.md +0 -298
  338. package/assets/prompts/suggest-awesome-github-copilot-agents.prompt.md +0 -72
  339. package/assets/prompts/suggest-awesome-github-copilot-chatmodes.prompt.md +0 -71
  340. package/assets/prompts/suggest-awesome-github-copilot-collections.prompt.md +0 -149
  341. package/assets/prompts/suggest-awesome-github-copilot-instructions.prompt.md +0 -88
  342. package/assets/prompts/suggest-awesome-github-copilot-prompts.prompt.md +0 -71
  343. package/assets/prompts/swift-mcp-server-generator.prompt.md +0 -669
  344. package/assets/prompts/technology-stack-blueprint-generator.prompt.md +0 -242
  345. package/assets/prompts/typescript-mcp-server-generator.prompt.md +0 -90
  346. package/assets/prompts/update-avm-modules-in-bicep.prompt.md +0 -60
  347. package/assets/prompts/update-implementation-plan.prompt.md +0 -157
  348. package/assets/prompts/update-llms.prompt.md +0 -216
  349. package/assets/prompts/update-markdown-file-index.prompt.md +0 -76
  350. package/assets/prompts/update-oo-component-documentation.prompt.md +0 -162
  351. package/assets/prompts/update-specification.prompt.md +0 -127
  352. package/assets/prompts/write-coding-standards-from-file.prompt.md +0 -316
  353. package/scripts/sync.js +0 -99
  354. package/verdaccio/config.yaml +0 -202
@@ -1,197 +0,0 @@
1
- ---
2
- applyTo: '**/*.Tests.ps1'
3
- description: 'PowerShell Pester testing best practices based on Pester v5 conventions'
4
- ---
5
-
6
- # PowerShell Pester v5 Testing Guidelines
7
-
8
- This guide provides PowerShell-specific instructions for creating automated tests using PowerShell Pester v5 module. Follow PowerShell cmdlet development guidelines in [powershell.instructions.md](./powershell.instructions.md) for general PowerShell scripting best practices.
9
-
10
- ## File Naming and Structure
11
-
12
- - **File Convention:** Use `*.Tests.ps1` naming pattern
13
- - **Placement:** Place test files next to tested code or in dedicated test directories
14
- - **Import Pattern:** Use `BeforeAll { . $PSScriptRoot/FunctionName.ps1 }` to import tested functions
15
- - **No Direct Code:** Put ALL code inside Pester blocks (`BeforeAll`, `Describe`, `Context`, `It`, etc.)
16
-
17
- ## Test Structure Hierarchy
18
-
19
- ```powershell
20
- BeforeAll { # Import tested functions }
21
- Describe 'FunctionName' {
22
- Context 'When condition' {
23
- BeforeAll { # Setup for context }
24
- It 'Should behavior' { # Individual test }
25
- AfterAll { # Cleanup for context }
26
- }
27
- }
28
- ```
29
-
30
- ## Core Keywords
31
-
32
- - **`Describe`**: Top-level grouping, typically named after function being tested
33
- - **`Context`**: Sub-grouping within Describe for specific scenarios
34
- - **`It`**: Individual test cases, use descriptive names
35
- - **`Should`**: Assertion keyword for test validation
36
- - **`BeforeAll/AfterAll`**: Setup/teardown once per block
37
- - **`BeforeEach/AfterEach`**: Setup/teardown before/after each test
38
-
39
- ## Setup and Teardown
40
-
41
- - **`BeforeAll`**: Runs once at start of containing block, use for expensive operations
42
- - **`BeforeEach`**: Runs before every `It` in block, use for test-specific setup
43
- - **`AfterEach`**: Runs after every `It`, guaranteed even if test fails
44
- - **`AfterAll`**: Runs once at end of block, use for cleanup
45
- - **Variable Scoping**: `BeforeAll` variables available to child blocks (read-only), `BeforeEach/It/AfterEach` share same scope
46
-
47
- ## Assertions (Should)
48
-
49
- - **Basic Comparisons**: `-Be`, `-BeExactly`, `-Not -Be`
50
- - **Collections**: `-Contain`, `-BeIn`, `-HaveCount`
51
- - **Numeric**: `-BeGreaterThan`, `-BeLessThan`, `-BeGreaterOrEqual`
52
- - **Strings**: `-Match`, `-Like`, `-BeNullOrEmpty`
53
- - **Types**: `-BeOfType`, `-BeTrue`, `-BeFalse`
54
- - **Files**: `-Exist`, `-FileContentMatch`
55
- - **Exceptions**: `-Throw`, `-Not -Throw`
56
-
57
- ## Mocking
58
-
59
- - **`Mock CommandName { ScriptBlock }`**: Replace command behavior
60
- - **`-ParameterFilter`**: Mock only when parameters match condition
61
- - **`-Verifiable`**: Mark mock as requiring verification
62
- - **`Should -Invoke`**: Verify mock was called specific number of times
63
- - **`Should -InvokeVerifiable`**: Verify all verifiable mocks were called
64
- - **Scope**: Mocks default to containing block scope
65
-
66
- ```powershell
67
- Mock Get-Service { @{ Status = 'Running' } } -ParameterFilter { $Name -eq 'TestService' }
68
- Should -Invoke Get-Service -Exactly 1 -ParameterFilter { $Name -eq 'TestService' }
69
- ```
70
-
71
- ## Test Cases (Data-Driven Tests)
72
-
73
- Use `-TestCases` or `-ForEach` for parameterized tests:
74
-
75
- ```powershell
76
- It 'Should return <Expected> for <Input>' -TestCases @(
77
- @{ Input = 'value1'; Expected = 'result1' }
78
- @{ Input = 'value2'; Expected = 'result2' }
79
- ) {
80
- Get-Function $Input | Should -Be $Expected
81
- }
82
- ```
83
-
84
- ## Data-Driven Tests
85
-
86
- - **`-ForEach`**: Available on `Describe`, `Context`, and `It` for generating multiple tests from data
87
- - **`-TestCases`**: Alias for `-ForEach` on `It` blocks (backwards compatibility)
88
- - **Hashtable Data**: Each item defines variables available in test (e.g., `@{ Name = 'value'; Expected = 'result' }`)
89
- - **Array Data**: Uses `$_` variable for current item
90
- - **Templates**: Use `<variablename>` in test names for dynamic expansion
91
-
92
- ```powershell
93
- # Hashtable approach
94
- It 'Returns <Expected> for <Name>' -ForEach @(
95
- @{ Name = 'test1'; Expected = 'result1' }
96
- @{ Name = 'test2'; Expected = 'result2' }
97
- ) { Get-Function $Name | Should -Be $Expected }
98
-
99
- # Array approach
100
- It 'Contains <_>' -ForEach 'item1', 'item2' { Get-Collection | Should -Contain $_ }
101
- ```
102
-
103
- ## Tags
104
-
105
- - **Available on**: `Describe`, `Context`, and `It` blocks
106
- - **Filtering**: Use `-TagFilter` and `-ExcludeTagFilter` with `Invoke-Pester`
107
- - **Wildcards**: Tags support `-like` wildcards for flexible filtering
108
-
109
- ```powershell
110
- Describe 'Function' -Tag 'Unit' {
111
- It 'Should work' -Tag 'Fast', 'Stable' { }
112
- It 'Should be slow' -Tag 'Slow', 'Integration' { }
113
- }
114
-
115
- # Run only fast unit tests
116
- Invoke-Pester -TagFilter 'Unit' -ExcludeTagFilter 'Slow'
117
- ```
118
-
119
- ## Skip
120
-
121
- - **`-Skip`**: Available on `Describe`, `Context`, and `It` to skip tests
122
- - **Conditional**: Use `-Skip:$condition` for dynamic skipping
123
- - **Runtime Skip**: Use `Set-ItResult -Skipped` during test execution (setup/teardown still run)
124
-
125
- ```powershell
126
- It 'Should work on Windows' -Skip:(-not $IsWindows) { }
127
- Context 'Integration tests' -Skip { }
128
- ```
129
-
130
- ## Error Handling
131
-
132
- - **Continue on Failure**: Use `Should.ErrorAction = 'Continue'` to collect multiple failures
133
- - **Stop on Critical**: Use `-ErrorAction Stop` for pre-conditions
134
- - **Test Exceptions**: Use `{ Code } | Should -Throw` for exception testing
135
-
136
- ## Best Practices
137
-
138
- - **Descriptive Names**: Use clear test descriptions that explain behavior
139
- - **AAA Pattern**: Arrange (setup), Act (execute), Assert (verify)
140
- - **Isolated Tests**: Each test should be independent
141
- - **Avoid Aliases**: Use full cmdlet names (`Where-Object` not `?`)
142
- - **Single Responsibility**: One assertion per test when possible
143
- - **Test File Organization**: Group related tests in Context blocks. Context blocks can be nested.
144
-
145
- ## Example Test Pattern
146
-
147
- ```powershell
148
- BeforeAll {
149
- . $PSScriptRoot/Get-UserInfo.ps1
150
- }
151
-
152
- Describe 'Get-UserInfo' {
153
- Context 'When user exists' {
154
- BeforeAll {
155
- Mock Get-ADUser { @{ Name = 'TestUser'; Enabled = $true } }
156
- }
157
-
158
- It 'Should return user object' {
159
- $result = Get-UserInfo -Username 'TestUser'
160
- $result | Should -Not -BeNullOrEmpty
161
- $result.Name | Should -Be 'TestUser'
162
- }
163
-
164
- It 'Should call Get-ADUser once' {
165
- Get-UserInfo -Username 'TestUser'
166
- Should -Invoke Get-ADUser -Exactly 1
167
- }
168
- }
169
-
170
- Context 'When user does not exist' {
171
- BeforeAll {
172
- Mock Get-ADUser { throw "User not found" }
173
- }
174
-
175
- It 'Should throw exception' {
176
- { Get-UserInfo -Username 'NonExistent' } | Should -Throw "*not found*"
177
- }
178
- }
179
- }
180
- ```
181
-
182
- ## Configuration
183
-
184
- Configuration is defined **outside** test files when calling `Invoke-Pester` to control execution behavior.
185
-
186
- ```powershell
187
- # Create configuration (Pester 5.2+)
188
- $config = New-PesterConfiguration
189
- $config.Run.Path = './Tests'
190
- $config.Output.Verbosity = 'Detailed'
191
- $config.TestResult.Enabled = $true
192
- $config.TestResult.OutputFormat = 'NUnitXml'
193
- $config.Should.ErrorAction = 'Continue'
194
- Invoke-Pester -Configuration $config
195
- ```
196
-
197
- **Key Sections**: Run (Path, Exit), Filter (Tag, ExcludeTag), Output (Verbosity), TestResult (Enabled, OutputFormat), CodeCoverage (Enabled, Path), Should (ErrorAction), Debug
@@ -1,356 +0,0 @@
1
- ---
2
- applyTo: '**/*.ps1,**/*.psm1'
3
- description: 'PowerShell cmdlet and scripting best practices based on Microsoft guidelines'
4
- ---
5
-
6
- # PowerShell Cmdlet Development Guidelines
7
-
8
- This guide provides PowerShell-specific instructions to help GitHub Copilot generate idiomatic,
9
- safe, and maintainable scripts. It aligns with Microsoft’s PowerShell cmdlet development guidelines.
10
-
11
- ## Naming Conventions
12
-
13
- - **Verb-Noun Format:**
14
- - Use approved PowerShell verbs (Get-Verb)
15
- - Use singular nouns
16
- - PascalCase for both verb and noun
17
- - Avoid special characters and spaces
18
-
19
- - **Parameter Names:**
20
- - Use PascalCase
21
- - Choose clear, descriptive names
22
- - Use singular form unless always multiple
23
- - Follow PowerShell standard names
24
-
25
- - **Variable Names:**
26
- - Use PascalCase for public variables
27
- - Use camelCase for private variables
28
- - Avoid abbreviations
29
- - Use meaningful names
30
-
31
- - **Alias Avoidance:**
32
- - Use full cmdlet names
33
- - Avoid using aliases in scripts (e.g., use Get-ChildItem instead of gci)
34
- - Document any custom aliases
35
- - Use full parameter names
36
-
37
- ### Example
38
-
39
- ```powershell
40
- function Get-UserProfile {
41
- [CmdletBinding()]
42
- param(
43
- [Parameter(Mandatory)]
44
- [string]$Username,
45
-
46
- [Parameter()]
47
- [ValidateSet('Basic', 'Detailed')]
48
- [string]$ProfileType = 'Basic'
49
- )
50
-
51
- process {
52
- # Logic here
53
- }
54
- }
55
- ```
56
-
57
- ## Parameter Design
58
-
59
- - **Standard Parameters:**
60
- - Use common parameter names (`Path`, `Name`, `Force`)
61
- - Follow built-in cmdlet conventions
62
- - Use aliases for specialized terms
63
- - Document parameter purpose
64
-
65
- - **Parameter Names:**
66
- - Use singular form unless always multiple
67
- - Choose clear, descriptive names
68
- - Follow PowerShell conventions
69
- - Use PascalCase formatting
70
-
71
- - **Type Selection:**
72
- - Use common .NET types
73
- - Implement proper validation
74
- - Consider ValidateSet for limited options
75
- - Enable tab completion where possible
76
-
77
- - **Switch Parameters:**
78
- - Use [switch] for boolean flags
79
- - Avoid $true/$false parameters
80
- - Default to $false when omitted
81
- - Use clear action names
82
-
83
- ### Example
84
-
85
- ```powershell
86
- function Set-ResourceConfiguration {
87
- [CmdletBinding()]
88
- param(
89
- [Parameter(Mandatory)]
90
- [string]$Name,
91
-
92
- [Parameter()]
93
- [ValidateSet('Dev', 'Test', 'Prod')]
94
- [string]$Environment = 'Dev',
95
-
96
- [Parameter()]
97
- [switch]$Force,
98
-
99
- [Parameter()]
100
- [ValidateNotNullOrEmpty()]
101
- [string[]]$Tags
102
- )
103
-
104
- process {
105
- # Logic here
106
- }
107
- }
108
- ```
109
-
110
- ## Pipeline and Output
111
-
112
- - **Pipeline Input:**
113
- - Use `ValueFromPipeline` for direct object input
114
- - Use `ValueFromPipelineByPropertyName` for property mapping
115
- - Implement Begin/Process/End blocks for pipeline handling
116
- - Document pipeline input requirements
117
-
118
- - **Output Objects:**
119
- - Return rich objects, not formatted text
120
- - Use PSCustomObject for structured data
121
- - Avoid Write-Host for data output
122
- - Enable downstream cmdlet processing
123
-
124
- - **Pipeline Streaming:**
125
- - Output one object at a time
126
- - Use process block for streaming
127
- - Avoid collecting large arrays
128
- - Enable immediate processing
129
-
130
- - **PassThru Pattern:**
131
- - Default to no output for action cmdlets
132
- - Implement `-PassThru` switch for object return
133
- - Return modified/created object with `-PassThru`
134
- - Use verbose/warning for status updates
135
-
136
- ### Example
137
-
138
- ```powershell
139
- function Update-ResourceStatus {
140
- [CmdletBinding()]
141
- param(
142
- [Parameter(Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
143
- [string]$Name,
144
-
145
- [Parameter(Mandatory)]
146
- [ValidateSet('Active', 'Inactive', 'Maintenance')]
147
- [string]$Status,
148
-
149
- [Parameter()]
150
- [switch]$PassThru
151
- )
152
-
153
- begin {
154
- Write-Verbose 'Starting resource status update process'
155
- $timestamp = Get-Date
156
- }
157
-
158
- process {
159
- # Process each resource individually
160
- Write-Verbose "Processing resource: $Name"
161
-
162
- $resource = [PSCustomObject]@{
163
- Name = $Name
164
- Status = $Status
165
- LastUpdated = $timestamp
166
- UpdatedBy = $env:USERNAME
167
- }
168
-
169
- # Only output if PassThru is specified
170
- if ($PassThru.IsPresent) {
171
- Write-Output $resource
172
- }
173
- }
174
-
175
- end {
176
- Write-Verbose 'Resource status update process completed'
177
- }
178
- }
179
- ```
180
-
181
- ## Error Handling and Safety
182
-
183
- - **ShouldProcess Implementation:**
184
- - Use `[CmdletBinding(SupportsShouldProcess = $true)]`
185
- - Set appropriate `ConfirmImpact` level
186
- - Call `$PSCmdlet.ShouldProcess()` for system changes
187
- - Use `ShouldContinue()` for additional confirmations
188
-
189
- - **Message Streams:**
190
- - `Write-Verbose` for operational details with `-Verbose`
191
- - `Write-Warning` for warning conditions
192
- - `Write-Error` for non-terminating errors
193
- - `throw` for terminating errors
194
- - Avoid `Write-Host` except for user interface text
195
-
196
- - **Error Handling Pattern:**
197
- - Use try/catch blocks for error management
198
- - Set appropriate ErrorAction preferences
199
- - Return meaningful error messages
200
- - Use ErrorVariable when needed
201
- - Include proper terminating vs non-terminating error handling
202
- - In advanced functions with `[CmdletBinding()]`, prefer `$PSCmdlet.WriteError()` over `Write-Error`
203
- - In advanced functions with `[CmdletBinding()]`, prefer `$PSCmdlet.ThrowTerminatingError()` over `throw`
204
- - Construct proper ErrorRecord objects with category, target, and exception details
205
-
206
- - **Non-Interactive Design:**
207
- - Accept input via parameters
208
- - Avoid `Read-Host` in scripts
209
- - Support automation scenarios
210
- - Document all required inputs
211
-
212
- ### Example
213
-
214
- ```powershell
215
- function Remove-UserAccount {
216
- [CmdletBinding(SupportsShouldProcess = $true, ConfirmImpact = 'High')]
217
- param(
218
- [Parameter(Mandatory, ValueFromPipeline)]
219
- [ValidateNotNullOrEmpty()]
220
- [string]$Username,
221
-
222
- [Parameter()]
223
- [switch]$Force
224
- )
225
-
226
- begin {
227
- Write-Verbose 'Starting user account removal process'
228
- $ErrorActionPreference = 'Stop'
229
- }
230
-
231
- process {
232
- try {
233
- # Validation
234
- if (-not (Test-UserExists -Username $Username)) {
235
- $errorRecord = [System.Management.Automation.ErrorRecord]::new(
236
- [System.Exception]::new("User account '$Username' not found"),
237
- 'UserNotFound',
238
- [System.Management.Automation.ErrorCategory]::ObjectNotFound,
239
- $Username
240
- )
241
- $PSCmdlet.WriteError($errorRecord)
242
- return
243
- }
244
-
245
- # Confirmation
246
- $shouldProcessMessage = "Remove user account '$Username'"
247
- if ($Force -or $PSCmdlet.ShouldProcess($Username, $shouldProcessMessage)) {
248
- Write-Verbose "Removing user account: $Username"
249
-
250
- # Main operation
251
- Remove-ADUser -Identity $Username -ErrorAction Stop
252
- Write-Warning "User account '$Username' has been removed"
253
- }
254
- } catch [Microsoft.ActiveDirectory.Management.ADException] {
255
- $errorRecord = [System.Management.Automation.ErrorRecord]::new(
256
- $_.Exception,
257
- 'ActiveDirectoryError',
258
- [System.Management.Automation.ErrorCategory]::NotSpecified,
259
- $Username
260
- )
261
- $PSCmdlet.ThrowTerminatingError($errorRecord)
262
- } catch {
263
- $errorRecord = [System.Management.Automation.ErrorRecord]::new(
264
- $_.Exception,
265
- 'UnexpectedError',
266
- [System.Management.Automation.ErrorCategory]::NotSpecified,
267
- $Username
268
- )
269
- $PSCmdlet.ThrowTerminatingError($errorRecord)
270
- }
271
- }
272
-
273
- end {
274
- Write-Verbose 'User account removal process completed'
275
- }
276
- }
277
- ```
278
-
279
- ## Documentation and Style
280
-
281
- - **Comment-Based Help:** Include comment-based help for any public-facing function or cmdlet. Inside the function, add a `<# ... #>` help comment with at least:
282
- - `.SYNOPSIS` Brief description
283
- - `.DESCRIPTION` Detailed explanation
284
- - `.EXAMPLE` sections with practical usage
285
- - `.PARAMETER` descriptions
286
- - `.OUTPUTS` Type of output returned
287
- - `.NOTES` Additional information
288
-
289
- - **Consistent Formatting:**
290
- - Follow consistent PowerShell style
291
- - Use proper indentation (4 spaces recommended)
292
- - Opening braces on same line as statement
293
- - Closing braces on new line
294
- - Use line breaks after pipeline operators
295
- - PascalCase for function and parameter names
296
- - Avoid unnecessary whitespace
297
-
298
- - **Pipeline Support:**
299
- - Implement Begin/Process/End blocks for pipeline functions
300
- - Use ValueFromPipeline where appropriate
301
- - Support pipeline input by property name
302
- - Return proper objects, not formatted text
303
-
304
- - **Avoid Aliases:** Use full cmdlet names and parameters
305
- - Avoid using aliases in scripts (e.g., use Get-ChildItem instead of gci); aliases are acceptable for interactive shell use.
306
- - Use `Where-Object` instead of `?` or `where`
307
- - Use `ForEach-Object` instead of `%`
308
- - Use `Get-ChildItem` instead of `ls` or `dir`
309
-
310
- ## Full Example: End-to-End Cmdlet Pattern
311
-
312
- ```powershell
313
- function New-Resource {
314
- [CmdletBinding(SupportsShouldProcess = $true, ConfirmImpact = 'Medium')]
315
- param(
316
- [Parameter(Mandatory = $true,
317
- ValueFromPipeline = $true,
318
- ValueFromPipelineByPropertyName = $true)]
319
- [ValidateNotNullOrEmpty()]
320
- [string]$Name,
321
-
322
- [Parameter()]
323
- [ValidateSet('Development', 'Production')]
324
- [string]$Environment = 'Development'
325
- )
326
-
327
- begin {
328
- Write-Verbose 'Starting resource creation process'
329
- }
330
-
331
- process {
332
- try {
333
- if ($PSCmdlet.ShouldProcess($Name, 'Create new resource')) {
334
- # Resource creation logic here
335
- Write-Output ([PSCustomObject]@{
336
- Name = $Name
337
- Environment = $Environment
338
- Created = Get-Date
339
- })
340
- }
341
- } catch {
342
- $errorRecord = [System.Management.Automation.ErrorRecord]::new(
343
- $_.Exception,
344
- 'ResourceCreationFailed',
345
- [System.Management.Automation.ErrorCategory]::NotSpecified,
346
- $Name
347
- )
348
- $PSCmdlet.ThrowTerminatingError($errorRecord)
349
- }
350
- }
351
-
352
- end {
353
- Write-Verbose 'Completed resource creation process'
354
- }
355
- }
356
- ```
@@ -1,73 +0,0 @@
1
- ---
2
- description: 'Guidelines for creating high-quality prompt files for GitHub Copilot'
3
- applyTo: '**/*.prompt.md'
4
- ---
5
-
6
- # Copilot Prompt Files Guidelines
7
-
8
- Instructions for creating effective and maintainable prompt files that guide GitHub Copilot in delivering consistent, high-quality outcomes across any repository.
9
-
10
- ## Scope and Principles
11
- - Target audience: maintainers and contributors authoring reusable prompts for Copilot Chat.
12
- - Goals: predictable behaviour, clear expectations, minimal permissions, and portability across repositories.
13
- - Primary references: VS Code documentation on prompt files and organization-specific conventions.
14
-
15
- ## Frontmatter Requirements
16
- - Include `description` (single sentence, actionable outcome), `mode` (explicitly choose `ask`, `edit`, or `agent`), and `tools` (minimal set of tool bundles required to fulfill the prompt).
17
- - Declare `model` when the prompt depends on a specific capability tier; otherwise inherit the active model.
18
- - Preserve any additional metadata (`language`, `tags`, `visibility`, etc.) required by your organization.
19
- - Use consistent quoting (single quotes recommended) and keep one field per line for readability and version control clarity.
20
-
21
- ## File Naming and Placement
22
- - Use kebab-case filenames ending with `.prompt.md` and store them under `.github/prompts/` unless your workspace standard specifies another directory.
23
- - Provide a short filename that communicates the action (for example, `generate-readme.prompt.md` rather than `prompt1.prompt.md`).
24
-
25
- ## Body Structure
26
- - Start with an `#` level heading that matches the prompt intent so it surfaces well in Quick Pick search.
27
- - Organize content with predictable sections. Recommended baseline: `Mission` or `Primary Directive`, `Scope & Preconditions`, `Inputs`, `Workflow` (step-by-step), `Output Expectations`, and `Quality Assurance`.
28
- - Adjust section names to fit the domain, but retain the logical flow: why → context → inputs → actions → outputs → validation.
29
- - Reference related prompts or instruction files using relative links to aid discoverability.
30
-
31
- ## Input and Context Handling
32
- - Use `${input:variableName[:placeholder]}` for required values and explain when the user must supply them. Provide defaults or alternatives where possible.
33
- - Call out contextual variables such as `${selection}`, `${file}`, `${workspaceFolder}` only when they are essential, and describe how Copilot should interpret them.
34
- - Document how to proceed when mandatory context is missing (for example, “Request the file path and stop if it remains undefined”).
35
-
36
- ## Tool and Permission Guidance
37
- - Limit `tools` to the smallest set that enables the task. List them in the preferred execution order when the sequence matters.
38
- - If the prompt inherits tools from a chat mode, mention that relationship and state any critical tool behaviours or side effects.
39
- - Warn about destructive operations (file creation, edits, terminal commands) and include guard rails or confirmation steps in the workflow.
40
-
41
- ## Instruction Tone and Style
42
- - Write in direct, imperative sentences targeted at Copilot (for example, “Analyze”, “Generate”, “Summarize”).
43
- - Keep sentences short and unambiguous, following Google Developer Documentation translation best practices to support localization.
44
- - Avoid idioms, humor, or culturally specific references; favor neutral, inclusive language.
45
-
46
- ## Output Definition
47
- - Specify the format, structure, and location of expected results (for example, “Create `docs/adr/adr-XXXX.md` using the template below”).
48
- - Include success criteria and failure triggers so Copilot knows when to halt or retry.
49
- - Provide validation steps—manual checks, automated commands, or acceptance criteria lists—that reviewers can execute after running the prompt.
50
-
51
- ## Examples and Reusable Assets
52
- - Embed Good/Bad examples or scaffolds (Markdown templates, JSON stubs) that the prompt should produce or follow.
53
- - Maintain reference tables (capabilities, status codes, role descriptions) inline to keep the prompt self-contained. Update these tables when upstream resources change.
54
- - Link to authoritative documentation instead of duplicating lengthy guidance.
55
-
56
- ## Quality Assurance Checklist
57
- - [ ] Frontmatter fields are complete, accurate, and least-privilege.
58
- - [ ] Inputs include placeholders, default behaviours, and fallbacks.
59
- - [ ] Workflow covers preparation, execution, and post-processing without gaps.
60
- - [ ] Output expectations include formatting and storage details.
61
- - [ ] Validation steps are actionable (commands, diff checks, review prompts).
62
- - [ ] Security, compliance, and privacy policies referenced by the prompt are current.
63
- - [ ] Prompt executes successfully in VS Code (`Chat: Run Prompt`) using representative scenarios.
64
-
65
- ## Maintenance Guidance
66
- - Version-control prompts alongside the code they affect; update them when dependencies, tooling, or review processes change.
67
- - Review prompts periodically to ensure tool lists, model requirements, and linked documents remain valid.
68
- - Coordinate with other repositories: when a prompt proves broadly useful, extract common guidance into instruction files or shared prompt packs.
69
-
70
- ## Additional Resources
71
- - [Prompt Files Documentation](https://code.visualstudio.com/docs/copilot/customization/prompt-files#_prompt-file-format)
72
- - [Awesome Copilot Prompt Files](https://github.com/github/awesome-copilot/tree/main/prompts)
73
- - [Tool Configuration](https://code.visualstudio.com/docs/copilot/chat/chat-agent-mode#_agent-mode-tools)