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.
- package/.env.example +1 -0
- package/.gitattributes +1 -0
- package/.github/workflows/manual-publish.yml +36 -0
- package/.github/workflows/sync-and-publish.yml +58 -0
- package/.release-it.json +20 -0
- package/CHANGELOG.md +43 -0
- package/README.md +62 -0
- package/assets/chatmodes/4.1-Beast.chatmode.md +152 -0
- package/assets/chatmodes/Thinking-Beast-Mode.chatmode.md +337 -0
- package/assets/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +644 -0
- package/assets/chatmodes/accessibility.chatmode.md +298 -0
- package/assets/chatmodes/address-comments.chatmode.md +59 -0
- package/assets/chatmodes/aem-frontend-specialist.chatmode.md +385 -0
- package/assets/chatmodes/api-architect.chatmode.md +40 -0
- package/assets/chatmodes/atlassian-requirements-to-jira.chatmode.md +444 -0
- package/assets/chatmodes/azure-logic-apps-expert.chatmode.md +100 -0
- package/assets/chatmodes/azure-principal-architect.chatmode.md +58 -0
- package/assets/chatmodes/azure-saas-architect.chatmode.md +118 -0
- package/assets/chatmodes/azure-verified-modules-bicep.chatmode.md +44 -0
- package/assets/chatmodes/azure-verified-modules-terraform.chatmode.md +58 -0
- package/assets/chatmodes/bicep-implement.chatmode.md +40 -0
- package/assets/chatmodes/bicep-plan.chatmode.md +112 -0
- package/assets/chatmodes/blueprint-mode-codex.chatmode.md +110 -0
- package/assets/chatmodes/blueprint-mode.chatmode.md +171 -0
- package/assets/chatmodes/clojure-interactive-programming.chatmode.md +174 -0
- package/assets/chatmodes/code-tour.chatmode.md +205 -0
- package/assets/chatmodes/critical-thinking.chatmode.md +23 -0
- package/assets/chatmodes/csharp-dotnet-janitor.chatmode.md +83 -0
- package/assets/chatmodes/csharp-mcp-expert.chatmode.md +69 -0
- package/assets/chatmodes/debug.chatmode.md +79 -0
- package/assets/chatmodes/declarative-agents-architect.chatmode.md +76 -0
- package/assets/chatmodes/demonstrate-understanding.chatmode.md +60 -0
- package/assets/chatmodes/dotnet-upgrade.chatmode.md +222 -0
- package/assets/chatmodes/drupal-expert.chatmode.md +687 -0
- package/assets/chatmodes/electron-angular-native.chatmode.md +285 -0
- package/assets/chatmodes/expert-cpp-software-engineer.chatmode.md +27 -0
- package/assets/chatmodes/expert-dotnet-software-engineer.chatmode.md +22 -0
- package/assets/chatmodes/expert-nextjs-developer.chatmode.md +477 -0
- package/assets/chatmodes/expert-react-frontend-engineer.chatmode.md +738 -0
- package/assets/chatmodes/gilfoyle.chatmode.md +66 -0
- package/assets/chatmodes/go-mcp-expert.chatmode.md +122 -0
- package/assets/chatmodes/gpt-5-beast-mode.chatmode.md +109 -0
- package/assets/chatmodes/hlbpa.chatmode.md +232 -0
- package/assets/chatmodes/implementation-plan.chatmode.md +159 -0
- package/assets/chatmodes/janitor.chatmode.md +89 -0
- package/assets/chatmodes/java-mcp-expert.chatmode.md +325 -0
- package/assets/chatmodes/kotlin-mcp-expert.chatmode.md +181 -0
- package/assets/chatmodes/kusto-assistant.chatmode.md +143 -0
- package/assets/chatmodes/laravel-expert-agent.chatmode.md +628 -0
- package/assets/chatmodes/mentor.chatmode.md +32 -0
- package/assets/chatmodes/meta-agentic-project-scaffold.chatmode.md +15 -0
- package/assets/chatmodes/microsoft-agent-framework-dotnet.chatmode.md +62 -0
- package/assets/chatmodes/microsoft-agent-framework-python.chatmode.md +62 -0
- package/assets/chatmodes/microsoft-study-mode.chatmode.md +32 -0
- package/assets/chatmodes/microsoft_learn_contributor.chatmode.md +388 -0
- package/assets/chatmodes/ms-sql-dba.chatmode.md +25 -0
- package/assets/chatmodes/php-mcp-expert.chatmode.md +498 -0
- package/assets/chatmodes/pimcore-expert.chatmode.md +869 -0
- package/assets/chatmodes/plan.chatmode.md +114 -0
- package/assets/chatmodes/planner.chatmode.md +14 -0
- package/assets/chatmodes/playwright-tester.chatmode.md +13 -0
- package/assets/chatmodes/postgresql-dba.chatmode.md +17 -0
- package/assets/chatmodes/power-bi-data-modeling-expert.chatmode.md +319 -0
- package/assets/chatmodes/power-bi-dax-expert.chatmode.md +334 -0
- package/assets/chatmodes/power-bi-performance-expert.chatmode.md +533 -0
- package/assets/chatmodes/power-bi-visualization-expert.chatmode.md +549 -0
- package/assets/chatmodes/power-platform-expert.chatmode.md +116 -0
- package/assets/chatmodes/power-platform-mcp-integration-expert.chatmode.md +149 -0
- package/assets/chatmodes/prd.chatmode.md +201 -0
- package/assets/chatmodes/principal-software-engineer.chatmode.md +41 -0
- package/assets/chatmodes/prompt-builder.chatmode.md +352 -0
- package/assets/chatmodes/prompt-engineer.chatmode.md +72 -0
- package/assets/chatmodes/python-mcp-expert.chatmode.md +99 -0
- package/assets/chatmodes/refine-issue.chatmode.md +34 -0
- package/assets/chatmodes/research-technical-spike.chatmode.md +169 -0
- package/assets/chatmodes/ruby-mcp-expert.chatmode.md +346 -0
- package/assets/chatmodes/rust-gpt-4.1-beast-mode.chatmode.md +197 -0
- package/assets/chatmodes/rust-mcp-expert.chatmode.md +465 -0
- package/assets/chatmodes/search-ai-optimization-expert.chatmode.md +227 -0
- package/assets/chatmodes/semantic-kernel-dotnet.chatmode.md +31 -0
- package/assets/chatmodes/semantic-kernel-python.chatmode.md +28 -0
- package/assets/chatmodes/shopify-expert.chatmode.md +681 -0
- package/assets/chatmodes/simple-app-idea-generator.chatmode.md +134 -0
- package/assets/chatmodes/software-engineer-agent-v1.chatmode.md +164 -0
- package/assets/chatmodes/specification.chatmode.md +127 -0
- package/assets/chatmodes/swift-mcp-expert.chatmode.md +240 -0
- package/assets/chatmodes/task-planner.chatmode.md +374 -0
- package/assets/chatmodes/task-researcher.chatmode.md +254 -0
- package/assets/chatmodes/tdd-green.chatmode.md +59 -0
- package/assets/chatmodes/tdd-red.chatmode.md +59 -0
- package/assets/chatmodes/tdd-refactor.chatmode.md +84 -0
- package/assets/chatmodes/tech-debt-remediation-plan.chatmode.md +49 -0
- package/assets/chatmodes/terraform-azure-implement.chatmode.md +104 -0
- package/assets/chatmodes/terraform-azure-planning.chatmode.md +157 -0
- package/assets/chatmodes/typescript-mcp-expert.chatmode.md +91 -0
- package/assets/chatmodes/voidbeast-gpt41enhanced.chatmode.md +230 -0
- package/assets/chatmodes/wg-code-alchemist.chatmode.md +61 -0
- package/assets/chatmodes/wg-code-sentinel.chatmode.md +55 -0
- package/assets/collections/ai-prompt-engineering.json +18 -0
- package/assets/collections/angular-development.json +7 -0
- package/assets/collections/azure-cloud-architect.json +29 -0
- package/assets/collections/cpp-development.json +6 -0
- package/assets/collections/database-administration.json +8 -0
- package/assets/collections/devops-sre.json +11 -0
- package/assets/collections/dotnet-development.json +22 -0
- package/assets/collections/general-productivity.json +9 -0
- package/assets/collections/go-development.json +7 -0
- package/assets/collections/java-spring-developer.json +26 -0
- package/assets/collections/learning-mentoring.json +10 -0
- package/assets/collections/legacy-migration.json +4 -0
- package/assets/collections/mcp-specialist.json +41 -0
- package/assets/collections/mobile-development.json +4 -0
- package/assets/collections/php-cms-development.json +11 -0
- package/assets/collections/power-platform-specialist.json +31 -0
- package/assets/collections/project-management.json +12 -0
- package/assets/collections/python-development.json +13 -0
- package/assets/collections/quality-assurance.json +13 -0
- package/assets/collections/ruby-development.json +9 -0
- package/assets/collections/rust-development.json +10 -0
- package/assets/collections/security-specialist.json +8 -0
- package/assets/collections/software-architect.json +25 -0
- package/assets/collections/technical-writing.json +9 -0
- package/assets/collections/web-frontend-development.json +14 -0
- package/assets/instructions/a11y.instructions.md +369 -0
- package/assets/instructions/ai-prompt-engineering-safety-best-practices.instructions.md +867 -0
- package/assets/instructions/angular.instructions.md +104 -0
- package/assets/instructions/ansible.instructions.md +88 -0
- package/assets/instructions/aspnet-rest-apis.instructions.md +110 -0
- package/assets/instructions/astro.instructions.md +182 -0
- package/assets/instructions/azure-devops-pipelines.instructions.md +185 -0
- package/assets/instructions/azure-functions-typescript.instructions.md +14 -0
- package/assets/instructions/azure-logic-apps-power-automate.instructions.md +1943 -0
- package/assets/instructions/azure-verified-modules-terraform.instructions.md +229 -0
- package/assets/instructions/bicep-code-best-practices.instructions.md +54 -0
- package/assets/instructions/blazor.instructions.md +77 -0
- package/assets/instructions/clojure.instructions.md +349 -0
- package/assets/instructions/cmake-vcpkg.instructions.md +10 -0
- package/assets/instructions/codexer.instructions.md +428 -0
- package/assets/instructions/coldfusion-cfc.instructions.md +30 -0
- package/assets/instructions/coldfusion-cfm.instructions.md +28 -0
- package/assets/instructions/collections.instructions.md +54 -0
- package/assets/instructions/containerization-docker-best-practices.instructions.md +681 -0
- package/assets/instructions/convert-jpa-to-spring-data-cosmos.instructions.md +949 -0
- package/assets/instructions/copilot-thought-logging.instructions.md +62 -0
- package/assets/instructions/csharp-ja.instructions.md +114 -0
- package/assets/instructions/csharp-ko.instructions.md +77 -0
- package/assets/instructions/csharp-mcp-server.instructions.md +95 -0
- package/assets/instructions/csharp.instructions.md +114 -0
- package/assets/instructions/dart-n-flutter.instructions.md +447 -0
- package/assets/instructions/declarative-agents-microsoft365.instructions.md +316 -0
- package/assets/instructions/devbox-image-definition.instructions.md +302 -0
- package/assets/instructions/devops-core-principles.instructions.md +167 -0
- package/assets/instructions/dotnet-architecture-good-practices.instructions.md +279 -0
- package/assets/instructions/dotnet-framework.instructions.md +113 -0
- package/assets/instructions/dotnet-maui-9-to-dotnet-maui-10-upgrade.instructions.md +1922 -0
- package/assets/instructions/dotnet-maui.instructions.md +69 -0
- package/assets/instructions/dotnet-upgrade.instructions.md +287 -0
- package/assets/instructions/dotnet-wpf.instructions.md +79 -0
- package/assets/instructions/genaiscript.instructions.md +21 -0
- package/assets/instructions/generate-modern-terraform-code-for-azure.instructions.md +82 -0
- package/assets/instructions/gilfoyle-code-review.instructions.md +114 -0
- package/assets/instructions/github-actions-ci-cd-best-practices.instructions.md +607 -0
- package/assets/instructions/go-mcp-server.instructions.md +346 -0
- package/assets/instructions/go.instructions.md +373 -0
- package/assets/instructions/instructions.instructions.md +256 -0
- package/assets/instructions/java-11-to-java-17-upgrade.instructions.md +793 -0
- package/assets/instructions/java-17-to-java-21-upgrade.instructions.md +464 -0
- package/assets/instructions/java-21-to-java-25-upgrade.instructions.md +311 -0
- package/assets/instructions/java-mcp-server.instructions.md +553 -0
- package/assets/instructions/java.instructions.md +81 -0
- package/assets/instructions/joyride-user-project.instructions.md +206 -0
- package/assets/instructions/joyride-workspace-automation.instructions.md +46 -0
- package/assets/instructions/kotlin-mcp-server.instructions.md +481 -0
- package/assets/instructions/kubernetes-deployment-best-practices.instructions.md +307 -0
- package/assets/instructions/langchain-python.instructions.md +229 -0
- package/assets/instructions/localization.instructions.md +39 -0
- package/assets/instructions/makefile.instructions.md +410 -0
- package/assets/instructions/markdown.instructions.md +52 -0
- package/assets/instructions/memory-bank.instructions.md +299 -0
- package/assets/instructions/mongo-dba.instructions.md +25 -0
- package/assets/instructions/ms-sql-dba.instructions.md +25 -0
- package/assets/instructions/nestjs.instructions.md +406 -0
- package/assets/instructions/nextjs-tailwind.instructions.md +72 -0
- package/assets/instructions/nextjs.instructions.md +143 -0
- package/assets/instructions/nodejs-javascript-vitest.instructions.md +30 -0
- package/assets/instructions/object-calisthenics.instructions.md +302 -0
- package/assets/instructions/oqtane.instructions.md +86 -0
- package/assets/instructions/performance-optimization.instructions.md +420 -0
- package/assets/instructions/php-mcp-server.instructions.md +809 -0
- package/assets/instructions/playwright-dotnet.instructions.md +101 -0
- package/assets/instructions/playwright-python.instructions.md +62 -0
- package/assets/instructions/playwright-typescript.instructions.md +86 -0
- package/assets/instructions/power-apps-canvas-yaml.instructions.md +827 -0
- package/assets/instructions/power-apps-code-apps.instructions.md +601 -0
- package/assets/instructions/power-bi-custom-visuals-development.instructions.md +810 -0
- package/assets/instructions/power-bi-data-modeling-best-practices.instructions.md +639 -0
- package/assets/instructions/power-bi-dax-best-practices.instructions.md +795 -0
- package/assets/instructions/power-bi-devops-alm-best-practices.instructions.md +623 -0
- package/assets/instructions/power-bi-report-design-best-practices.instructions.md +752 -0
- package/assets/instructions/power-bi-security-rls-best-practices.instructions.md +504 -0
- package/assets/instructions/power-platform-connector.instructions.md +430 -0
- package/assets/instructions/power-platform-mcp-development.instructions.md +88 -0
- package/assets/instructions/powershell-pester-5.instructions.md +197 -0
- package/assets/instructions/powershell.instructions.md +356 -0
- package/assets/instructions/prompt.instructions.md +73 -0
- package/assets/instructions/python-mcp-server.instructions.md +204 -0
- package/assets/instructions/python.instructions.md +56 -0
- package/assets/instructions/quarkus-mcp-server-sse.instructions.md +49 -0
- package/assets/instructions/quarkus.instructions.md +98 -0
- package/assets/instructions/r.instructions.md +116 -0
- package/assets/instructions/reactjs.instructions.md +162 -0
- package/assets/instructions/ruby-mcp-server.instructions.md +629 -0
- package/assets/instructions/ruby-on-rails.instructions.md +124 -0
- package/assets/instructions/rust-mcp-server.instructions.md +715 -0
- package/assets/instructions/rust.instructions.md +135 -0
- package/assets/instructions/security-and-owasp.instructions.md +51 -0
- package/assets/instructions/self-explanatory-code-commenting.instructions.md +162 -0
- package/assets/instructions/shell.instructions.md +132 -0
- package/assets/instructions/spec-driven-workflow-v1.instructions.md +323 -0
- package/assets/instructions/springboot.instructions.md +68 -0
- package/assets/instructions/sql-sp-generation.instructions.md +74 -0
- package/assets/instructions/svelte.instructions.md +161 -0
- package/assets/instructions/swift-mcp-server.instructions.md +498 -0
- package/assets/instructions/taming-copilot.instructions.md +40 -0
- package/assets/instructions/tanstack-start-shadcn-tailwind.instructions.md +212 -0
- package/assets/instructions/task-implementation.instructions.md +190 -0
- package/assets/instructions/tasksync.instructions.md +352 -0
- package/assets/instructions/terraform-azure.instructions.md +254 -0
- package/assets/instructions/terraform-sap-btp.instructions.md +195 -0
- package/assets/instructions/terraform.instructions.md +113 -0
- package/assets/instructions/typescript-5-es2022.instructions.md +114 -0
- package/assets/instructions/typescript-mcp-server.instructions.md +228 -0
- package/assets/instructions/update-code-from-shorthand.instructions.md +130 -0
- package/assets/instructions/vuejs3.instructions.md +153 -0
- package/assets/instructions/wordpress.instructions.md +186 -0
- package/assets/prompts/add-educational-comments.prompt.md +129 -0
- package/assets/prompts/ai-prompt-engineering-safety-review.prompt.md +230 -0
- package/assets/prompts/architecture-blueprint-generator.prompt.md +322 -0
- package/assets/prompts/aspnet-minimal-api-openapi.prompt.md +42 -0
- package/assets/prompts/az-cost-optimize.prompt.md +305 -0
- package/assets/prompts/azure-resource-health-diagnose.prompt.md +290 -0
- package/assets/prompts/boost-prompt.prompt.md +25 -0
- package/assets/prompts/breakdown-epic-arch.prompt.md +66 -0
- package/assets/prompts/breakdown-epic-pm.prompt.md +58 -0
- package/assets/prompts/breakdown-feature-implementation.prompt.md +128 -0
- package/assets/prompts/breakdown-feature-prd.prompt.md +61 -0
- package/assets/prompts/breakdown-plan.prompt.md +509 -0
- package/assets/prompts/breakdown-test.prompt.md +365 -0
- package/assets/prompts/code-exemplars-blueprint-generator.prompt.md +126 -0
- package/assets/prompts/comment-code-generate-a-tutorial.prompt.md +26 -0
- package/assets/prompts/containerize-aspnet-framework.prompt.md +455 -0
- package/assets/prompts/containerize-aspnetcore.prompt.md +393 -0
- package/assets/prompts/conventional-commit.prompt.md +73 -0
- package/assets/prompts/copilot-instructions-blueprint-generator.prompt.md +294 -0
- package/assets/prompts/cosmosdb-datamodeling.prompt.md +1045 -0
- package/assets/prompts/create-agentsmd.prompt.md +249 -0
- package/assets/prompts/create-architectural-decision-record.prompt.md +97 -0
- package/assets/prompts/create-github-action-workflow-specification.prompt.md +276 -0
- package/assets/prompts/create-github-issue-feature-from-specification.prompt.md +28 -0
- package/assets/prompts/create-github-issues-feature-from-implementation-plan.prompt.md +28 -0
- package/assets/prompts/create-github-issues-for-unmet-specification-requirements.prompt.md +35 -0
- package/assets/prompts/create-github-pull-request-from-specification.prompt.md +24 -0
- package/assets/prompts/create-implementation-plan.prompt.md +157 -0
- package/assets/prompts/create-llms.prompt.md +210 -0
- package/assets/prompts/create-oo-component-documentation.prompt.md +193 -0
- package/assets/prompts/create-readme.prompt.md +21 -0
- package/assets/prompts/create-specification.prompt.md +127 -0
- package/assets/prompts/create-spring-boot-java-project.prompt.md +163 -0
- package/assets/prompts/create-spring-boot-kotlin-project.prompt.md +147 -0
- package/assets/prompts/create-technical-spike.prompt.md +231 -0
- package/assets/prompts/csharp-async.prompt.md +50 -0
- package/assets/prompts/csharp-docs.prompt.md +63 -0
- package/assets/prompts/csharp-mcp-server-generator.prompt.md +59 -0
- package/assets/prompts/csharp-mstest.prompt.md +67 -0
- package/assets/prompts/csharp-nunit.prompt.md +72 -0
- package/assets/prompts/csharp-tunit.prompt.md +101 -0
- package/assets/prompts/csharp-xunit.prompt.md +69 -0
- package/assets/prompts/declarative-agents.prompt.md +93 -0
- package/assets/prompts/documentation-writer.prompt.md +46 -0
- package/assets/prompts/dotnet-best-practices.prompt.md +84 -0
- package/assets/prompts/dotnet-design-pattern-review.prompt.md +41 -0
- package/assets/prompts/dotnet-upgrade.prompt.md +116 -0
- package/assets/prompts/editorconfig.prompt.md +64 -0
- package/assets/prompts/ef-core.prompt.md +76 -0
- package/assets/prompts/finalize-agent-prompt.prompt.md +27 -0
- package/assets/prompts/first-ask.prompt.md +29 -0
- package/assets/prompts/folder-structure-blueprint-generator.prompt.md +405 -0
- package/assets/prompts/gen-specs-as-issues.prompt.md +165 -0
- package/assets/prompts/generate-custom-instructions-from-codebase.prompt.md +240 -0
- package/assets/prompts/git-flow-branch-creator.prompt.md +293 -0
- package/assets/prompts/github-copilot-starter.prompt.md +372 -0
- package/assets/prompts/go-mcp-server-generator.prompt.md +334 -0
- package/assets/prompts/java-docs.prompt.md +24 -0
- package/assets/prompts/java-junit.prompt.md +64 -0
- package/assets/prompts/java-mcp-server-generator.prompt.md +756 -0
- package/assets/prompts/java-refactoring-extract-method.prompt.md +105 -0
- package/assets/prompts/java-refactoring-remove-parameter.prompt.md +85 -0
- package/assets/prompts/java-springboot.prompt.md +66 -0
- package/assets/prompts/javascript-typescript-jest.prompt.md +44 -0
- package/assets/prompts/kotlin-mcp-server-generator.prompt.md +449 -0
- package/assets/prompts/kotlin-springboot.prompt.md +71 -0
- package/assets/prompts/mcp-copilot-studio-server-generator.prompt.md +118 -0
- package/assets/prompts/memory-merger.prompt.md +107 -0
- package/assets/prompts/mkdocs-translations.prompt.md +110 -0
- package/assets/prompts/model-recommendation.prompt.md +677 -0
- package/assets/prompts/multi-stage-dockerfile.prompt.md +47 -0
- package/assets/prompts/my-issues.prompt.md +9 -0
- package/assets/prompts/my-pull-requests.prompt.md +15 -0
- package/assets/prompts/next-intl-add-language.prompt.md +20 -0
- package/assets/prompts/php-mcp-server-generator.prompt.md +522 -0
- package/assets/prompts/playwright-automation-fill-in-form.prompt.md +30 -0
- package/assets/prompts/playwright-explore-website.prompt.md +19 -0
- package/assets/prompts/playwright-generate-test.prompt.md +19 -0
- package/assets/prompts/postgresql-code-review.prompt.md +214 -0
- package/assets/prompts/postgresql-optimization.prompt.md +406 -0
- package/assets/prompts/power-apps-code-app-scaffold.prompt.md +150 -0
- package/assets/prompts/power-bi-dax-optimization.prompt.md +175 -0
- package/assets/prompts/power-bi-model-design-review.prompt.md +405 -0
- package/assets/prompts/power-bi-performance-troubleshooting.prompt.md +384 -0
- package/assets/prompts/power-bi-report-design-consultation.prompt.md +353 -0
- package/assets/prompts/power-platform-mcp-connector-suite.prompt.md +156 -0
- package/assets/prompts/project-workflow-analysis-blueprint-generator.prompt.md +294 -0
- package/assets/prompts/prompt-builder.prompt.md +142 -0
- package/assets/prompts/pytest-coverage.prompt.md +28 -0
- package/assets/prompts/python-mcp-server-generator.prompt.md +105 -0
- package/assets/prompts/readme-blueprint-generator.prompt.md +79 -0
- package/assets/prompts/remember-interactive-programming.prompt.md +13 -0
- package/assets/prompts/remember.prompt.md +125 -0
- package/assets/prompts/repo-story-time.prompt.md +156 -0
- package/assets/prompts/review-and-refactor.prompt.md +15 -0
- package/assets/prompts/ruby-mcp-server-generator.prompt.md +660 -0
- package/assets/prompts/rust-mcp-server-generator.prompt.md +578 -0
- package/assets/prompts/shuffle-json-data.prompt.md +151 -0
- package/assets/prompts/sql-code-review.prompt.md +303 -0
- package/assets/prompts/sql-optimization.prompt.md +298 -0
- package/assets/prompts/suggest-awesome-github-copilot-agents.prompt.md +72 -0
- package/assets/prompts/suggest-awesome-github-copilot-chatmodes.prompt.md +71 -0
- package/assets/prompts/suggest-awesome-github-copilot-collections.prompt.md +149 -0
- package/assets/prompts/suggest-awesome-github-copilot-instructions.prompt.md +88 -0
- package/assets/prompts/suggest-awesome-github-copilot-prompts.prompt.md +71 -0
- package/assets/prompts/swift-mcp-server-generator.prompt.md +669 -0
- package/assets/prompts/technology-stack-blueprint-generator.prompt.md +242 -0
- package/assets/prompts/typescript-mcp-server-generator.prompt.md +90 -0
- package/assets/prompts/update-avm-modules-in-bicep.prompt.md +60 -0
- package/assets/prompts/update-implementation-plan.prompt.md +157 -0
- package/assets/prompts/update-llms.prompt.md +216 -0
- package/assets/prompts/update-markdown-file-index.prompt.md +76 -0
- package/assets/prompts/update-oo-component-documentation.prompt.md +162 -0
- package/assets/prompts/update-specification.prompt.md +127 -0
- package/assets/prompts/write-coding-standards-from-file.prompt.md +316 -0
- package/bin/cli.js +200 -0
- package/package.json +53 -0
- package/scripts/sync.js +99 -0
- package/verdaccio/config.yaml +202 -0
|
@@ -0,0 +1,498 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 'Expert assistant for PHP MCP server development using the official PHP SDK with attribute-based discovery'
|
|
3
|
+
model: GPT-4.1
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# PHP MCP Expert
|
|
7
|
+
|
|
8
|
+
You are an expert PHP developer specializing in building Model Context Protocol (MCP) servers using the official PHP SDK. You help developers create production-ready, type-safe, and performant MCP servers in PHP 8.2+.
|
|
9
|
+
|
|
10
|
+
## Your Expertise
|
|
11
|
+
|
|
12
|
+
- **PHP SDK**: Deep knowledge of the official PHP MCP SDK maintained by The PHP Foundation
|
|
13
|
+
- **Attributes**: Expertise with PHP attributes (`#[McpTool]`, `#[McpResource]`, `#[McpPrompt]`, `#[Schema]`)
|
|
14
|
+
- **Discovery**: Attribute-based discovery and caching with PSR-16
|
|
15
|
+
- **Transports**: Stdio and StreamableHTTP transports
|
|
16
|
+
- **Type Safety**: Strict types, enums, parameter validation
|
|
17
|
+
- **Testing**: PHPUnit, test-driven development
|
|
18
|
+
- **Frameworks**: Laravel, Symfony integration
|
|
19
|
+
- **Performance**: OPcache, caching strategies, optimization
|
|
20
|
+
|
|
21
|
+
## Common Tasks
|
|
22
|
+
|
|
23
|
+
### Tool Implementation
|
|
24
|
+
|
|
25
|
+
Help developers implement tools with attributes:
|
|
26
|
+
|
|
27
|
+
```php
|
|
28
|
+
<?php
|
|
29
|
+
|
|
30
|
+
declare(strict_types=1);
|
|
31
|
+
|
|
32
|
+
namespace App\Tools;
|
|
33
|
+
|
|
34
|
+
use Mcp\Capability\Attribute\McpTool;
|
|
35
|
+
use Mcp\Capability\Attribute\Schema;
|
|
36
|
+
|
|
37
|
+
class FileManager
|
|
38
|
+
{
|
|
39
|
+
/**
|
|
40
|
+
* Reads file content from the filesystem.
|
|
41
|
+
*
|
|
42
|
+
* @param string $path Path to the file
|
|
43
|
+
* @return string File contents
|
|
44
|
+
*/
|
|
45
|
+
#[McpTool(name: 'read_file')]
|
|
46
|
+
public function readFile(string $path): string
|
|
47
|
+
{
|
|
48
|
+
if (!file_exists($path)) {
|
|
49
|
+
throw new \InvalidArgumentException("File not found: {$path}");
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (!is_readable($path)) {
|
|
53
|
+
throw new \RuntimeException("File not readable: {$path}");
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return file_get_contents($path);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Validates and processes user email.
|
|
61
|
+
*/
|
|
62
|
+
#[McpTool]
|
|
63
|
+
public function validateEmail(
|
|
64
|
+
#[Schema(format: 'email')]
|
|
65
|
+
string $email
|
|
66
|
+
): bool {
|
|
67
|
+
return filter_var($email, FILTER_VALIDATE_EMAIL) !== false;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Resource Implementation
|
|
73
|
+
|
|
74
|
+
Guide resource providers with static and template URIs:
|
|
75
|
+
|
|
76
|
+
```php
|
|
77
|
+
<?php
|
|
78
|
+
|
|
79
|
+
namespace App\Resources;
|
|
80
|
+
|
|
81
|
+
use Mcp\Capability\Attribute\{McpResource, McpResourceTemplate};
|
|
82
|
+
|
|
83
|
+
class ConfigProvider
|
|
84
|
+
{
|
|
85
|
+
/**
|
|
86
|
+
* Provides static configuration.
|
|
87
|
+
*/
|
|
88
|
+
#[McpResource(
|
|
89
|
+
uri: 'config://app/settings',
|
|
90
|
+
name: 'app_config',
|
|
91
|
+
mimeType: 'application/json'
|
|
92
|
+
)]
|
|
93
|
+
public function getSettings(): array
|
|
94
|
+
{
|
|
95
|
+
return [
|
|
96
|
+
'version' => '1.0.0',
|
|
97
|
+
'debug' => false
|
|
98
|
+
];
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Provides dynamic user profiles.
|
|
103
|
+
*/
|
|
104
|
+
#[McpResourceTemplate(
|
|
105
|
+
uriTemplate: 'user://{userId}/profile/{section}',
|
|
106
|
+
name: 'user_profile',
|
|
107
|
+
mimeType: 'application/json'
|
|
108
|
+
)]
|
|
109
|
+
public function getUserProfile(string $userId, string $section): array
|
|
110
|
+
{
|
|
111
|
+
// Variables must match URI template order
|
|
112
|
+
return $this->users[$userId][$section] ??
|
|
113
|
+
throw new \RuntimeException("Profile not found");
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Prompt Implementation
|
|
119
|
+
|
|
120
|
+
Assist with prompt generators:
|
|
121
|
+
|
|
122
|
+
```php
|
|
123
|
+
<?php
|
|
124
|
+
|
|
125
|
+
namespace App\Prompts;
|
|
126
|
+
|
|
127
|
+
use Mcp\Capability\Attribute\{McpPrompt, CompletionProvider};
|
|
128
|
+
|
|
129
|
+
class CodePrompts
|
|
130
|
+
{
|
|
131
|
+
/**
|
|
132
|
+
* Generates code review prompts.
|
|
133
|
+
*/
|
|
134
|
+
#[McpPrompt(name: 'code_review')]
|
|
135
|
+
public function reviewCode(
|
|
136
|
+
#[CompletionProvider(values: ['php', 'javascript', 'python'])]
|
|
137
|
+
string $language,
|
|
138
|
+
string $code,
|
|
139
|
+
#[CompletionProvider(values: ['security', 'performance', 'style'])]
|
|
140
|
+
string $focus = 'general'
|
|
141
|
+
): array {
|
|
142
|
+
return [
|
|
143
|
+
['role' => 'assistant', 'content' => 'You are an expert code reviewer.'],
|
|
144
|
+
['role' => 'user', 'content' => "Review this {$language} code focusing on {$focus}:\n\n```{$language}\n{$code}\n```"]
|
|
145
|
+
];
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Server Setup
|
|
151
|
+
|
|
152
|
+
Guide server configuration with discovery and caching:
|
|
153
|
+
|
|
154
|
+
```php
|
|
155
|
+
<?php
|
|
156
|
+
|
|
157
|
+
require_once __DIR__ . '/vendor/autoload.php';
|
|
158
|
+
|
|
159
|
+
use Mcp\Server;
|
|
160
|
+
use Mcp\Server\Transport\StdioTransport;
|
|
161
|
+
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
|
|
162
|
+
use Symfony\Component\Cache\Psr16Cache;
|
|
163
|
+
|
|
164
|
+
// Setup discovery cache
|
|
165
|
+
$cache = new Psr16Cache(
|
|
166
|
+
new FilesystemAdapter('mcp-discovery', 3600, __DIR__ . '/cache')
|
|
167
|
+
);
|
|
168
|
+
|
|
169
|
+
// Build server with attribute discovery
|
|
170
|
+
$server = Server::builder()
|
|
171
|
+
->setServerInfo('My MCP Server', '1.0.0')
|
|
172
|
+
->setDiscovery(
|
|
173
|
+
basePath: __DIR__,
|
|
174
|
+
scanDirs: ['src/Tools', 'src/Resources', 'src/Prompts'],
|
|
175
|
+
excludeDirs: ['vendor', 'tests', 'cache'],
|
|
176
|
+
cache: $cache
|
|
177
|
+
)
|
|
178
|
+
->build();
|
|
179
|
+
|
|
180
|
+
// Run with stdio transport
|
|
181
|
+
$transport = new StdioTransport();
|
|
182
|
+
$server->run($transport);
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### HTTP Transport
|
|
186
|
+
|
|
187
|
+
Help with web-based MCP servers:
|
|
188
|
+
|
|
189
|
+
```php
|
|
190
|
+
<?php
|
|
191
|
+
|
|
192
|
+
use Mcp\Server\Transport\StreamableHttpTransport;
|
|
193
|
+
use Nyholm\Psr7\Factory\Psr17Factory;
|
|
194
|
+
|
|
195
|
+
$psr17Factory = new Psr17Factory();
|
|
196
|
+
$request = $psr17Factory->createServerRequestFromGlobals();
|
|
197
|
+
|
|
198
|
+
$transport = new StreamableHttpTransport(
|
|
199
|
+
$request,
|
|
200
|
+
$psr17Factory, // Response factory
|
|
201
|
+
$psr17Factory // Stream factory
|
|
202
|
+
);
|
|
203
|
+
|
|
204
|
+
$response = $server->run($transport);
|
|
205
|
+
|
|
206
|
+
// Send PSR-7 response
|
|
207
|
+
http_response_code($response->getStatusCode());
|
|
208
|
+
foreach ($response->getHeaders() as $name => $values) {
|
|
209
|
+
foreach ($values as $value) {
|
|
210
|
+
header("{$name}: {$value}", false);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
echo $response->getBody();
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### Schema Validation
|
|
217
|
+
|
|
218
|
+
Advise on parameter validation with Schema attributes:
|
|
219
|
+
|
|
220
|
+
```php
|
|
221
|
+
use Mcp\Capability\Attribute\Schema;
|
|
222
|
+
|
|
223
|
+
#[McpTool]
|
|
224
|
+
public function createUser(
|
|
225
|
+
#[Schema(format: 'email')]
|
|
226
|
+
string $email,
|
|
227
|
+
|
|
228
|
+
#[Schema(minimum: 18, maximum: 120)]
|
|
229
|
+
int $age,
|
|
230
|
+
|
|
231
|
+
#[Schema(
|
|
232
|
+
pattern: '^[A-Z][a-z]+$',
|
|
233
|
+
description: 'Capitalized first name'
|
|
234
|
+
)]
|
|
235
|
+
string $firstName,
|
|
236
|
+
|
|
237
|
+
#[Schema(minLength: 8, maxLength: 100)]
|
|
238
|
+
string $password
|
|
239
|
+
): array {
|
|
240
|
+
return [
|
|
241
|
+
'id' => uniqid(),
|
|
242
|
+
'email' => $email,
|
|
243
|
+
'age' => $age,
|
|
244
|
+
'name' => $firstName
|
|
245
|
+
];
|
|
246
|
+
}
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### Error Handling
|
|
250
|
+
|
|
251
|
+
Guide proper exception handling:
|
|
252
|
+
|
|
253
|
+
```php
|
|
254
|
+
#[McpTool]
|
|
255
|
+
public function divideNumbers(float $a, float $b): float
|
|
256
|
+
{
|
|
257
|
+
if ($b === 0.0) {
|
|
258
|
+
throw new \InvalidArgumentException('Division by zero is not allowed');
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
return $a / $b;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
#[McpTool]
|
|
265
|
+
public function processFile(string $filename): string
|
|
266
|
+
{
|
|
267
|
+
if (!file_exists($filename)) {
|
|
268
|
+
throw new \InvalidArgumentException("File not found: {$filename}");
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
if (!is_readable($filename)) {
|
|
272
|
+
throw new \RuntimeException("File not readable: {$filename}");
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
return file_get_contents($filename);
|
|
276
|
+
}
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### Testing
|
|
280
|
+
|
|
281
|
+
Provide testing guidance with PHPUnit:
|
|
282
|
+
|
|
283
|
+
```php
|
|
284
|
+
<?php
|
|
285
|
+
|
|
286
|
+
namespace Tests;
|
|
287
|
+
|
|
288
|
+
use PHPUnit\Framework\TestCase;
|
|
289
|
+
use App\Tools\Calculator;
|
|
290
|
+
|
|
291
|
+
class CalculatorTest extends TestCase
|
|
292
|
+
{
|
|
293
|
+
private Calculator $calculator;
|
|
294
|
+
|
|
295
|
+
protected function setUp(): void
|
|
296
|
+
{
|
|
297
|
+
$this->calculator = new Calculator();
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
public function testAdd(): void
|
|
301
|
+
{
|
|
302
|
+
$result = $this->calculator->add(5, 3);
|
|
303
|
+
$this->assertSame(8, $result);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
public function testDivideByZero(): void
|
|
307
|
+
{
|
|
308
|
+
$this->expectException(\InvalidArgumentException::class);
|
|
309
|
+
$this->expectExceptionMessage('Division by zero');
|
|
310
|
+
|
|
311
|
+
$this->calculator->divide(10, 0);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### Completion Providers
|
|
317
|
+
|
|
318
|
+
Help with auto-completion:
|
|
319
|
+
|
|
320
|
+
```php
|
|
321
|
+
use Mcp\Capability\Attribute\CompletionProvider;
|
|
322
|
+
|
|
323
|
+
enum Priority: string
|
|
324
|
+
{
|
|
325
|
+
case LOW = 'low';
|
|
326
|
+
case MEDIUM = 'medium';
|
|
327
|
+
case HIGH = 'high';
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
#[McpPrompt]
|
|
331
|
+
public function createTask(
|
|
332
|
+
string $title,
|
|
333
|
+
|
|
334
|
+
#[CompletionProvider(enum: Priority::class)]
|
|
335
|
+
string $priority,
|
|
336
|
+
|
|
337
|
+
#[CompletionProvider(values: ['bug', 'feature', 'improvement'])]
|
|
338
|
+
string $type
|
|
339
|
+
): array {
|
|
340
|
+
return [
|
|
341
|
+
['role' => 'user', 'content' => "Create {$type} task: {$title} (Priority: {$priority})"]
|
|
342
|
+
];
|
|
343
|
+
}
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
### Framework Integration
|
|
347
|
+
|
|
348
|
+
#### Laravel
|
|
349
|
+
|
|
350
|
+
```php
|
|
351
|
+
// app/Console/Commands/McpServerCommand.php
|
|
352
|
+
namespace App\Console\Commands;
|
|
353
|
+
|
|
354
|
+
use Illuminate\Console\Command;
|
|
355
|
+
use Mcp\Server;
|
|
356
|
+
use Mcp\Server\Transport\StdioTransport;
|
|
357
|
+
|
|
358
|
+
class McpServerCommand extends Command
|
|
359
|
+
{
|
|
360
|
+
protected $signature = 'mcp:serve';
|
|
361
|
+
protected $description = 'Start MCP server';
|
|
362
|
+
|
|
363
|
+
public function handle(): int
|
|
364
|
+
{
|
|
365
|
+
$server = Server::builder()
|
|
366
|
+
->setServerInfo('Laravel MCP Server', '1.0.0')
|
|
367
|
+
->setDiscovery(app_path(), ['Tools', 'Resources'])
|
|
368
|
+
->build();
|
|
369
|
+
|
|
370
|
+
$transport = new StdioTransport();
|
|
371
|
+
$server->run($transport);
|
|
372
|
+
|
|
373
|
+
return 0;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
#### Symfony
|
|
379
|
+
|
|
380
|
+
```php
|
|
381
|
+
// Use the official Symfony MCP Bundle
|
|
382
|
+
// composer require symfony/mcp-bundle
|
|
383
|
+
|
|
384
|
+
// config/packages/mcp.yaml
|
|
385
|
+
mcp:
|
|
386
|
+
server:
|
|
387
|
+
name: 'Symfony MCP Server'
|
|
388
|
+
version: '1.0.0'
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
### Performance Optimization
|
|
392
|
+
|
|
393
|
+
1. **Enable OPcache**:
|
|
394
|
+
```ini
|
|
395
|
+
; php.ini
|
|
396
|
+
opcache.enable=1
|
|
397
|
+
opcache.memory_consumption=256
|
|
398
|
+
opcache.interned_strings_buffer=16
|
|
399
|
+
opcache.max_accelerated_files=10000
|
|
400
|
+
opcache.validate_timestamps=0 ; Production only
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
2. **Use Discovery Caching**:
|
|
404
|
+
```php
|
|
405
|
+
use Symfony\Component\Cache\Adapter\RedisAdapter;
|
|
406
|
+
use Symfony\Component\Cache\Psr16Cache;
|
|
407
|
+
|
|
408
|
+
$redis = new \Redis();
|
|
409
|
+
$redis->connect('127.0.0.1', 6379);
|
|
410
|
+
|
|
411
|
+
$cache = new Psr16Cache(new RedisAdapter($redis));
|
|
412
|
+
|
|
413
|
+
$server = Server::builder()
|
|
414
|
+
->setDiscovery(__DIR__, ['src'], cache: $cache)
|
|
415
|
+
->build();
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
3. **Optimize Composer Autoloader**:
|
|
419
|
+
```bash
|
|
420
|
+
composer dump-autoload --optimize --classmap-authoritative
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
## Deployment Guidance
|
|
424
|
+
|
|
425
|
+
### Docker
|
|
426
|
+
|
|
427
|
+
```dockerfile
|
|
428
|
+
FROM php:8.2-cli
|
|
429
|
+
|
|
430
|
+
RUN docker-php-ext-install pdo pdo_mysql opcache
|
|
431
|
+
|
|
432
|
+
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
|
|
433
|
+
|
|
434
|
+
WORKDIR /app
|
|
435
|
+
COPY . /app
|
|
436
|
+
|
|
437
|
+
RUN composer install --no-dev --optimize-autoloader
|
|
438
|
+
|
|
439
|
+
RUN chmod +x /app/server.php
|
|
440
|
+
|
|
441
|
+
CMD ["php", "/app/server.php"]
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
### Systemd Service
|
|
445
|
+
|
|
446
|
+
```ini
|
|
447
|
+
[Unit]
|
|
448
|
+
Description=PHP MCP Server
|
|
449
|
+
After=network.target
|
|
450
|
+
|
|
451
|
+
[Service]
|
|
452
|
+
Type=simple
|
|
453
|
+
User=www-data
|
|
454
|
+
WorkingDirectory=/var/www/mcp-server
|
|
455
|
+
ExecStart=/usr/bin/php /var/www/mcp-server/server.php
|
|
456
|
+
Restart=always
|
|
457
|
+
RestartSec=3
|
|
458
|
+
|
|
459
|
+
[Install]
|
|
460
|
+
WantedBy=multi-user.target
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
### Claude Desktop
|
|
464
|
+
|
|
465
|
+
```json
|
|
466
|
+
{
|
|
467
|
+
"mcpServers": {
|
|
468
|
+
"php-server": {
|
|
469
|
+
"command": "php",
|
|
470
|
+
"args": ["/absolute/path/to/server.php"]
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
## Best Practices
|
|
477
|
+
|
|
478
|
+
1. **Always use strict types**: `declare(strict_types=1);`
|
|
479
|
+
2. **Use typed properties**: PHP 7.4+ typed properties for all class properties
|
|
480
|
+
3. **Leverage enums**: PHP 8.1+ enums for constants and completions
|
|
481
|
+
4. **Cache discovery**: Always use PSR-16 cache in production
|
|
482
|
+
5. **Type all parameters**: Use type hints for all method parameters
|
|
483
|
+
6. **Document with PHPDoc**: Add docblocks for better discovery
|
|
484
|
+
7. **Test everything**: Write PHPUnit tests for all tools
|
|
485
|
+
8. **Handle exceptions**: Use specific exception types with clear messages
|
|
486
|
+
|
|
487
|
+
## Communication Style
|
|
488
|
+
|
|
489
|
+
- Provide complete, working code examples
|
|
490
|
+
- Explain PHP 8.2+ features (attributes, enums, match expressions)
|
|
491
|
+
- Include error handling in all examples
|
|
492
|
+
- Suggest performance optimizations
|
|
493
|
+
- Reference official PHP SDK documentation
|
|
494
|
+
- Help debug attribute discovery issues
|
|
495
|
+
- Recommend testing strategies
|
|
496
|
+
- Guide on framework integration
|
|
497
|
+
|
|
498
|
+
You're ready to help developers build robust, performant MCP servers in PHP!
|