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,430 @@
1
+ ---
2
+ title: Power Platform Connectors Schema Development Instructions
3
+ description: 'Comprehensive development guidelines for Power Platform Custom Connectors using JSON Schema definitions. Covers API definitions (Swagger 2.0), API properties, and settings configuration with Microsoft extensions.'
4
+ applyTo: '**/*.{json,md}'
5
+ ---
6
+
7
+ # Power Platform Connectors Schema Development Instructions
8
+
9
+ ## Project Overview
10
+ This workspace contains JSON Schema definitions for Power Platform Custom Connectors, specifically for the `paconn` (Power Apps Connector) tool. The schemas validate and provide IntelliSense for:
11
+
12
+ - **API Definitions** (Swagger 2.0 format)
13
+ - **API Properties** (connector metadata and configuration)
14
+ - **Settings** (environment and deployment configuration)
15
+
16
+ ## File Structure Understanding
17
+
18
+ ### 1. apiDefinition.swagger.json
19
+ - **Purpose**: This file contains Swagger 2.0 API definitions with Power Platform extensions.
20
+ - **Key Features**:
21
+ - Standard Swagger 2.0 properties including info, paths, definitions, and more.
22
+ - Microsoft-specific extensions that begin with `x-ms-*` prefixes.
23
+ - Custom format types specifically designed for Power Platform such as `date-no-tz` and `html`.
24
+ - Dynamic schema support that provides runtime flexibility.
25
+ - Security definitions that support OAuth2, API Key, and Basic Auth authentication methods.
26
+
27
+ ### 2. apiProperties.json
28
+ - **Purpose**: This file defines connector metadata, authentication configurations, and policy configurations.
29
+ - **Key Components**:
30
+ - **Connection Parameters**: These support various authentication types including OAuth, API Key, and Gateway configurations.
31
+ - **Policy Template Instances**: These handle data transformation and routing policies for the connector.
32
+ - **Connector Metadata**: This includes publisher information, capabilities, and branding elements.
33
+
34
+ ### 3. settings.json
35
+ - **Purpose**: This file provides environment and deployment configuration settings for the paconn tool.
36
+ - **Configuration Options**:
37
+ - Environment GUID targeting for specific Power Platform environments.
38
+ - File path mappings for connector assets and configuration files.
39
+ - API endpoint URLs for both production and testing environments (PROD/TIP1).
40
+ - API version specifications to ensure compatibility with Power Platform services.
41
+
42
+ ## Development Guidelines
43
+
44
+ ### When Working with API Definitions (Swagger)
45
+ 1. **Always validate against Swagger 2.0 spec** - The schema enforces strict Swagger 2.0 compliance
46
+
47
+ 2. **Microsoft Extensions for Operations**:
48
+ - `x-ms-summary`: Use this to provide user-friendly display names and ensure you use title case formatting.
49
+ - `x-ms-visibility`: Use this to control parameter visibility with values of `important`, `advanced`, or `internal`.
50
+ - `x-ms-trigger`: Use this to mark operations as triggers with values of `batch` or `single`.
51
+ - `x-ms-trigger-hint`: Use this to provide helpful hint text that guides users when working with triggers.
52
+ - `x-ms-trigger-metadata`: Use this to define trigger configuration settings including kind and mode properties.
53
+ - `x-ms-notification`: Use this to configure webhook operations for real-time notifications.
54
+ - `x-ms-pageable`: Use this to enable pagination functionality by specifying the `nextLinkName` property.
55
+ - `x-ms-safe-operation`: Use this to mark POST operations as safe when they don't have side effects.
56
+ - `x-ms-no-generic-test`: Use this to disable automatic testing for specific operations.
57
+ - `x-ms-operation-context`: Use this to configure operation simulation settings for testing purposes.
58
+
59
+ 3. **Microsoft Extensions for Parameters**:
60
+ - `x-ms-dynamic-list`: Use this to enable dynamic dropdown lists populated from API calls.
61
+ - `x-ms-dynamic-values`: Use this to configure dynamic value sources that populate parameter options.
62
+ - `x-ms-dynamic-tree`: Use this to create hierarchical selectors for nested data structures.
63
+ - `x-ms-dynamic-schema`: Use this to allow runtime schema changes based on user selections.
64
+ - `x-ms-dynamic-properties`: Use this for dynamic property configuration that adapts to context.
65
+ - `x-ms-enum-values`: Use this to provide enhanced enum definitions with display names for better user experience.
66
+ - `x-ms-test-value`: Use this to provide sample values for testing, but never include secrets or sensitive data.
67
+ - `x-ms-trigger-value`: Use this to specify values specifically for trigger parameters with `value-collection` and `value-path` properties.
68
+ - `x-ms-url-encoding`: Use this to specify URL encoding style as either `single` or `double` (defaults to `single`).
69
+ - `x-ms-parameter-location`: Use this to provide parameter location hints for the API (AutoRest extension - ignored by Power Platform).
70
+ - `x-ms-localizeDefaultValue`: Use this to enable localization for default parameter values.
71
+ - `x-ms-skip-url-encoding`: Use this to skip URL encoding for path parameters (AutoRest extension - ignored by Power Platform).
72
+
73
+ 4. **Microsoft Extensions for Schemas**:
74
+ - `x-ms-notification-url`: Use this to mark a schema property as a notification URL for webhook configurations.
75
+ - `x-ms-media-kind`: Use this to specify the media type for content, with supported values of `image` or `audio`.
76
+ - `x-ms-enum`: Use this to provide enhanced enum metadata (AutoRest extension - ignored by Power Platform).
77
+ - Note that all parameter extensions listed above also apply to schema properties and can be used within schema definitions.
78
+
79
+ 5. **Root-Level Extensions**:
80
+ - `x-ms-capabilities`: Use this to define connector capabilities such as file-picker and testConnection functionality.
81
+ - `x-ms-connector-metadata`: Use this to provide additional connector metadata beyond the standard properties.
82
+ - `x-ms-docs`: Use this to configure documentation settings and references for the connector.
83
+ - `x-ms-deployment-version`: Use this to track version information for deployment management.
84
+ - `x-ms-api-annotation`: Use this to add API-level annotations for enhanced functionality.
85
+
86
+ 6. **Path-Level Extensions**:
87
+ - `x-ms-notification-content`: Use this to define notification content schemas for webhook path items.
88
+
89
+ 7. **Operation-Level Capabilities**:
90
+ - `x-ms-capabilities` (at operation level): Use this to enable operation-specific capabilities such as `chunkTransfer` for large file transfers.
91
+
92
+ 8. **Security Considerations**:
93
+ - You should define appropriate `securityDefinitions` for your API to ensure proper authentication.
94
+ - **Multiple security definitions are allowed** - you can define up to two auth methods (e.g., oauth2 + apiKey, basic + apiKey).
95
+ - **Exception**: If using "None" authentication, no other security definitions can be present in the same connector.
96
+ - You should use `oauth2` for modern APIs, `apiKey` for simple token authentication, and consider `basic` auth only for internal/legacy systems.
97
+ - Each security definition must be exactly one type (this constraint is enforced by oneOf validation).
98
+
99
+ 9. **Parameter Best Practices**:
100
+ - You should use descriptive `description` fields to help users understand each parameter's purpose.
101
+ - You should implement `x-ms-summary` for better user experience (title case is required).
102
+ - You must mark required parameters correctly to ensure proper validation.
103
+ - You should use appropriate `format` values (including Power Platform extensions) to enable proper data handling.
104
+ - You should leverage dynamic extensions for better user experience and data validation.
105
+
106
+ 10. **Power Platform Format Extensions**:
107
+ - `date-no-tz`: This represents a date-time that has no time-offset information.
108
+ - `html`: This format tells clients to emit an HTML editor when editing and an HTML viewer when viewing content.
109
+ - Standard formats include: `int32`, `int64`, `float`, `double`, `byte`, `binary`, `date`, `date-time`, `password`, `email`, `uri`, `uuid`.
110
+
111
+ ### When Working with API Properties
112
+ 1. **Connection Parameters**:
113
+ - You should choose appropriate parameter types such as `string`, `securestring`, or `oauthSetting`.
114
+ - You should configure OAuth settings with correct identity providers.
115
+ - You should use `allowedValues` for dropdown options when appropriate.
116
+ - You should implement parameter dependencies when needed for conditional parameters.
117
+
118
+ 2. **Policy Templates**:
119
+ - You should use `routerequesttoendpoint` for backend routing to different API endpoints.
120
+ - You should implement `setqueryparameter` for setting default values on query parameters.
121
+ - You should use `updatenextlink` for pagination scenarios to handle paging correctly.
122
+ - You should apply `pollingtrigger` for trigger operations that require polling behavior.
123
+
124
+ 3. **Branding and Metadata**:
125
+ - You must always specify `iconBrandColor` as this property is required for all connectors.
126
+ - You should define appropriate `capabilities` to specify whether your connector supports actions or triggers.
127
+ - You should set meaningful `publisher` and `stackOwner` values to identify the connector's ownership.
128
+
129
+ ### When Working with Settings
130
+ 1. **Environment Configuration**:
131
+ - You should use proper GUID format for `environment` that matches the validation pattern.
132
+ - You should set correct `powerAppsUrl` and `flowUrl` for your target environment.
133
+ - You should match API versions to your specific requirements.
134
+
135
+ 2. **File References**:
136
+ - You should maintain consistent file naming with the defaults of `apiProperties.json` and `apiDefinition.swagger.json`.
137
+ - You should use relative paths for local development environments.
138
+ - You should ensure icon file exists and is properly referenced in your configuration.
139
+
140
+ ## Schema Validation Rules
141
+
142
+ ### Required Properties
143
+ - **API Definition**: `swagger: "2.0"`, `info` (with `title` and `version`), `paths`
144
+ - **API Properties**: `properties` with `iconBrandColor`
145
+ - **Settings**: No required properties (all optional with defaults)
146
+
147
+ ### Pattern Validation
148
+ - **Vendor Extensions**: Must match `^x-(?!ms-)` pattern for non-Microsoft extensions
149
+ - **Path Items**: Must start with `/` for API paths
150
+ - **Environment GUID**: Must match UUID format pattern `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
151
+ - **URLs**: Must be valid URIs for endpoint configurations
152
+ - **Host Pattern**: Must match `^[^{}/ :\\\\]+(?::\\d+)?$` (no spaces, protocols, or paths)
153
+
154
+ ### Type Constraints
155
+ - **Security Definitions**:
156
+ - Up to two security definitions allowed in `securityDefinitions` object
157
+ - Each individual security definition must be exactly one type (oneOf validation: `basic`, `apiKey`, `oauth2`)
158
+ - **Exception**: "None" authentication cannot coexist with other security definitions
159
+ - **Parameter Types**: Limited to specific enum values (`string`, `number`, `integer`, `boolean`, `array`, `file`)
160
+ - **Policy Templates**: Type-specific parameter requirements
161
+ - **Format Values**: Extended set including Power Platform formats
162
+ - **Visibility Values**: Must be one of `important`, `advanced`, or `internal`
163
+ - **Trigger Types**: Must be `batch` or `single`
164
+
165
+ ### Additional Validation Rules
166
+ - **$ref References**: Should only point to `#/definitions/`, `#/parameters/`, or `#/responses/`
167
+ - **Path Parameters**: Must be marked as `required: true`
168
+ - **Info Object**: Description should be different from title
169
+ - **Contact Object**: Email must be valid email format, URL must be valid URI
170
+ - **License Object**: Name is required, URL must be valid URI if provided
171
+ - **External Docs**: URL is required and must be valid URI
172
+ - **Tags**: Must have unique names within the array
173
+ - **Schemes**: Must be valid HTTP schemes (`http`, `https`, `ws`, `wss`)
174
+ - **MIME Types**: Must follow valid MIME type format in `consumes` and `produces`
175
+
176
+ ## Common Patterns and Examples
177
+
178
+ ### API Definition Examples
179
+
180
+ #### Basic Operation with Microsoft Extensions
181
+ ```json
182
+ {
183
+ "get": {
184
+ "operationId": "GetItems",
185
+ "summary": "Get items",
186
+ "x-ms-summary": "Get Items",
187
+ "x-ms-visibility": "important",
188
+ "description": "Retrieves a list of items from the API",
189
+ "parameters": [
190
+ {
191
+ "name": "category",
192
+ "in": "query",
193
+ "type": "string",
194
+ "x-ms-summary": "Category",
195
+ "x-ms-visibility": "important",
196
+ "x-ms-dynamic-values": {
197
+ "operationId": "GetCategories",
198
+ "value-path": "id",
199
+ "value-title": "name"
200
+ }
201
+ }
202
+ ],
203
+ "responses": {
204
+ "200": {
205
+ "description": "Success",
206
+ "x-ms-summary": "Success",
207
+ "schema": {
208
+ "type": "object",
209
+ "properties": {
210
+ "items": {
211
+ "type": "array",
212
+ "x-ms-summary": "Items",
213
+ "items": {
214
+ "$ref": "#/definitions/Item"
215
+ }
216
+ }
217
+ }
218
+ }
219
+ }
220
+ }
221
+ }
222
+ }
223
+ ```
224
+
225
+ #### Trigger Operation Configuration
226
+ ```json
227
+ {
228
+ "get": {
229
+ "operationId": "WhenItemCreated",
230
+ "x-ms-summary": "When an Item is Created",
231
+ "x-ms-trigger": "batch",
232
+ "x-ms-trigger-hint": "To see it work now, create an item",
233
+ "x-ms-trigger-metadata": {
234
+ "kind": "query",
235
+ "mode": "polling"
236
+ },
237
+ "x-ms-pageable": {
238
+ "nextLinkName": "@odata.nextLink"
239
+ }
240
+ }
241
+ }
242
+ ```
243
+
244
+ #### Dynamic Schema Example
245
+ ```json
246
+ {
247
+ "name": "dynamicSchema",
248
+ "in": "body",
249
+ "schema": {
250
+ "x-ms-dynamic-schema": {
251
+ "operationId": "GetSchema",
252
+ "parameters": {
253
+ "table": {
254
+ "parameter": "table"
255
+ }
256
+ },
257
+ "value-path": "schema"
258
+ }
259
+ }
260
+ }
261
+ ```
262
+
263
+ #### File Picker Capability
264
+ ```json
265
+ {
266
+ "x-ms-capabilities": {
267
+ "file-picker": {
268
+ "open": {
269
+ "operationId": "OneDriveFilePickerOpen",
270
+ "parameters": {
271
+ "dataset": {
272
+ "value-property": "dataset"
273
+ }
274
+ }
275
+ },
276
+ "browse": {
277
+ "operationId": "OneDriveFilePickerBrowse",
278
+ "parameters": {
279
+ "dataset": {
280
+ "value-property": "dataset"
281
+ }
282
+ }
283
+ },
284
+ "value-title": "DisplayName",
285
+ "value-collection": "value",
286
+ "value-folder-property": "IsFolder",
287
+ "value-media-property": "MediaType"
288
+ }
289
+ }
290
+ }
291
+ ```
292
+
293
+ #### Test Connection Capability (Note: Not Supported for Custom Connectors)
294
+ ```json
295
+ {
296
+ "x-ms-capabilities": {
297
+ "testConnection": {
298
+ "operationId": "TestConnection",
299
+ "parameters": {
300
+ "param1": "literal-value"
301
+ }
302
+ }
303
+ }
304
+ }
305
+ ```
306
+
307
+ #### Operation Context for Simulation
308
+ ```json
309
+ {
310
+ "x-ms-operation-context": {
311
+ "simulate": {
312
+ "operationId": "SimulateOperation",
313
+ "parameters": {
314
+ "param1": {
315
+ "parameter": "inputParam"
316
+ }
317
+ }
318
+ }
319
+ }
320
+ }
321
+ ```
322
+
323
+ ### Basic OAuth Configuration
324
+ ```json
325
+ {
326
+ "type": "oauthSetting",
327
+ "oAuthSettings": {
328
+ "identityProvider": "oauth2",
329
+ "clientId": "your-client-id",
330
+ "scopes": ["scope1", "scope2"],
331
+ "redirectMode": "Global"
332
+ }
333
+ }
334
+ ```
335
+
336
+ #### Multiple Security Definitions Example
337
+ ```json
338
+ {
339
+ "securityDefinitions": {
340
+ "oauth2": {
341
+ "type": "oauth2",
342
+ "flow": "accessCode",
343
+ "authorizationUrl": "https://api.example.com/oauth/authorize",
344
+ "tokenUrl": "https://api.example.com/oauth/token",
345
+ "scopes": {
346
+ "read": "Read access",
347
+ "write": "Write access"
348
+ }
349
+ },
350
+ "apiKey": {
351
+ "type": "apiKey",
352
+ "name": "X-API-Key",
353
+ "in": "header"
354
+ }
355
+ }
356
+ }
357
+ ```
358
+
359
+ **Note**: Maximum of two security definitions can coexist, but "None" authentication cannot be combined with other methods.
360
+
361
+ ### Dynamic Parameter Setup
362
+ ```json
363
+ {
364
+ "x-ms-dynamic-values": {
365
+ "operationId": "GetItems",
366
+ "value-path": "id",
367
+ "value-title": "name"
368
+ }
369
+ }
370
+ ```
371
+
372
+ ### Policy Template for Routing
373
+ ```json
374
+ {
375
+ "templateId": "routerequesttoendpoint",
376
+ "title": "Route to backend",
377
+ "parameters": {
378
+ "x-ms-apimTemplate-operationName": ["GetData"],
379
+ "x-ms-apimTemplateParameter.newPath": "/api/v2/data"
380
+ }
381
+ }
382
+ ```
383
+
384
+ ## Best Practices
385
+
386
+ 1. **Use IntelliSense**: These schemas provide rich autocomplete and validation capabilities that help during development.
387
+ 2. **Follow Naming Conventions**: Use descriptive names for operations and parameters to improve code readability.
388
+ 3. **Implement Error Handling**: Define appropriate response schemas and error codes to handle failure scenarios properly.
389
+ 4. **Test Thoroughly**: Validate schemas before deployment to catch issues early in the development process.
390
+ 5. **Document Extensions**: Comment Microsoft-specific extensions for team understanding and future maintenance.
391
+ 6. **Version Management**: Use semantic versioning in API info to track changes and compatibility.
392
+ 7. **Security First**: Always implement appropriate authentication mechanisms to protect your API endpoints.
393
+
394
+ ## Troubleshooting
395
+
396
+ ### Common Schema Violations
397
+ - **Missing required properties**: `swagger: "2.0"`, `info.title`, `info.version`, `paths`
398
+ - **Invalid pattern formats**:
399
+ - GUIDs must match exact format `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
400
+ - URLs must be valid URIs with proper scheme
401
+ - Paths must start with `/`
402
+ - Host must not include protocol, paths, or spaces
403
+ - **Incorrect vendor extension naming**: Use `x-ms-*` for Microsoft extensions, `^x-(?!ms-)` for others
404
+ - **Mismatched security definition types**: Each security definition must be exactly one type
405
+ - **Invalid enum values**: Check allowed values for `x-ms-visibility`, `x-ms-trigger`, parameter types
406
+ - **$ref pointing to invalid locations**: Must point to `#/definitions/`, `#/parameters/`, or `#/responses/`
407
+ - **Path parameters not marked as required**: All path parameters must have `required: true`
408
+ - **Type 'file' in wrong context**: Only allowed in `formData` parameters, not in schemas
409
+
410
+ ### API Definition Specific Issues
411
+ - **Dynamic schema conflicts**: Can't use `x-ms-dynamic-schema` with fixed schema properties
412
+ - **Trigger configuration errors**: `x-ms-trigger-metadata` requires both `kind` and `mode`
413
+ - **Pagination setup**: `x-ms-pageable` requires `nextLinkName` property
414
+ - **File picker misconfiguration**: Must include both `open` operation and required properties
415
+ - **Capability conflicts**: Some capabilities may conflict with certain parameter types
416
+ - **Test value security**: Never include secrets or PII in `x-ms-test-value`
417
+ - **Operation context setup**: `x-ms-operation-context` requires a `simulate` object with `operationId`
418
+ - **Notification content schema**: Path-level `x-ms-notification-content` must define proper schema structure
419
+ - **Media kind restrictions**: `x-ms-media-kind` only supports `image` or `audio` values
420
+ - **Trigger value configuration**: `x-ms-trigger-value` must have at least one property (`value-collection` or `value-path`)
421
+
422
+ ### Validation Tools
423
+ - Use JSON Schema validators to check your schema definitions for compliance.
424
+ - Leverage VS Code's built-in schema validation to catch errors during development.
425
+ - Test with paconn CLI before deployment using: `paconn validate --api-def apiDefinition.swagger.json`
426
+ - Validate against Power Platform connector requirements to ensure compatibility.
427
+ - Use the Power Platform Connector portal for validation and testing in the target environment.
428
+ - Check that operation responses match expected schemas to prevent runtime errors.
429
+
430
+ Remember: These schemas ensure your Power Platform connectors are properly formatted and will work correctly in the Power Platform ecosystem.
@@ -0,0 +1,88 @@
1
+ ---
2
+ description: 'Instructions for developing Power Platform custom connectors with Model Context Protocol (MCP) integration for Microsoft Copilot Studio'
3
+ applyTo: '**/*.{json,csx,md}'
4
+ ---
5
+
6
+ # Power Platform MCP Custom Connector Development
7
+
8
+ ## Instructions
9
+
10
+ ### MCP Protocol Integration
11
+ - Always implement JSON-RPC 2.0 standard for MCP communication
12
+ - Use `x-ms-agentic-protocol: mcp-streamable-1.0` header for Copilot Studio compatibility
13
+ - Structure endpoints to support both standard REST operations and MCP tool invocation
14
+ - Transform responses to comply with Copilot Studio constraints (no reference types, single types only)
15
+
16
+ ### Schema Design Best Practices
17
+ - Remove `$ref` and other reference types from JSON schemas as Copilot Studio cannot handle them
18
+ - Use single types instead of arrays of types in schema definitions
19
+ - Flatten `anyOf`/`oneOf` constructs to single schemas for Copilot Studio compatibility
20
+ - Ensure all tool input schemas are self-contained without external references
21
+
22
+ ### Authentication and Security
23
+ - Implement OAuth 2.0 with MCP security best practices within Power Platform constraints
24
+ - Use connection parameter sets for flexible authentication configuration
25
+ - Validate token audience to prevent passthrough attacks
26
+ - Add MCP-specific security headers for enhanced validation
27
+ - Support multiple authentication methods (OAuth standard, OAuth enhanced, API key fallback)
28
+
29
+ ### Custom Script Implementation
30
+ - Handle JSON-RPC transformation in the custom script (script.csx)
31
+ - Implement proper error handling with JSON-RPC error response format
32
+ - Add token validation and audience checking in authentication flow
33
+ - Transform MCP server responses for Copilot Studio compatibility
34
+ - Use connection parameters for dynamic security configuration
35
+
36
+ ### Swagger Definition Guidelines
37
+ - Use Swagger 2.0 specification for Power Platform compatibility
38
+ - Implement proper `operationId` values for each endpoint
39
+ - Define clear parameter schemas with appropriate types and descriptions
40
+ - Add comprehensive response schemas for all success and error cases
41
+ - Include proper HTTP status codes and response headers
42
+
43
+ ### Resource and Tool Management
44
+ - Structure MCP resources to be consumable as tool outputs in Copilot Studio
45
+ - Ensure proper MIME type declarations for resource content
46
+ - Add audience and priority annotations for better Copilot Studio integration
47
+ - Implement resource transformation to meet Copilot Studio requirements
48
+
49
+ ### Connection Parameter Configuration
50
+ - Use enum dropdowns for OAuth version and security level selection
51
+ - Provide clear parameter descriptions and constraints
52
+ - Support multiple authentication parameter sets for different deployment scenarios
53
+ - Include validation rules and default values where appropriate
54
+ - Enable dynamic configuration through connection parameter values
55
+
56
+ ### Error Handling and Logging
57
+ - Implement comprehensive error responses following JSON-RPC 2.0 error format
58
+ - Add detailed logging for authentication, validation, and transformation steps
59
+ - Provide clear error messages that help with troubleshooting
60
+ - Include proper HTTP status codes aligned with error conditions
61
+
62
+ ### Testing and Validation
63
+ - Test connector with actual MCP server implementations
64
+ - Validate schema transformations work correctly with Copilot Studio
65
+ - Verify authentication flows for all supported parameter sets
66
+ - Ensure proper error handling for various failure scenarios
67
+ - Test connection parameter configurations and dynamic behavior
68
+
69
+ ## Additional Guidelines
70
+
71
+ ### Power Platform Certification Requirements
72
+ - Include comprehensive documentation (readme.md, CUSTOMIZE.md)
73
+ - Provide clear setup and configuration instructions
74
+ - Document all authentication options and security considerations
75
+ - Include proper publisher and stack owner information
76
+ - Ensure compliance with Power Platform connector certification standards
77
+
78
+ ### MCP Server Compatibility
79
+ - Design for compatibility with standard MCP server implementations
80
+ - Support common MCP methods like `tools/list`, `tools/call`, `resources/list`
81
+ - Handle streaming responses appropriately for `mcp-streamable-1.0` protocol
82
+ - Implement proper protocol negotiation and capability detection
83
+
84
+ ### Copilot Studio Integration
85
+ - Ensure tool definitions work correctly within Copilot Studio's constraints
86
+ - Test resource access and tool invocation from Copilot Studio interface
87
+ - Validate that transformed schemas produce expected behavior in conversations
88
+ - Confirm proper integration with Copilot Studio's agent framework