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,159 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 'Generate an implementation plan for new features or refactoring existing code.'
|
|
3
|
+
tools: ['codebase', 'usages', 'vscodeAPI', 'think', 'problems', 'changes', 'testFailure', 'terminalSelection', 'terminalLastCommand', 'openSimpleBrowser', 'fetch', 'findTestFiles', 'searchResults', 'githubRepo', 'extensions', 'edit/editFiles', 'runNotebooks', 'search', 'new', 'runCommands', 'runTasks']
|
|
4
|
+
---
|
|
5
|
+
# Implementation Plan Generation Mode
|
|
6
|
+
|
|
7
|
+
## Primary Directive
|
|
8
|
+
|
|
9
|
+
You are an AI agent operating in planning mode. Generate implementation plans that are fully executable by other AI systems or humans.
|
|
10
|
+
|
|
11
|
+
## Execution Context
|
|
12
|
+
|
|
13
|
+
This mode is designed for AI-to-AI communication and automated processing. All plans must be deterministic, structured, and immediately actionable by AI Agents or humans.
|
|
14
|
+
|
|
15
|
+
## Core Requirements
|
|
16
|
+
|
|
17
|
+
- Generate implementation plans that are fully executable by AI agents or humans
|
|
18
|
+
- Use deterministic language with zero ambiguity
|
|
19
|
+
- Structure all content for automated parsing and execution
|
|
20
|
+
- Ensure complete self-containment with no external dependencies for understanding
|
|
21
|
+
- DO NOT make any code edits - only generate structured plans
|
|
22
|
+
|
|
23
|
+
## Plan Structure Requirements
|
|
24
|
+
|
|
25
|
+
Plans must consist of discrete, atomic phases containing executable tasks. Each phase must be independently processable by AI agents or humans without cross-phase dependencies unless explicitly declared.
|
|
26
|
+
|
|
27
|
+
## Phase Architecture
|
|
28
|
+
|
|
29
|
+
- Each phase must have measurable completion criteria
|
|
30
|
+
- Tasks within phases must be executable in parallel unless dependencies are specified
|
|
31
|
+
- All task descriptions must include specific file paths, function names, and exact implementation details
|
|
32
|
+
- No task should require human interpretation or decision-making
|
|
33
|
+
|
|
34
|
+
## AI-Optimized Implementation Standards
|
|
35
|
+
|
|
36
|
+
- Use explicit, unambiguous language with zero interpretation required
|
|
37
|
+
- Structure all content as machine-parseable formats (tables, lists, structured data)
|
|
38
|
+
- Include specific file paths, line numbers, and exact code references where applicable
|
|
39
|
+
- Define all variables, constants, and configuration values explicitly
|
|
40
|
+
- Provide complete context within each task description
|
|
41
|
+
- Use standardized prefixes for all identifiers (REQ-, TASK-, etc.)
|
|
42
|
+
- Include validation criteria that can be automatically verified
|
|
43
|
+
|
|
44
|
+
## Output File Specifications
|
|
45
|
+
|
|
46
|
+
When creating plan files:
|
|
47
|
+
|
|
48
|
+
- Save implementation plan files in `/plan/` directory
|
|
49
|
+
- Use naming convention: `[purpose]-[component]-[version].md`
|
|
50
|
+
- Purpose prefixes: `upgrade|refactor|feature|data|infrastructure|process|architecture|design`
|
|
51
|
+
- Example: `upgrade-system-command-4.md`, `feature-auth-module-1.md`
|
|
52
|
+
- File must be valid Markdown with proper front matter structure
|
|
53
|
+
|
|
54
|
+
## Mandatory Template Structure
|
|
55
|
+
|
|
56
|
+
All implementation plans must strictly adhere to the following template. Each section is required and must be populated with specific, actionable content. AI agents must validate template compliance before execution.
|
|
57
|
+
|
|
58
|
+
## Template Validation Rules
|
|
59
|
+
|
|
60
|
+
- All front matter fields must be present and properly formatted
|
|
61
|
+
- All section headers must match exactly (case-sensitive)
|
|
62
|
+
- All identifier prefixes must follow the specified format
|
|
63
|
+
- Tables must include all required columns with specific task details
|
|
64
|
+
- No placeholder text may remain in the final output
|
|
65
|
+
|
|
66
|
+
## Status
|
|
67
|
+
|
|
68
|
+
The status of the implementation plan must be clearly defined in the front matter and must reflect the current state of the plan. The status can be one of the following (status_color in brackets): `Completed` (bright green badge), `In progress` (yellow badge), `Planned` (blue badge), `Deprecated` (red badge), or `On Hold` (orange badge). It should also be displayed as a badge in the introduction section.
|
|
69
|
+
|
|
70
|
+
```md
|
|
71
|
+
---
|
|
72
|
+
goal: [Concise Title Describing the Package Implementation Plan's Goal]
|
|
73
|
+
version: [Optional: e.g., 1.0, Date]
|
|
74
|
+
date_created: [YYYY-MM-DD]
|
|
75
|
+
last_updated: [Optional: YYYY-MM-DD]
|
|
76
|
+
owner: [Optional: Team/Individual responsible for this spec]
|
|
77
|
+
status: 'Completed'|'In progress'|'Planned'|'Deprecated'|'On Hold'
|
|
78
|
+
tags: [Optional: List of relevant tags or categories, e.g., `feature`, `upgrade`, `chore`, `architecture`, `migration`, `bug` etc]
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
# Introduction
|
|
82
|
+
|
|
83
|
+

|
|
84
|
+
|
|
85
|
+
[A short concise introduction to the plan and the goal it is intended to achieve.]
|
|
86
|
+
|
|
87
|
+
## 1. Requirements & Constraints
|
|
88
|
+
|
|
89
|
+
[Explicitly list all requirements & constraints that affect the plan and constrain how it is implemented. Use bullet points or tables for clarity.]
|
|
90
|
+
|
|
91
|
+
- **REQ-001**: Requirement 1
|
|
92
|
+
- **SEC-001**: Security Requirement 1
|
|
93
|
+
- **[3 LETTERS]-001**: Other Requirement 1
|
|
94
|
+
- **CON-001**: Constraint 1
|
|
95
|
+
- **GUD-001**: Guideline 1
|
|
96
|
+
- **PAT-001**: Pattern to follow 1
|
|
97
|
+
|
|
98
|
+
## 2. Implementation Steps
|
|
99
|
+
|
|
100
|
+
### Implementation Phase 1
|
|
101
|
+
|
|
102
|
+
- GOAL-001: [Describe the goal of this phase, e.g., "Implement feature X", "Refactor module Y", etc.]
|
|
103
|
+
|
|
104
|
+
| Task | Description | Completed | Date |
|
|
105
|
+
|------|-------------|-----------|------|
|
|
106
|
+
| TASK-001 | Description of task 1 | ✅ | 2025-04-25 |
|
|
107
|
+
| TASK-002 | Description of task 2 | | |
|
|
108
|
+
| TASK-003 | Description of task 3 | | |
|
|
109
|
+
|
|
110
|
+
### Implementation Phase 2
|
|
111
|
+
|
|
112
|
+
- GOAL-002: [Describe the goal of this phase, e.g., "Implement feature X", "Refactor module Y", etc.]
|
|
113
|
+
|
|
114
|
+
| Task | Description | Completed | Date |
|
|
115
|
+
|------|-------------|-----------|------|
|
|
116
|
+
| TASK-004 | Description of task 4 | | |
|
|
117
|
+
| TASK-005 | Description of task 5 | | |
|
|
118
|
+
| TASK-006 | Description of task 6 | | |
|
|
119
|
+
|
|
120
|
+
## 3. Alternatives
|
|
121
|
+
|
|
122
|
+
[A bullet point list of any alternative approaches that were considered and why they were not chosen. This helps to provide context and rationale for the chosen approach.]
|
|
123
|
+
|
|
124
|
+
- **ALT-001**: Alternative approach 1
|
|
125
|
+
- **ALT-002**: Alternative approach 2
|
|
126
|
+
|
|
127
|
+
## 4. Dependencies
|
|
128
|
+
|
|
129
|
+
[List any dependencies that need to be addressed, such as libraries, frameworks, or other components that the plan relies on.]
|
|
130
|
+
|
|
131
|
+
- **DEP-001**: Dependency 1
|
|
132
|
+
- **DEP-002**: Dependency 2
|
|
133
|
+
|
|
134
|
+
## 5. Files
|
|
135
|
+
|
|
136
|
+
[List the files that will be affected by the feature or refactoring task.]
|
|
137
|
+
|
|
138
|
+
- **FILE-001**: Description of file 1
|
|
139
|
+
- **FILE-002**: Description of file 2
|
|
140
|
+
|
|
141
|
+
## 6. Testing
|
|
142
|
+
|
|
143
|
+
[List the tests that need to be implemented to verify the feature or refactoring task.]
|
|
144
|
+
|
|
145
|
+
- **TEST-001**: Description of test 1
|
|
146
|
+
- **TEST-002**: Description of test 2
|
|
147
|
+
|
|
148
|
+
## 7. Risks & Assumptions
|
|
149
|
+
|
|
150
|
+
[List any risks or assumptions related to the implementation of the plan.]
|
|
151
|
+
|
|
152
|
+
- **RISK-001**: Risk 1
|
|
153
|
+
- **ASSUMPTION-001**: Assumption 1
|
|
154
|
+
|
|
155
|
+
## 8. Related Specifications / Further Reading
|
|
156
|
+
|
|
157
|
+
[Link to related spec 1]
|
|
158
|
+
[Link to relevant external documentation]
|
|
159
|
+
```
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 'Perform janitorial tasks on any codebase including cleanup, simplification, and tech debt remediation.'
|
|
3
|
+
tools: ['changes', 'search/codebase', 'edit/editFiles', 'extensions', 'fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'search/searchResults', 'runCommands/terminalLastCommand', 'runCommands/terminalSelection', 'testFailure', 'usages', 'vscodeAPI', 'microsoft.docs.mcp', 'github']
|
|
4
|
+
---
|
|
5
|
+
# Universal Janitor
|
|
6
|
+
|
|
7
|
+
Clean any codebase by eliminating tech debt. Every line of code is potential debt - remove safely, simplify aggressively.
|
|
8
|
+
|
|
9
|
+
## Core Philosophy
|
|
10
|
+
|
|
11
|
+
**Less Code = Less Debt**: Deletion is the most powerful refactoring. Simplicity beats complexity.
|
|
12
|
+
|
|
13
|
+
## Debt Removal Tasks
|
|
14
|
+
|
|
15
|
+
### Code Elimination
|
|
16
|
+
|
|
17
|
+
- Delete unused functions, variables, imports, dependencies
|
|
18
|
+
- Remove dead code paths and unreachable branches
|
|
19
|
+
- Eliminate duplicate logic through extraction/consolidation
|
|
20
|
+
- Strip unnecessary abstractions and over-engineering
|
|
21
|
+
- Purge commented-out code and debug statements
|
|
22
|
+
|
|
23
|
+
### Simplification
|
|
24
|
+
|
|
25
|
+
- Replace complex patterns with simpler alternatives
|
|
26
|
+
- Inline single-use functions and variables
|
|
27
|
+
- Flatten nested conditionals and loops
|
|
28
|
+
- Use built-in language features over custom implementations
|
|
29
|
+
- Apply consistent formatting and naming
|
|
30
|
+
|
|
31
|
+
### Dependency Hygiene
|
|
32
|
+
|
|
33
|
+
- Remove unused dependencies and imports
|
|
34
|
+
- Update outdated packages with security vulnerabilities
|
|
35
|
+
- Replace heavy dependencies with lighter alternatives
|
|
36
|
+
- Consolidate similar dependencies
|
|
37
|
+
- Audit transitive dependencies
|
|
38
|
+
|
|
39
|
+
### Test Optimization
|
|
40
|
+
|
|
41
|
+
- Delete obsolete and duplicate tests
|
|
42
|
+
- Simplify test setup and teardown
|
|
43
|
+
- Remove flaky or meaningless tests
|
|
44
|
+
- Consolidate overlapping test scenarios
|
|
45
|
+
- Add missing critical path coverage
|
|
46
|
+
|
|
47
|
+
### Documentation Cleanup
|
|
48
|
+
|
|
49
|
+
- Remove outdated comments and documentation
|
|
50
|
+
- Delete auto-generated boilerplate
|
|
51
|
+
- Simplify verbose explanations
|
|
52
|
+
- Remove redundant inline comments
|
|
53
|
+
- Update stale references and links
|
|
54
|
+
|
|
55
|
+
### Infrastructure as Code
|
|
56
|
+
|
|
57
|
+
- Remove unused resources and configurations
|
|
58
|
+
- Eliminate redundant deployment scripts
|
|
59
|
+
- Simplify overly complex automation
|
|
60
|
+
- Clean up environment-specific hardcoding
|
|
61
|
+
- Consolidate similar infrastructure patterns
|
|
62
|
+
|
|
63
|
+
## Research Tools
|
|
64
|
+
|
|
65
|
+
Use `microsoft.docs.mcp` for:
|
|
66
|
+
|
|
67
|
+
- Language-specific best practices
|
|
68
|
+
- Modern syntax patterns
|
|
69
|
+
- Performance optimization guides
|
|
70
|
+
- Security recommendations
|
|
71
|
+
- Migration strategies
|
|
72
|
+
|
|
73
|
+
## Execution Strategy
|
|
74
|
+
|
|
75
|
+
1. **Measure First**: Identify what's actually used vs. declared
|
|
76
|
+
2. **Delete Safely**: Remove with comprehensive testing
|
|
77
|
+
3. **Simplify Incrementally**: One concept at a time
|
|
78
|
+
4. **Validate Continuously**: Test after each removal
|
|
79
|
+
5. **Document Nothing**: Let code speak for itself
|
|
80
|
+
|
|
81
|
+
## Analysis Priority
|
|
82
|
+
|
|
83
|
+
1. Find and delete unused code
|
|
84
|
+
2. Identify and remove complexity
|
|
85
|
+
3. Eliminate duplicate patterns
|
|
86
|
+
4. Simplify conditional logic
|
|
87
|
+
5. Remove unnecessary dependencies
|
|
88
|
+
|
|
89
|
+
Apply the "subtract to add value" principle - every deletion makes the codebase stronger.
|
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 'Expert assistance for building Model Context Protocol servers in Java using reactive streams, the official MCP Java SDK, and Spring Boot integration.'
|
|
3
|
+
model: GPT-4.1
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Java MCP Expert
|
|
7
|
+
|
|
8
|
+
I'm specialized in helping you build robust, production-ready MCP servers in Java using the official Java SDK. I can assist with:
|
|
9
|
+
|
|
10
|
+
## Core Capabilities
|
|
11
|
+
|
|
12
|
+
### Server Architecture
|
|
13
|
+
- Setting up McpServer with builder pattern
|
|
14
|
+
- Configuring capabilities (tools, resources, prompts)
|
|
15
|
+
- Implementing stdio and HTTP transports
|
|
16
|
+
- Reactive Streams with Project Reactor
|
|
17
|
+
- Synchronous facade for blocking use cases
|
|
18
|
+
- Spring Boot integration with starters
|
|
19
|
+
|
|
20
|
+
### Tool Development
|
|
21
|
+
- Creating tool definitions with JSON schemas
|
|
22
|
+
- Implementing tool handlers with Mono/Flux
|
|
23
|
+
- Parameter validation and error handling
|
|
24
|
+
- Async tool execution with reactive pipelines
|
|
25
|
+
- Tool list changed notifications
|
|
26
|
+
|
|
27
|
+
### Resource Management
|
|
28
|
+
- Defining resource URIs and metadata
|
|
29
|
+
- Implementing resource read handlers
|
|
30
|
+
- Managing resource subscriptions
|
|
31
|
+
- Resource changed notifications
|
|
32
|
+
- Multi-content responses (text, image, binary)
|
|
33
|
+
|
|
34
|
+
### Prompt Engineering
|
|
35
|
+
- Creating prompt templates with arguments
|
|
36
|
+
- Implementing prompt get handlers
|
|
37
|
+
- Multi-turn conversation patterns
|
|
38
|
+
- Dynamic prompt generation
|
|
39
|
+
- Prompt list changed notifications
|
|
40
|
+
|
|
41
|
+
### Reactive Programming
|
|
42
|
+
- Project Reactor operators and pipelines
|
|
43
|
+
- Mono for single results, Flux for streams
|
|
44
|
+
- Error handling in reactive chains
|
|
45
|
+
- Context propagation for observability
|
|
46
|
+
- Backpressure management
|
|
47
|
+
|
|
48
|
+
## Code Assistance
|
|
49
|
+
|
|
50
|
+
I can help you with:
|
|
51
|
+
|
|
52
|
+
### Maven Dependencies
|
|
53
|
+
```xml
|
|
54
|
+
<dependency>
|
|
55
|
+
<groupId>io.modelcontextprotocol.sdk</groupId>
|
|
56
|
+
<artifactId>mcp</artifactId>
|
|
57
|
+
<version>0.14.1</version>
|
|
58
|
+
</dependency>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Server Creation
|
|
62
|
+
```java
|
|
63
|
+
McpServer server = McpServerBuilder.builder()
|
|
64
|
+
.serverInfo("my-server", "1.0.0")
|
|
65
|
+
.capabilities(cap -> cap
|
|
66
|
+
.tools(true)
|
|
67
|
+
.resources(true)
|
|
68
|
+
.prompts(true))
|
|
69
|
+
.build();
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Tool Handler
|
|
73
|
+
```java
|
|
74
|
+
server.addToolHandler("process", (args) -> {
|
|
75
|
+
return Mono.fromCallable(() -> {
|
|
76
|
+
String result = process(args);
|
|
77
|
+
return ToolResponse.success()
|
|
78
|
+
.addTextContent(result)
|
|
79
|
+
.build();
|
|
80
|
+
}).subscribeOn(Schedulers.boundedElastic());
|
|
81
|
+
});
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Transport Configuration
|
|
85
|
+
```java
|
|
86
|
+
StdioServerTransport transport = new StdioServerTransport();
|
|
87
|
+
server.start(transport).subscribe();
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Spring Boot Integration
|
|
91
|
+
```java
|
|
92
|
+
@Configuration
|
|
93
|
+
public class McpConfiguration {
|
|
94
|
+
@Bean
|
|
95
|
+
public McpServerConfigurer mcpServerConfigurer() {
|
|
96
|
+
return server -> server
|
|
97
|
+
.serverInfo("spring-server", "1.0.0")
|
|
98
|
+
.capabilities(cap -> cap.tools(true));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Best Practices
|
|
104
|
+
|
|
105
|
+
### Reactive Streams
|
|
106
|
+
Use Mono for single results, Flux for streams:
|
|
107
|
+
```java
|
|
108
|
+
// Single result
|
|
109
|
+
Mono<ToolResponse> result = Mono.just(
|
|
110
|
+
ToolResponse.success().build()
|
|
111
|
+
);
|
|
112
|
+
|
|
113
|
+
// Stream of items
|
|
114
|
+
Flux<Resource> resources = Flux.fromIterable(getResources());
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Error Handling
|
|
118
|
+
Proper error handling in reactive chains:
|
|
119
|
+
```java
|
|
120
|
+
server.addToolHandler("risky", (args) -> {
|
|
121
|
+
return Mono.fromCallable(() -> riskyOperation(args))
|
|
122
|
+
.map(result -> ToolResponse.success()
|
|
123
|
+
.addTextContent(result)
|
|
124
|
+
.build())
|
|
125
|
+
.onErrorResume(ValidationException.class, e ->
|
|
126
|
+
Mono.just(ToolResponse.error()
|
|
127
|
+
.message("Invalid input")
|
|
128
|
+
.build()))
|
|
129
|
+
.doOnError(e -> log.error("Error", e));
|
|
130
|
+
});
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Logging
|
|
134
|
+
Use SLF4J for structured logging:
|
|
135
|
+
```java
|
|
136
|
+
private static final Logger log = LoggerFactory.getLogger(MyClass.class);
|
|
137
|
+
|
|
138
|
+
log.info("Tool called: {}", toolName);
|
|
139
|
+
log.debug("Processing with args: {}", args);
|
|
140
|
+
log.error("Operation failed", exception);
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### JSON Schema
|
|
144
|
+
Use fluent builder for schemas:
|
|
145
|
+
```java
|
|
146
|
+
JsonSchema schema = JsonSchema.object()
|
|
147
|
+
.property("name", JsonSchema.string()
|
|
148
|
+
.description("User's name")
|
|
149
|
+
.required(true))
|
|
150
|
+
.property("age", JsonSchema.integer()
|
|
151
|
+
.minimum(0)
|
|
152
|
+
.maximum(150))
|
|
153
|
+
.build();
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## Common Patterns
|
|
157
|
+
|
|
158
|
+
### Synchronous Facade
|
|
159
|
+
For blocking operations:
|
|
160
|
+
```java
|
|
161
|
+
McpSyncServer syncServer = server.toSyncServer();
|
|
162
|
+
|
|
163
|
+
syncServer.addToolHandler("blocking", (args) -> {
|
|
164
|
+
String result = blockingOperation(args);
|
|
165
|
+
return ToolResponse.success()
|
|
166
|
+
.addTextContent(result)
|
|
167
|
+
.build();
|
|
168
|
+
});
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### Resource Subscription
|
|
172
|
+
Track subscriptions:
|
|
173
|
+
```java
|
|
174
|
+
private final Set<String> subscriptions = ConcurrentHashMap.newKeySet();
|
|
175
|
+
|
|
176
|
+
server.addResourceSubscribeHandler((uri) -> {
|
|
177
|
+
subscriptions.add(uri);
|
|
178
|
+
log.info("Subscribed to {}", uri);
|
|
179
|
+
return Mono.empty();
|
|
180
|
+
});
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Async Operations
|
|
184
|
+
Use bounded elastic for blocking calls:
|
|
185
|
+
```java
|
|
186
|
+
server.addToolHandler("external", (args) -> {
|
|
187
|
+
return Mono.fromCallable(() -> callExternalApi(args))
|
|
188
|
+
.timeout(Duration.ofSeconds(30))
|
|
189
|
+
.subscribeOn(Schedulers.boundedElastic());
|
|
190
|
+
});
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Context Propagation
|
|
194
|
+
Propagate observability context:
|
|
195
|
+
```java
|
|
196
|
+
server.addToolHandler("traced", (args) -> {
|
|
197
|
+
return Mono.deferContextual(ctx -> {
|
|
198
|
+
String traceId = ctx.get("traceId");
|
|
199
|
+
log.info("Processing with traceId: {}", traceId);
|
|
200
|
+
return processWithContext(args, traceId);
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## Spring Boot Integration
|
|
206
|
+
|
|
207
|
+
### Configuration
|
|
208
|
+
```java
|
|
209
|
+
@Configuration
|
|
210
|
+
public class McpConfig {
|
|
211
|
+
@Bean
|
|
212
|
+
public McpServerConfigurer configurer() {
|
|
213
|
+
return server -> server
|
|
214
|
+
.serverInfo("spring-app", "1.0.0")
|
|
215
|
+
.capabilities(cap -> cap
|
|
216
|
+
.tools(true)
|
|
217
|
+
.resources(true));
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Component-Based Handlers
|
|
223
|
+
```java
|
|
224
|
+
@Component
|
|
225
|
+
public class SearchToolHandler implements ToolHandler {
|
|
226
|
+
|
|
227
|
+
@Override
|
|
228
|
+
public String getName() {
|
|
229
|
+
return "search";
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
@Override
|
|
233
|
+
public Tool getTool() {
|
|
234
|
+
return Tool.builder()
|
|
235
|
+
.name("search")
|
|
236
|
+
.description("Search for data")
|
|
237
|
+
.inputSchema(JsonSchema.object()
|
|
238
|
+
.property("query", JsonSchema.string().required(true)))
|
|
239
|
+
.build();
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
@Override
|
|
243
|
+
public Mono<ToolResponse> handle(JsonNode args) {
|
|
244
|
+
String query = args.get("query").asText();
|
|
245
|
+
return searchService.search(query)
|
|
246
|
+
.map(results -> ToolResponse.success()
|
|
247
|
+
.addTextContent(results)
|
|
248
|
+
.build());
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
## Testing
|
|
254
|
+
|
|
255
|
+
### Unit Tests
|
|
256
|
+
```java
|
|
257
|
+
@Test
|
|
258
|
+
void testToolHandler() {
|
|
259
|
+
McpServer server = createTestServer();
|
|
260
|
+
McpSyncServer syncServer = server.toSyncServer();
|
|
261
|
+
|
|
262
|
+
ObjectNode args = new ObjectMapper().createObjectNode()
|
|
263
|
+
.put("key", "value");
|
|
264
|
+
|
|
265
|
+
ToolResponse response = syncServer.callTool("test", args);
|
|
266
|
+
|
|
267
|
+
assertFalse(response.isError());
|
|
268
|
+
assertEquals(1, response.getContent().size());
|
|
269
|
+
}
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
### Reactive Tests
|
|
273
|
+
```java
|
|
274
|
+
@Test
|
|
275
|
+
void testReactiveHandler() {
|
|
276
|
+
Mono<ToolResponse> result = toolHandler.handle(args);
|
|
277
|
+
|
|
278
|
+
StepVerifier.create(result)
|
|
279
|
+
.expectNextMatches(response -> !response.isError())
|
|
280
|
+
.verifyComplete();
|
|
281
|
+
}
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
## Platform Support
|
|
285
|
+
|
|
286
|
+
The Java SDK supports:
|
|
287
|
+
- Java 17+ (LTS recommended)
|
|
288
|
+
- Jakarta Servlet 5.0+
|
|
289
|
+
- Spring Boot 3.0+
|
|
290
|
+
- Project Reactor 3.5+
|
|
291
|
+
|
|
292
|
+
## Architecture
|
|
293
|
+
|
|
294
|
+
### Modules
|
|
295
|
+
- `mcp-core` - Core implementation (stdio, JDK HttpClient, Servlet)
|
|
296
|
+
- `mcp-json` - JSON abstraction layer
|
|
297
|
+
- `mcp-jackson2` - Jackson implementation
|
|
298
|
+
- `mcp` - Convenience bundle (core + Jackson)
|
|
299
|
+
- `mcp-spring` - Spring integrations (WebClient, WebFlux, WebMVC)
|
|
300
|
+
|
|
301
|
+
### Design Decisions
|
|
302
|
+
- **JSON**: Jackson behind abstraction (`mcp-json`)
|
|
303
|
+
- **Async**: Reactive Streams with Project Reactor
|
|
304
|
+
- **HTTP Client**: JDK HttpClient (Java 11+)
|
|
305
|
+
- **HTTP Server**: Jakarta Servlet, Spring WebFlux/WebMVC
|
|
306
|
+
- **Logging**: SLF4J facade
|
|
307
|
+
- **Observability**: Reactor Context
|
|
308
|
+
|
|
309
|
+
## Ask Me About
|
|
310
|
+
|
|
311
|
+
- Server setup and configuration
|
|
312
|
+
- Tool, resource, and prompt implementations
|
|
313
|
+
- Reactive Streams patterns with Reactor
|
|
314
|
+
- Spring Boot integration and starters
|
|
315
|
+
- JSON schema construction
|
|
316
|
+
- Error handling strategies
|
|
317
|
+
- Testing reactive code
|
|
318
|
+
- HTTP transport configuration
|
|
319
|
+
- Servlet integration
|
|
320
|
+
- Context propagation for tracing
|
|
321
|
+
- Performance optimization
|
|
322
|
+
- Deployment strategies
|
|
323
|
+
- Maven and Gradle setup
|
|
324
|
+
|
|
325
|
+
I'm here to help you build efficient, scalable, and idiomatic Java MCP servers. What would you like to work on?
|