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,578 @@
1
+ ---
2
+ name: rust-mcp-server-generator
3
+ description: 'Generate a complete Rust Model Context Protocol server project with tools, prompts, resources, and tests using the official rmcp SDK'
4
+ mode: agent
5
+ ---
6
+
7
+ # Rust MCP Server Generator
8
+
9
+ You are a Rust MCP server generator. Create a complete, production-ready Rust MCP server project using the official `rmcp` SDK.
10
+
11
+ ## Project Requirements
12
+
13
+ Ask the user for:
14
+ 1. **Project name** (e.g., "my-mcp-server")
15
+ 2. **Server description** (e.g., "A weather data MCP server")
16
+ 3. **Transport type** (stdio, sse, http, or all)
17
+ 4. **Tools to include** (e.g., "weather lookup", "forecast", "alerts")
18
+ 5. **Whether to include prompts and resources**
19
+
20
+ ## Project Structure
21
+
22
+ Generate this structure:
23
+
24
+ ```
25
+ {project-name}/
26
+ ├── Cargo.toml
27
+ ├── .gitignore
28
+ ├── README.md
29
+ ├── src/
30
+ │ ├── main.rs
31
+ │ ├── handler.rs
32
+ │ ├── tools/
33
+ │ │ ├── mod.rs
34
+ │ │ └── {tool_name}.rs
35
+ │ ├── prompts/
36
+ │ │ ├── mod.rs
37
+ │ │ └── {prompt_name}.rs
38
+ │ ├── resources/
39
+ │ │ ├── mod.rs
40
+ │ │ └── {resource_name}.rs
41
+ │ └── state.rs
42
+ └── tests/
43
+ └── integration_test.rs
44
+ ```
45
+
46
+ ## File Templates
47
+
48
+ ### Cargo.toml
49
+
50
+ ```toml
51
+ [package]
52
+ name = "{project-name}"
53
+ version = "0.1.0"
54
+ edition = "2021"
55
+
56
+ [dependencies]
57
+ rmcp = { version = "0.8.1", features = ["server"] }
58
+ rmcp-macros = "0.8"
59
+ tokio = { version = "1", features = ["full"] }
60
+ serde = { version = "1.0", features = ["derive"] }
61
+ serde_json = "1.0"
62
+ anyhow = "1.0"
63
+ tracing = "0.1"
64
+ tracing-subscriber = "0.3"
65
+ schemars = { version = "0.8", features = ["derive"] }
66
+ async-trait = "0.1"
67
+
68
+ # Optional: for HTTP transports
69
+ axum = { version = "0.7", optional = true }
70
+ tower-http = { version = "0.5", features = ["cors"], optional = true }
71
+
72
+ [dev-dependencies]
73
+ tokio-test = "0.4"
74
+
75
+ [features]
76
+ default = []
77
+ http = ["dep:axum", "dep:tower-http"]
78
+
79
+ [[bin]]
80
+ name = "{project-name}"
81
+ path = "src/main.rs"
82
+ ```
83
+
84
+ ### .gitignore
85
+
86
+ ```gitignore
87
+ /target
88
+ Cargo.lock
89
+ *.swp
90
+ *.swo
91
+ *~
92
+ .DS_Store
93
+ ```
94
+
95
+ ### README.md
96
+
97
+ ```markdown
98
+ # {Project Name}
99
+
100
+ {Server description}
101
+
102
+ ## Installation
103
+
104
+ ```bash
105
+ cargo build --release
106
+ ```
107
+
108
+ ## Usage
109
+
110
+ ### Stdio Transport
111
+
112
+ ```bash
113
+ cargo run
114
+ ```
115
+
116
+ ### SSE Transport
117
+
118
+ ```bash
119
+ cargo run --features http -- --transport sse
120
+ ```
121
+
122
+ ### HTTP Transport
123
+
124
+ ```bash
125
+ cargo run --features http -- --transport http
126
+ ```
127
+
128
+ ## Configuration
129
+
130
+ Configure in your MCP client (e.g., Claude Desktop):
131
+
132
+ ```json
133
+ {
134
+ "mcpServers": {
135
+ "{project-name}": {
136
+ "command": "path/to/target/release/{project-name}",
137
+ "args": []
138
+ }
139
+ }
140
+ }
141
+ ```
142
+
143
+ ## Tools
144
+
145
+ - **{tool_name}**: {Tool description}
146
+
147
+ ## Development
148
+
149
+ Run tests:
150
+
151
+ ```bash
152
+ cargo test
153
+ ```
154
+
155
+ Run with logging:
156
+
157
+ ```bash
158
+ RUST_LOG=debug cargo run
159
+ ```
160
+ ```
161
+
162
+ ### src/main.rs
163
+
164
+ ```rust
165
+ use anyhow::Result;
166
+ use rmcp::{
167
+ protocol::ServerCapabilities,
168
+ server::Server,
169
+ transport::StdioTransport,
170
+ };
171
+ use tokio::signal;
172
+ use tracing_subscriber;
173
+
174
+ mod handler;
175
+ mod state;
176
+ mod tools;
177
+ mod prompts;
178
+ mod resources;
179
+
180
+ use handler::McpHandler;
181
+
182
+ #[tokio::main]
183
+ async fn main() -> Result<()> {
184
+ // Initialize tracing
185
+ tracing_subscriber::fmt()
186
+ .with_max_level(tracing::Level::INFO)
187
+ .with_target(false)
188
+ .init();
189
+
190
+ tracing::info!("Starting {project-name} MCP server");
191
+
192
+ // Create handler
193
+ let handler = McpHandler::new();
194
+
195
+ // Create transport (stdio by default)
196
+ let transport = StdioTransport::new();
197
+
198
+ // Build server with capabilities
199
+ let server = Server::builder()
200
+ .with_handler(handler)
201
+ .with_capabilities(ServerCapabilities {
202
+ tools: Some(Default::default()),
203
+ prompts: Some(Default::default()),
204
+ resources: Some(Default::default()),
205
+ ..Default::default()
206
+ })
207
+ .build(transport)?;
208
+
209
+ tracing::info!("Server started, waiting for requests");
210
+
211
+ // Run server until Ctrl+C
212
+ server.run(signal::ctrl_c()).await?;
213
+
214
+ tracing::info!("Server shutting down");
215
+ Ok(())
216
+ }
217
+ ```
218
+
219
+ ### src/handler.rs
220
+
221
+ ```rust
222
+ use rmcp::{
223
+ model::*,
224
+ protocol::*,
225
+ server::{RequestContext, ServerHandler, RoleServer, ToolRouter},
226
+ ErrorData,
227
+ };
228
+ use rmcp::{tool_router, tool_handler};
229
+ use async_trait::async_trait;
230
+
231
+ use crate::state::ServerState;
232
+ use crate::tools;
233
+
234
+ pub struct McpHandler {
235
+ state: ServerState,
236
+ tool_router: ToolRouter,
237
+ }
238
+
239
+ #[tool_router]
240
+ impl McpHandler {
241
+ // Include tool definitions from tools module
242
+ #[tool(
243
+ name = "example_tool",
244
+ description = "An example tool",
245
+ annotations(read_only_hint = true)
246
+ )]
247
+ async fn example_tool(params: Parameters<tools::ExampleParams>) -> Result<String, String> {
248
+ tools::example::execute(params).await
249
+ }
250
+
251
+ pub fn new() -> Self {
252
+ Self {
253
+ state: ServerState::new(),
254
+ tool_router: Self::tool_router(),
255
+ }
256
+ }
257
+ }
258
+
259
+ #[tool_handler]
260
+ #[async_trait]
261
+ impl ServerHandler for McpHandler {
262
+ async fn list_prompts(
263
+ &self,
264
+ _request: Option<PaginatedRequestParam>,
265
+ _context: RequestContext<RoleServer>,
266
+ ) -> Result<ListPromptsResult, ErrorData> {
267
+ let prompts = vec![
268
+ Prompt {
269
+ name: "example-prompt".to_string(),
270
+ description: Some("An example prompt".to_string()),
271
+ arguments: Some(vec![
272
+ PromptArgument {
273
+ name: "topic".to_string(),
274
+ description: Some("The topic to discuss".to_string()),
275
+ required: Some(true),
276
+ },
277
+ ]),
278
+ },
279
+ ];
280
+
281
+ Ok(ListPromptsResult { prompts })
282
+ }
283
+
284
+ async fn get_prompt(
285
+ &self,
286
+ request: GetPromptRequestParam,
287
+ _context: RequestContext<RoleServer>,
288
+ ) -> Result<GetPromptResult, ErrorData> {
289
+ match request.name.as_str() {
290
+ "example-prompt" => {
291
+ let topic = request.arguments
292
+ .as_ref()
293
+ .and_then(|args| args.get("topic"))
294
+ .ok_or_else(|| ErrorData::invalid_params("topic required"))?;
295
+
296
+ Ok(GetPromptResult {
297
+ description: Some("Example prompt".to_string()),
298
+ messages: vec![
299
+ PromptMessage::user(format!("Let's discuss: {}", topic)),
300
+ ],
301
+ })
302
+ }
303
+ _ => Err(ErrorData::invalid_params("Unknown prompt")),
304
+ }
305
+ }
306
+
307
+ async fn list_resources(
308
+ &self,
309
+ _request: Option<PaginatedRequestParam>,
310
+ _context: RequestContext<RoleServer>,
311
+ ) -> Result<ListResourcesResult, ErrorData> {
312
+ let resources = vec![
313
+ Resource {
314
+ uri: "example://data/info".to_string(),
315
+ name: "Example Resource".to_string(),
316
+ description: Some("An example resource".to_string()),
317
+ mime_type: Some("text/plain".to_string()),
318
+ },
319
+ ];
320
+
321
+ Ok(ListResourcesResult { resources })
322
+ }
323
+
324
+ async fn read_resource(
325
+ &self,
326
+ request: ReadResourceRequestParam,
327
+ _context: RequestContext<RoleServer>,
328
+ ) -> Result<ReadResourceResult, ErrorData> {
329
+ match request.uri.as_str() {
330
+ "example://data/info" => {
331
+ Ok(ReadResourceResult {
332
+ contents: vec![
333
+ ResourceContents::text("Example resource content".to_string())
334
+ .with_uri(request.uri)
335
+ .with_mime_type("text/plain"),
336
+ ],
337
+ })
338
+ }
339
+ _ => Err(ErrorData::invalid_params("Unknown resource")),
340
+ }
341
+ }
342
+ }
343
+ ```
344
+
345
+ ### src/state.rs
346
+
347
+ ```rust
348
+ use std::sync::Arc;
349
+ use tokio::sync::RwLock;
350
+
351
+ #[derive(Clone)]
352
+ pub struct ServerState {
353
+ // Add shared state here
354
+ counter: Arc<RwLock<i32>>,
355
+ }
356
+
357
+ impl ServerState {
358
+ pub fn new() -> Self {
359
+ Self {
360
+ counter: Arc::new(RwLock::new(0)),
361
+ }
362
+ }
363
+
364
+ pub async fn increment(&self) -> i32 {
365
+ let mut counter = self.counter.write().await;
366
+ *counter += 1;
367
+ *counter
368
+ }
369
+
370
+ pub async fn get(&self) -> i32 {
371
+ *self.counter.read().await
372
+ }
373
+ }
374
+ ```
375
+
376
+ ### src/tools/mod.rs
377
+
378
+ ```rust
379
+ pub mod example;
380
+
381
+ pub use example::ExampleParams;
382
+ ```
383
+
384
+ ### src/tools/example.rs
385
+
386
+ ```rust
387
+ use rmcp::model::Parameters;
388
+ use serde::{Deserialize, Serialize};
389
+ use schemars::JsonSchema;
390
+
391
+ #[derive(Debug, Deserialize, JsonSchema)]
392
+ pub struct ExampleParams {
393
+ pub input: String,
394
+ }
395
+
396
+ pub async fn execute(params: Parameters<ExampleParams>) -> Result<String, String> {
397
+ let input = &params.inner().input;
398
+
399
+ // Tool logic here
400
+ Ok(format!("Processed: {}", input))
401
+ }
402
+
403
+ #[cfg(test)]
404
+ mod tests {
405
+ use super::*;
406
+
407
+ #[tokio::test]
408
+ async fn test_example_tool() {
409
+ let params = Parameters::new(ExampleParams {
410
+ input: "test".to_string(),
411
+ });
412
+
413
+ let result = execute(params).await.unwrap();
414
+ assert!(result.contains("test"));
415
+ }
416
+ }
417
+ ```
418
+
419
+ ### src/prompts/mod.rs
420
+
421
+ ```rust
422
+ // Prompt implementations can go here if needed
423
+ ```
424
+
425
+ ### src/resources/mod.rs
426
+
427
+ ```rust
428
+ // Resource implementations can go here if needed
429
+ ```
430
+
431
+ ### tests/integration_test.rs
432
+
433
+ ```rust
434
+ use rmcp::{
435
+ model::*,
436
+ protocol::*,
437
+ server::{RequestContext, ServerHandler, RoleServer},
438
+ };
439
+
440
+ // Replace with your actual project name in snake_case
441
+ // Example: if project is "my-mcp-server", use my_mcp_server
442
+ use my_mcp_server::handler::McpHandler;
443
+
444
+ #[tokio::test]
445
+ async fn test_list_tools() {
446
+ let handler = McpHandler::new();
447
+ let context = RequestContext::default();
448
+
449
+ let result = handler.list_tools(None, context).await.unwrap();
450
+
451
+ assert!(!result.tools.is_empty());
452
+ assert!(result.tools.iter().any(|t| t.name == "example_tool"));
453
+ }
454
+
455
+ #[tokio::test]
456
+ async fn test_call_tool() {
457
+ let handler = McpHandler::new();
458
+ let context = RequestContext::default();
459
+
460
+ let request = CallToolRequestParam {
461
+ name: "example_tool".to_string(),
462
+ arguments: Some(serde_json::json!({
463
+ "input": "test"
464
+ })),
465
+ };
466
+
467
+ let result = handler.call_tool(request, context).await;
468
+ assert!(result.is_ok());
469
+ }
470
+
471
+ #[tokio::test]
472
+ async fn test_list_prompts() {
473
+ let handler = McpHandler::new();
474
+ let context = RequestContext::default();
475
+
476
+ let result = handler.list_prompts(None, context).await.unwrap();
477
+ assert!(!result.prompts.is_empty());
478
+ }
479
+
480
+ #[tokio::test]
481
+ async fn test_list_resources() {
482
+ let handler = McpHandler::new();
483
+ let context = RequestContext::default();
484
+
485
+ let result = handler.list_resources(None, context).await.unwrap();
486
+ assert!(!result.resources.is_empty());
487
+ }
488
+ ```
489
+
490
+ ## Implementation Guidelines
491
+
492
+ 1. **Use rmcp-macros**: Leverage `#[tool]`, `#[tool_router]`, and `#[tool_handler]` macros for cleaner code
493
+ 2. **Type Safety**: Use `schemars::JsonSchema` for all parameter types
494
+ 3. **Error Handling**: Return `Result` types with proper error messages
495
+ 4. **Async/Await**: All handlers must be async
496
+ 5. **State Management**: Use `Arc<RwLock<T>>` for shared state
497
+ 6. **Testing**: Include unit tests for tools and integration tests for handlers
498
+ 7. **Logging**: Use `tracing` macros (`info!`, `debug!`, `warn!`, `error!`)
499
+ 8. **Documentation**: Add doc comments to all public items
500
+
501
+ ## Example Tool Patterns
502
+
503
+ ### Simple Read-Only Tool
504
+
505
+ ```rust
506
+ #[derive(Debug, Deserialize, JsonSchema)]
507
+ pub struct GreetParams {
508
+ pub name: String,
509
+ }
510
+
511
+ #[tool(
512
+ name = "greet",
513
+ description = "Greets a user by name",
514
+ annotations(read_only_hint = true, idempotent_hint = true)
515
+ )]
516
+ async fn greet(params: Parameters<GreetParams>) -> String {
517
+ format!("Hello, {}!", params.inner().name)
518
+ }
519
+ ```
520
+
521
+ ### Tool with Error Handling
522
+
523
+ ```rust
524
+ #[derive(Debug, Deserialize, JsonSchema)]
525
+ pub struct DivideParams {
526
+ pub a: f64,
527
+ pub b: f64,
528
+ }
529
+
530
+ #[tool(name = "divide", description = "Divides two numbers")]
531
+ async fn divide(params: Parameters<DivideParams>) -> Result<f64, String> {
532
+ let p = params.inner();
533
+ if p.b == 0.0 {
534
+ Err("Cannot divide by zero".to_string())
535
+ } else {
536
+ Ok(p.a / p.b)
537
+ }
538
+ }
539
+ ```
540
+
541
+ ### Tool with State
542
+
543
+ ```rust
544
+ #[tool(
545
+ name = "increment",
546
+ description = "Increments the counter",
547
+ annotations(destructive_hint = true)
548
+ )]
549
+ async fn increment(state: &ServerState) -> i32 {
550
+ state.increment().await
551
+ }
552
+ ```
553
+
554
+ ## Running the Generated Server
555
+
556
+ After generation:
557
+
558
+ ```bash
559
+ cd {project-name}
560
+ cargo build
561
+ cargo test
562
+ cargo run
563
+ ```
564
+
565
+ For Claude Desktop integration:
566
+
567
+ ```json
568
+ {
569
+ "mcpServers": {
570
+ "{project-name}": {
571
+ "command": "path/to/{project-name}/target/release/{project-name}",
572
+ "args": []
573
+ }
574
+ }
575
+ }
576
+ ```
577
+
578
+ Now generate the complete project based on the user's requirements!
@@ -0,0 +1,151 @@
1
+ ---
2
+ mode: 'agent'
3
+ description: 'Shuffle repetitive JSON objects safely by validating schema consistency before randomising entries.'
4
+ tools: ['edit/editFiles', 'runInTerminal', 'pylanceRunCodeSnippet']
5
+ ---
6
+
7
+ # Shuffle JSON Data
8
+
9
+ ## Overview
10
+
11
+ Shuffle repetitive JSON objects without corrupting the data or breaking JSON
12
+ syntax. Always validate the input file first. If a request arrives without a
13
+ data file, pause and ask for one. Only proceed after confirming the JSON can be
14
+ shuffled safely.
15
+
16
+ ## Role
17
+
18
+ You are a data engineer who understands how to randomise or reorder JSON data
19
+ without sacrificing integrity. Combine data-engineering best practices with
20
+ mathematical knowledge of randomizing data to protect data quality.
21
+
22
+ - Confirm that every object shares the same property names when the default
23
+ behavior targets each object.
24
+ - Reject or escalate when the structure prevents a safe shuffle (for example,
25
+ nested objects while operating in the default state).
26
+ - Shuffle data only after validation succeeds or after reading explicit
27
+ variable overrides.
28
+
29
+ ## Objectives
30
+
31
+ 1. Validate that the provided JSON is structurally consistent and can be
32
+ shuffled without producing invalid output.
33
+ 2. Apply the default behavior—shuffle at the object level—when no variables
34
+ appear under the `Variables` header.
35
+ 3. Honour variable overrides that adjust which collections are shuffled, which
36
+ properties are required, or which properties must be ignored.
37
+
38
+ ## Data Validation Checklist
39
+
40
+ Before shuffling:
41
+
42
+ - Ensure every object shares an identical set of property names when the
43
+ default state is in effect.
44
+ - Confirm there are no nested objects in the default state.
45
+ - Verify that the JSON file itself is syntactically valid and well formed.
46
+ - If any check fails, stop and report the inconsistency instead of modifying
47
+ the data.
48
+
49
+ ## Acceptable JSON
50
+
51
+ When the default behavior is active, acceptable JSON resembles the following
52
+ pattern:
53
+
54
+ ```json
55
+ [
56
+ {
57
+ "VALID_PROPERTY_NAME-a": "value",
58
+ "VALID_PROPERTY_NAME-b": "value"
59
+ },
60
+ {
61
+ "VALID_PROPERTY_NAME-a": "value",
62
+ "VALID_PROPERTY_NAME-b": "value"
63
+ }
64
+ ]
65
+ ```
66
+
67
+ ## Unacceptable JSON (Default State)
68
+
69
+ If the default behavior is active, reject files that contain nested objects or
70
+ inconsistent property names. For example:
71
+
72
+ ```json
73
+ [
74
+ {
75
+ "VALID_PROPERTY_NAME-a": {
76
+ "VALID_PROPERTY_NAME-a": "value",
77
+ "VALID_PROPERTY_NAME-b": "value"
78
+ },
79
+ "VALID_PROPERTY_NAME-b": "value"
80
+ },
81
+ {
82
+ "VALID_PROPERTY_NAME-a": "value",
83
+ "VALID_PROPERTY_NAME-b": "value",
84
+ "VALID_PROPERTY_NAME-c": "value"
85
+ }
86
+ ]
87
+ ```
88
+
89
+ If variable overrides clearly explain how to handle nesting or differing
90
+ properties, follow those instructions; otherwise do not attempt to shuffle the
91
+ data.
92
+
93
+ ## Workflow
94
+
95
+ 1. **Gather Input** – Confirm that a JSON file or JSON-like structure is
96
+ attached. If not, pause and request the data file.
97
+ 2. **Review Configuration** – Merge defaults with any supplied variables under
98
+ the `Variables` header or prompt-level overrides.
99
+ 3. **Validate Structure** – Apply the Data Validation Checklist to confirm that
100
+ shuffling is safe in the selected mode.
101
+ 4. **Shuffle Data** – Randomize the collection(s) described by the variables or
102
+ the default behavior while maintaining JSON validity.
103
+ 5. **Return Results** – Output the shuffled data, preserving the original
104
+ encoding and formatting conventions.
105
+
106
+ ## Requirements for Shuffling Data
107
+
108
+ - Each request must provide a JSON file or a compatible JSON structure.
109
+ - If the data cannot remain valid after a shuffle, stop and report the
110
+ inconsistency.
111
+ - Observe the default state when no overrides are supplied.
112
+
113
+ ## Examples
114
+
115
+ Below are two sample interactions demonstrating an error case and a successful
116
+ configuration.
117
+
118
+ ### Missing File
119
+
120
+ ```text
121
+ [user]
122
+ > /shuffle-json-data
123
+ [agent]
124
+ > Please provide a JSON file to shuffle. Preferably as chat variable or attached context.
125
+ ```
126
+
127
+ ### Custom Configuration
128
+
129
+ ```text
130
+ [user]
131
+ > /shuffle-json-data #file:funFacts.json ignoreProperties = "year", "category"; requiredProperties = "fact"
132
+ ```
133
+
134
+ ## Default State
135
+
136
+ Unless variables in this prompt or in a request override the defaults, treat the
137
+ input as follows:
138
+
139
+ - fileName = **REQUIRED**
140
+ - ignoreProperties = none
141
+ - requiredProperties = first set of properties from the first object
142
+ - nesting = false
143
+
144
+ ## Variables
145
+
146
+ When provided, the following variables override the default state. Interpret
147
+ closely related names sensibly so that the task can still succeed.
148
+
149
+ - ignoreProperties
150
+ - requiredProperties
151
+ - nesting