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,372 @@
|
|
|
1
|
+
---
|
|
2
|
+
mode: 'agent'
|
|
3
|
+
model: Claude Sonnet 4
|
|
4
|
+
tools: ['edit', 'githubRepo', 'changes', 'problems', 'search', 'runCommands', 'fetch']
|
|
5
|
+
description: 'Set up complete GitHub Copilot configuration for a new project based on technology stack'
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a GitHub Copilot setup specialist. Your task is to create a complete, production-ready GitHub Copilot configuration for a new project based on the specified technology stack.
|
|
9
|
+
|
|
10
|
+
## Project Information Required
|
|
11
|
+
|
|
12
|
+
Ask the user for the following information if not provided:
|
|
13
|
+
|
|
14
|
+
1. **Primary Language/Framework**: (e.g., JavaScript/React, Python/Django, Java/Spring Boot, etc.)
|
|
15
|
+
2. **Project Type**: (e.g., web app, API, mobile app, desktop app, library, etc.)
|
|
16
|
+
3. **Additional Technologies**: (e.g., database, cloud provider, testing frameworks, etc.)
|
|
17
|
+
4. **Team Size**: (solo, small team, enterprise)
|
|
18
|
+
5. **Development Style**: (strict standards, flexible, specific patterns)
|
|
19
|
+
|
|
20
|
+
## Configuration Files to Create
|
|
21
|
+
|
|
22
|
+
Based on the provided stack, create the following files in the appropriate directories:
|
|
23
|
+
|
|
24
|
+
### 1. `.github/copilot-instructions.md`
|
|
25
|
+
Main repository instructions that apply to all Copilot interactions.
|
|
26
|
+
|
|
27
|
+
### 2. `.github/instructions/` Directory
|
|
28
|
+
Create specific instruction files:
|
|
29
|
+
- `${primaryLanguage}.instructions.md` - Language-specific guidelines
|
|
30
|
+
- `testing.instructions.md` - Testing standards and practices
|
|
31
|
+
- `documentation.instructions.md` - Documentation requirements
|
|
32
|
+
- `security.instructions.md` - Security best practices
|
|
33
|
+
- `performance.instructions.md` - Performance optimization guidelines
|
|
34
|
+
- `code-review.instructions.md` - Code review standards and GitHub review guidelines
|
|
35
|
+
|
|
36
|
+
### 3. `.github/prompts/` Directory
|
|
37
|
+
Create reusable prompt files:
|
|
38
|
+
- `setup-component.prompt.md` - Component/module creation
|
|
39
|
+
- `write-tests.prompt.md` - Test generation
|
|
40
|
+
- `code-review.prompt.md` - Code review assistance
|
|
41
|
+
- `refactor-code.prompt.md` - Code refactoring
|
|
42
|
+
- `generate-docs.prompt.md` - Documentation generation
|
|
43
|
+
- `debug-issue.prompt.md` - Debugging assistance
|
|
44
|
+
|
|
45
|
+
### 4. `.github/chatmodes/` Directory
|
|
46
|
+
Create specialized chat modes:
|
|
47
|
+
- `architect.chatmode.md` - Architecture planning mode
|
|
48
|
+
- `reviewer.chatmode.md` - Code review mode
|
|
49
|
+
- `debugger.chatmode.md` - Debugging mode
|
|
50
|
+
|
|
51
|
+
**Chat Mode Attribution**: When using content from awesome-copilot chatmodes, add attribution comments:
|
|
52
|
+
```markdown
|
|
53
|
+
<!-- Based on/Inspired by: https://github.com/github/awesome-copilot/blob/main/chatmodes/[filename].chatmode.md -->
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 5. `.github/workflows/` Directory
|
|
57
|
+
Create Coding Agent workflow file:
|
|
58
|
+
- `copilot-setup-steps.yml` - GitHub Actions workflow for Coding Agent environment setup
|
|
59
|
+
|
|
60
|
+
**CRITICAL**: The workflow MUST follow this exact structure:
|
|
61
|
+
- Job name MUST be `copilot-setup-steps`
|
|
62
|
+
- Include proper triggers (workflow_dispatch, push, pull_request on the workflow file)
|
|
63
|
+
- Set appropriate permissions (minimum required)
|
|
64
|
+
- Customize steps based on the technology stack provided
|
|
65
|
+
|
|
66
|
+
## Content Guidelines
|
|
67
|
+
|
|
68
|
+
For each file, follow these principles:
|
|
69
|
+
|
|
70
|
+
**MANDATORY FIRST STEP**: Always use the fetch tool to research existing patterns before creating any content:
|
|
71
|
+
1. **Fetch from awesome-copilot collections**: https://github.com/github/awesome-copilot/blob/main/docs/README.collections.md
|
|
72
|
+
2. **Fetch specific instruction files**: https://raw.githubusercontent.com/github/awesome-copilot/main/instructions/[relevant-file].instructions.md
|
|
73
|
+
3. **Check for existing patterns** that match the technology stack
|
|
74
|
+
|
|
75
|
+
**Primary Approach**: Reference and adapt existing instructions from awesome-copilot repository:
|
|
76
|
+
- **Use existing content** when available - don't reinvent the wheel
|
|
77
|
+
- **Adapt proven patterns** to the specific project context
|
|
78
|
+
- **Combine multiple examples** if the stack requires it
|
|
79
|
+
- **ALWAYS add attribution comments** when using awesome-copilot content
|
|
80
|
+
|
|
81
|
+
**Attribution Format**: When using content from awesome-copilot, add this comment at the top of the file:
|
|
82
|
+
```markdown
|
|
83
|
+
<!-- Based on/Inspired by: https://github.com/github/awesome-copilot/blob/main/instructions/[filename].instructions.md -->
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**Examples:**
|
|
87
|
+
```markdown
|
|
88
|
+
<!-- Based on: https://github.com/github/awesome-copilot/blob/main/instructions/react.instructions.md -->
|
|
89
|
+
---
|
|
90
|
+
applyTo: "**/*.jsx,**/*.tsx"
|
|
91
|
+
description: "React development best practices"
|
|
92
|
+
---
|
|
93
|
+
# React Development Guidelines
|
|
94
|
+
...
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
```markdown
|
|
98
|
+
<!-- Inspired by: https://github.com/github/awesome-copilot/blob/main/instructions/java.instructions.md -->
|
|
99
|
+
<!-- and: https://github.com/github/awesome-copilot/blob/main/instructions/spring-boot.instructions.md -->
|
|
100
|
+
---
|
|
101
|
+
applyTo: "**/*.java"
|
|
102
|
+
description: "Java Spring Boot development standards"
|
|
103
|
+
---
|
|
104
|
+
# Java Spring Boot Guidelines
|
|
105
|
+
...
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
**Secondary Approach**: If no awesome-copilot instructions exist, create **SIMPLE GUIDELINES ONLY**:
|
|
109
|
+
- **High-level principles** and best practices (2-3 sentences each)
|
|
110
|
+
- **Architectural patterns** (mention patterns, not implementation)
|
|
111
|
+
- **Code style preferences** (naming conventions, structure preferences)
|
|
112
|
+
- **Testing strategy** (approach, not test code)
|
|
113
|
+
- **Documentation standards** (format, requirements)
|
|
114
|
+
|
|
115
|
+
**STRICTLY AVOID in .instructions.md files:**
|
|
116
|
+
- ❌ **Writing actual code examples or snippets**
|
|
117
|
+
- ❌ **Detailed implementation steps**
|
|
118
|
+
- ❌ **Test cases or specific test code**
|
|
119
|
+
- ❌ **Boilerplate or template code**
|
|
120
|
+
- ❌ **Function signatures or class definitions**
|
|
121
|
+
- ❌ **Import statements or dependency lists**
|
|
122
|
+
|
|
123
|
+
**CORRECT .instructions.md content:**
|
|
124
|
+
- ✅ **"Use descriptive variable names and follow camelCase"**
|
|
125
|
+
- ✅ **"Prefer composition over inheritance"**
|
|
126
|
+
- ✅ **"Write unit tests for all public methods"**
|
|
127
|
+
- ✅ **"Use TypeScript strict mode for better type safety"**
|
|
128
|
+
- ✅ **"Follow the repository's established error handling patterns"**
|
|
129
|
+
|
|
130
|
+
**Research Strategy with fetch tool:**
|
|
131
|
+
1. **Check awesome-copilot first** - Always start here for ALL file types
|
|
132
|
+
2. **Look for exact tech stack matches** (e.g., React, Node.js, Spring Boot)
|
|
133
|
+
3. **Look for general matches** (e.g., frontend chatmodes, testing prompts, review modes)
|
|
134
|
+
4. **Check awesome-copilot collections** for curated sets of related files
|
|
135
|
+
5. **Adapt community examples** to project needs
|
|
136
|
+
6. **Only create custom content** if nothing relevant exists
|
|
137
|
+
|
|
138
|
+
**Fetch these awesome-copilot directories:**
|
|
139
|
+
- **Instructions**: https://github.com/github/awesome-copilot/tree/main/instructions
|
|
140
|
+
- **Prompts**: https://github.com/github/awesome-copilot/tree/main/prompts
|
|
141
|
+
- **Chat Modes**: https://github.com/github/awesome-copilot/tree/main/chatmodes
|
|
142
|
+
- **Collections**: https://github.com/github/awesome-copilot/blob/main/docs/README.collections.md
|
|
143
|
+
|
|
144
|
+
**Awesome-Copilot Collections to Check:**
|
|
145
|
+
- **Frontend Web Development**: React, Angular, Vue, TypeScript, CSS frameworks
|
|
146
|
+
- **C# .NET Development**: Testing, documentation, and best practices
|
|
147
|
+
- **Java Development**: Spring Boot, Quarkus, testing, documentation
|
|
148
|
+
- **Database Development**: PostgreSQL, SQL Server, and general database best practices
|
|
149
|
+
- **Azure Development**: Infrastructure as Code, serverless functions
|
|
150
|
+
- **Security & Performance**: Security frameworks, accessibility, performance optimization
|
|
151
|
+
|
|
152
|
+
## File Structure Standards
|
|
153
|
+
|
|
154
|
+
Ensure all files follow these conventions:
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
project-root/
|
|
158
|
+
├── .github/
|
|
159
|
+
│ ├── copilot-instructions.md
|
|
160
|
+
│ ├── instructions/
|
|
161
|
+
│ │ ├── [language].instructions.md
|
|
162
|
+
│ │ ├── testing.instructions.md
|
|
163
|
+
│ │ ├── documentation.instructions.md
|
|
164
|
+
│ │ ├── security.instructions.md
|
|
165
|
+
│ │ ├── performance.instructions.md
|
|
166
|
+
│ │ └── code-review.instructions.md
|
|
167
|
+
│ ├── prompts/
|
|
168
|
+
│ │ ├── setup-component.prompt.md
|
|
169
|
+
│ │ ├── write-tests.prompt.md
|
|
170
|
+
│ │ ├── code-review.prompt.md
|
|
171
|
+
│ │ ├── refactor-code.prompt.md
|
|
172
|
+
│ │ ├── generate-docs.prompt.md
|
|
173
|
+
│ │ └── debug-issue.prompt.md
|
|
174
|
+
│ ├── chatmodes/
|
|
175
|
+
│ │ ├── architect.chatmode.md
|
|
176
|
+
│ │ ├── reviewer.chatmode.md
|
|
177
|
+
│ │ └── debugger.chatmode.md
|
|
178
|
+
│ └── workflows/
|
|
179
|
+
│ └── copilot-setup-steps.yml
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## YAML Frontmatter Template
|
|
183
|
+
|
|
184
|
+
Use this frontmatter structure for all files:
|
|
185
|
+
|
|
186
|
+
**Instructions (.instructions.md):**
|
|
187
|
+
```yaml
|
|
188
|
+
---
|
|
189
|
+
applyTo: "**/*.ts,**/*.tsx"
|
|
190
|
+
---
|
|
191
|
+
# Project coding standards for TypeScript and React
|
|
192
|
+
|
|
193
|
+
Apply the [general coding guidelines](./general-coding.instructions.md) to all code.
|
|
194
|
+
|
|
195
|
+
## TypeScript Guidelines
|
|
196
|
+
- Use TypeScript for all new code
|
|
197
|
+
- Follow functional programming principles where possible
|
|
198
|
+
- Use interfaces for data structures and type definitions
|
|
199
|
+
- Prefer immutable data (const, readonly)
|
|
200
|
+
- Use optional chaining (?.) and nullish coalescing (??) operators
|
|
201
|
+
|
|
202
|
+
## React Guidelines
|
|
203
|
+
- Use functional components with hooks
|
|
204
|
+
- Follow the React hooks rules (no conditional hooks)
|
|
205
|
+
- Use React.FC type for components with children
|
|
206
|
+
- Keep components small and focused
|
|
207
|
+
- Use CSS modules for component styling
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
**Prompts (.prompt.md):**
|
|
212
|
+
```yaml
|
|
213
|
+
---
|
|
214
|
+
mode: 'agent'
|
|
215
|
+
model: Claude Sonnet 4
|
|
216
|
+
tools: ['githubRepo', 'codebase']
|
|
217
|
+
description: 'Generate a new React form component'
|
|
218
|
+
---
|
|
219
|
+
Your goal is to generate a new React form component based on the templates in #githubRepo contoso/react-templates.
|
|
220
|
+
|
|
221
|
+
Ask for the form name and fields if not provided.
|
|
222
|
+
|
|
223
|
+
Requirements for the form:
|
|
224
|
+
* Use form design system components: [design-system/Form.md](../docs/design-system/Form.md)
|
|
225
|
+
* Use `react-hook-form` for form state management:
|
|
226
|
+
* Always define TypeScript types for your form data
|
|
227
|
+
* Prefer *uncontrolled* components using register
|
|
228
|
+
* Use `defaultValues` to prevent unnecessary rerenders
|
|
229
|
+
* Use `yup` for validation:
|
|
230
|
+
* Create reusable validation schemas in separate files
|
|
231
|
+
* Use TypeScript types to ensure type safety
|
|
232
|
+
* Customize UX-friendly validation rules
|
|
233
|
+
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
**Chat Modes (.chatmode.md):**
|
|
237
|
+
```yaml
|
|
238
|
+
---
|
|
239
|
+
description: Generate an implementation plan for new features or refactoring existing code.
|
|
240
|
+
tools: ['codebase', 'fetch', 'findTestFiles', 'githubRepo', 'search', 'usages']
|
|
241
|
+
model: Claude Sonnet 4
|
|
242
|
+
---
|
|
243
|
+
# Planning mode instructions
|
|
244
|
+
You are in planning mode. Your task is to generate an implementation plan for a new feature or for refactoring existing code.
|
|
245
|
+
Don't make any code edits, just generate a plan.
|
|
246
|
+
|
|
247
|
+
The plan consists of a Markdown document that describes the implementation plan, including the following sections:
|
|
248
|
+
|
|
249
|
+
* Overview: A brief description of the feature or refactoring task.
|
|
250
|
+
* Requirements: A list of requirements for the feature or refactoring task.
|
|
251
|
+
* Implementation Steps: A detailed list of steps to implement the feature or refactoring task.
|
|
252
|
+
* Testing: A list of tests that need to be implemented to verify the feature or refactoring task.
|
|
253
|
+
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
## Execution Steps
|
|
257
|
+
|
|
258
|
+
1. **Analyze the provided technology stack**
|
|
259
|
+
2. **Create the directory structure**
|
|
260
|
+
3. **Generate main copilot-instructions.md with project-wide standards**
|
|
261
|
+
4. **Create language-specific instruction files using awesome-copilot references**
|
|
262
|
+
5. **Generate reusable prompts for common development tasks**
|
|
263
|
+
6. **Set up specialized chat modes for different development scenarios**
|
|
264
|
+
7. **Create the GitHub Actions workflow for Coding Agent** (`copilot-setup-steps.yml`)
|
|
265
|
+
8. **Validate all files follow proper formatting and include necessary frontmatter**
|
|
266
|
+
|
|
267
|
+
## Post-Setup Instructions
|
|
268
|
+
|
|
269
|
+
After creating all files, provide the user with:
|
|
270
|
+
|
|
271
|
+
1. **VS Code setup instructions** - How to enable and configure the files
|
|
272
|
+
2. **Usage examples** - How to use each prompt and chat mode
|
|
273
|
+
3. **Customization tips** - How to modify files for their specific needs
|
|
274
|
+
4. **Testing recommendations** - How to verify the setup works correctly
|
|
275
|
+
|
|
276
|
+
## Quality Checklist
|
|
277
|
+
|
|
278
|
+
Before completing, verify:
|
|
279
|
+
- [ ] All files have proper YAML frontmatter
|
|
280
|
+
- [ ] Language-specific best practices are included
|
|
281
|
+
- [ ] Files reference each other appropriately using Markdown links
|
|
282
|
+
- [ ] Prompts include relevant tools and variables
|
|
283
|
+
- [ ] Instructions are comprehensive but not overwhelming
|
|
284
|
+
- [ ] Security and performance considerations are addressed
|
|
285
|
+
- [ ] Testing guidelines are included
|
|
286
|
+
- [ ] Documentation standards are clear
|
|
287
|
+
- [ ] Code review standards are defined
|
|
288
|
+
|
|
289
|
+
## Workflow Template Structure
|
|
290
|
+
|
|
291
|
+
The `copilot-setup-steps.yml` workflow MUST follow this exact format and KEEP IT SIMPLE:
|
|
292
|
+
|
|
293
|
+
```yaml
|
|
294
|
+
name: "Copilot Setup Steps"
|
|
295
|
+
on:
|
|
296
|
+
workflow_dispatch:
|
|
297
|
+
push:
|
|
298
|
+
paths:
|
|
299
|
+
- .github/workflows/copilot-setup-steps.yml
|
|
300
|
+
pull_request:
|
|
301
|
+
paths:
|
|
302
|
+
- .github/workflows/copilot-setup-steps.yml
|
|
303
|
+
jobs:
|
|
304
|
+
# The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
|
|
305
|
+
copilot-setup-steps:
|
|
306
|
+
runs-on: ubuntu-latest
|
|
307
|
+
permissions:
|
|
308
|
+
contents: read
|
|
309
|
+
steps:
|
|
310
|
+
- name: Checkout code
|
|
311
|
+
uses: actions/checkout@v5
|
|
312
|
+
# Add ONLY basic technology-specific setup steps here
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
**KEEP WORKFLOWS SIMPLE** - Only include essential steps:
|
|
316
|
+
|
|
317
|
+
**Node.js/JavaScript:**
|
|
318
|
+
```yaml
|
|
319
|
+
- name: Set up Node.js
|
|
320
|
+
uses: actions/setup-node@v4
|
|
321
|
+
with:
|
|
322
|
+
node-version: "20"
|
|
323
|
+
cache: "npm"
|
|
324
|
+
- name: Install dependencies
|
|
325
|
+
run: npm ci
|
|
326
|
+
- name: Run linter
|
|
327
|
+
run: npm run lint
|
|
328
|
+
- name: Run tests
|
|
329
|
+
run: npm test
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
**Python:**
|
|
333
|
+
```yaml
|
|
334
|
+
- name: Set up Python
|
|
335
|
+
uses: actions/setup-python@v4
|
|
336
|
+
with:
|
|
337
|
+
python-version: "3.11"
|
|
338
|
+
- name: Install dependencies
|
|
339
|
+
run: pip install -r requirements.txt
|
|
340
|
+
- name: Run linter
|
|
341
|
+
run: flake8 .
|
|
342
|
+
- name: Run tests
|
|
343
|
+
run: pytest
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
**Java:**
|
|
347
|
+
```yaml
|
|
348
|
+
- name: Set up JDK
|
|
349
|
+
uses: actions/setup-java@v4
|
|
350
|
+
with:
|
|
351
|
+
java-version: "17"
|
|
352
|
+
distribution: "temurin"
|
|
353
|
+
- name: Build with Maven
|
|
354
|
+
run: mvn compile
|
|
355
|
+
- name: Run tests
|
|
356
|
+
run: mvn test
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
**AVOID in workflows:**
|
|
360
|
+
- ❌ Complex configuration setups
|
|
361
|
+
- ❌ Multiple environment configurations
|
|
362
|
+
- ❌ Advanced tooling setup
|
|
363
|
+
- ❌ Custom scripts or complex logic
|
|
364
|
+
- ❌ Multiple package managers
|
|
365
|
+
- ❌ Database setup or external services
|
|
366
|
+
|
|
367
|
+
**INCLUDE only:**
|
|
368
|
+
- ✅ Language/runtime setup
|
|
369
|
+
- ✅ Basic dependency installation
|
|
370
|
+
- ✅ Simple linting (if standard)
|
|
371
|
+
- ✅ Basic test running
|
|
372
|
+
- ✅ Standard build commands
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
---
|
|
2
|
+
mode: agent
|
|
3
|
+
description: 'Generate a complete Go MCP server project with proper structure, dependencies, and implementation using the official github.com/modelcontextprotocol/go-sdk.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Go MCP Server Project Generator
|
|
7
|
+
|
|
8
|
+
Generate a complete, production-ready Model Context Protocol (MCP) server project in Go.
|
|
9
|
+
|
|
10
|
+
## Project Requirements
|
|
11
|
+
|
|
12
|
+
You will create a Go MCP server with:
|
|
13
|
+
|
|
14
|
+
1. **Project Structure**: Proper Go module layout
|
|
15
|
+
2. **Dependencies**: Official MCP SDK and necessary packages
|
|
16
|
+
3. **Server Setup**: Configured MCP server with transports
|
|
17
|
+
4. **Tools**: At least 2-3 useful tools with typed inputs/outputs
|
|
18
|
+
5. **Error Handling**: Proper error handling and context usage
|
|
19
|
+
6. **Documentation**: README with setup and usage instructions
|
|
20
|
+
7. **Testing**: Basic test structure
|
|
21
|
+
|
|
22
|
+
## Template Structure
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
myserver/
|
|
26
|
+
├── go.mod
|
|
27
|
+
├── go.sum
|
|
28
|
+
├── main.go
|
|
29
|
+
├── tools/
|
|
30
|
+
│ ├── tool1.go
|
|
31
|
+
│ └── tool2.go
|
|
32
|
+
├── resources/
|
|
33
|
+
│ └── resource1.go
|
|
34
|
+
├── config/
|
|
35
|
+
│ └── config.go
|
|
36
|
+
├── README.md
|
|
37
|
+
└── main_test.go
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## go.mod Template
|
|
41
|
+
|
|
42
|
+
```go
|
|
43
|
+
module github.com/yourusername/{{PROJECT_NAME}}
|
|
44
|
+
|
|
45
|
+
go 1.23
|
|
46
|
+
|
|
47
|
+
require (
|
|
48
|
+
github.com/modelcontextprotocol/go-sdk v1.0.0
|
|
49
|
+
)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## main.go Template
|
|
53
|
+
|
|
54
|
+
```go
|
|
55
|
+
package main
|
|
56
|
+
|
|
57
|
+
import (
|
|
58
|
+
"context"
|
|
59
|
+
"log"
|
|
60
|
+
"os"
|
|
61
|
+
"os/signal"
|
|
62
|
+
"syscall"
|
|
63
|
+
|
|
64
|
+
"github.com/modelcontextprotocol/go-sdk/mcp"
|
|
65
|
+
"github.com/yourusername/{{PROJECT_NAME}}/config"
|
|
66
|
+
"github.com/yourusername/{{PROJECT_NAME}}/tools"
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
func main() {
|
|
70
|
+
cfg := config.Load()
|
|
71
|
+
|
|
72
|
+
ctx, cancel := context.WithCancel(context.Background())
|
|
73
|
+
defer cancel()
|
|
74
|
+
|
|
75
|
+
// Handle graceful shutdown
|
|
76
|
+
sigCh := make(chan os.Signal, 1)
|
|
77
|
+
signal.Notify(sigCh, os.Interrupt, syscall.SIGTERM)
|
|
78
|
+
go func() {
|
|
79
|
+
<-sigCh
|
|
80
|
+
log.Println("Shutting down...")
|
|
81
|
+
cancel()
|
|
82
|
+
}()
|
|
83
|
+
|
|
84
|
+
// Create server
|
|
85
|
+
server := mcp.NewServer(
|
|
86
|
+
&mcp.Implementation{
|
|
87
|
+
Name: cfg.ServerName,
|
|
88
|
+
Version: cfg.Version,
|
|
89
|
+
},
|
|
90
|
+
&mcp.Options{
|
|
91
|
+
Capabilities: &mcp.ServerCapabilities{
|
|
92
|
+
Tools: &mcp.ToolsCapability{},
|
|
93
|
+
Resources: &mcp.ResourcesCapability{},
|
|
94
|
+
Prompts: &mcp.PromptsCapability{},
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
// Register tools
|
|
100
|
+
tools.RegisterTools(server)
|
|
101
|
+
|
|
102
|
+
// Run server
|
|
103
|
+
transport := &mcp.StdioTransport{}
|
|
104
|
+
if err := server.Run(ctx, transport); err != nil {
|
|
105
|
+
log.Fatalf("Server error: %v", err)
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## tools/tool1.go Template
|
|
111
|
+
|
|
112
|
+
```go
|
|
113
|
+
package tools
|
|
114
|
+
|
|
115
|
+
import (
|
|
116
|
+
"context"
|
|
117
|
+
"fmt"
|
|
118
|
+
|
|
119
|
+
"github.com/modelcontextprotocol/go-sdk/mcp"
|
|
120
|
+
)
|
|
121
|
+
|
|
122
|
+
type Tool1Input struct {
|
|
123
|
+
Param1 string `json:"param1" jsonschema:"required,description=First parameter"`
|
|
124
|
+
Param2 int `json:"param2,omitempty" jsonschema:"description=Optional second parameter"`
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
type Tool1Output struct {
|
|
128
|
+
Result string `json:"result" jsonschema:"description=The result of the operation"`
|
|
129
|
+
Status string `json:"status" jsonschema:"description=Operation status"`
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
func Tool1Handler(ctx context.Context, req *mcp.CallToolRequest, input Tool1Input) (
|
|
133
|
+
*mcp.CallToolResult,
|
|
134
|
+
Tool1Output,
|
|
135
|
+
error,
|
|
136
|
+
) {
|
|
137
|
+
// Validate input
|
|
138
|
+
if input.Param1 == "" {
|
|
139
|
+
return nil, Tool1Output{}, fmt.Errorf("param1 is required")
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// Check context
|
|
143
|
+
if ctx.Err() != nil {
|
|
144
|
+
return nil, Tool1Output{}, ctx.Err()
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// Perform operation
|
|
148
|
+
result := fmt.Sprintf("Processed: %s", input.Param1)
|
|
149
|
+
|
|
150
|
+
return nil, Tool1Output{
|
|
151
|
+
Result: result,
|
|
152
|
+
Status: "success",
|
|
153
|
+
}, nil
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
func RegisterTool1(server *mcp.Server) {
|
|
157
|
+
mcp.AddTool(server,
|
|
158
|
+
&mcp.Tool{
|
|
159
|
+
Name: "tool1",
|
|
160
|
+
Description: "Description of what tool1 does",
|
|
161
|
+
},
|
|
162
|
+
Tool1Handler,
|
|
163
|
+
)
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## tools/registry.go Template
|
|
168
|
+
|
|
169
|
+
```go
|
|
170
|
+
package tools
|
|
171
|
+
|
|
172
|
+
import "github.com/modelcontextprotocol/go-sdk/mcp"
|
|
173
|
+
|
|
174
|
+
func RegisterTools(server *mcp.Server) {
|
|
175
|
+
RegisterTool1(server)
|
|
176
|
+
RegisterTool2(server)
|
|
177
|
+
// Register additional tools here
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## config/config.go Template
|
|
182
|
+
|
|
183
|
+
```go
|
|
184
|
+
package config
|
|
185
|
+
|
|
186
|
+
import "os"
|
|
187
|
+
|
|
188
|
+
type Config struct {
|
|
189
|
+
ServerName string
|
|
190
|
+
Version string
|
|
191
|
+
LogLevel string
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
func Load() *Config {
|
|
195
|
+
return &Config{
|
|
196
|
+
ServerName: getEnv("SERVER_NAME", "{{PROJECT_NAME}}"),
|
|
197
|
+
Version: getEnv("VERSION", "v1.0.0"),
|
|
198
|
+
LogLevel: getEnv("LOG_LEVEL", "info"),
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
func getEnv(key, defaultValue string) string {
|
|
203
|
+
if value := os.Getenv(key); value != "" {
|
|
204
|
+
return value
|
|
205
|
+
}
|
|
206
|
+
return defaultValue
|
|
207
|
+
}
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
## main_test.go Template
|
|
211
|
+
|
|
212
|
+
```go
|
|
213
|
+
package main
|
|
214
|
+
|
|
215
|
+
import (
|
|
216
|
+
"context"
|
|
217
|
+
"testing"
|
|
218
|
+
|
|
219
|
+
"github.com/yourusername/{{PROJECT_NAME}}/tools"
|
|
220
|
+
)
|
|
221
|
+
|
|
222
|
+
func TestTool1Handler(t *testing.T) {
|
|
223
|
+
ctx := context.Background()
|
|
224
|
+
input := tools.Tool1Input{
|
|
225
|
+
Param1: "test",
|
|
226
|
+
Param2: 42,
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
result, output, err := tools.Tool1Handler(ctx, nil, input)
|
|
230
|
+
if err != nil {
|
|
231
|
+
t.Fatalf("Tool1Handler failed: %v", err)
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
if output.Status != "success" {
|
|
235
|
+
t.Errorf("Expected status 'success', got '%s'", output.Status)
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
if result != nil {
|
|
239
|
+
t.Error("Expected result to be nil")
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## README.md Template
|
|
245
|
+
|
|
246
|
+
```markdown
|
|
247
|
+
# {{PROJECT_NAME}}
|
|
248
|
+
|
|
249
|
+
A Model Context Protocol (MCP) server built with Go.
|
|
250
|
+
|
|
251
|
+
## Description
|
|
252
|
+
|
|
253
|
+
{{PROJECT_DESCRIPTION}}
|
|
254
|
+
|
|
255
|
+
## Installation
|
|
256
|
+
|
|
257
|
+
\`\`\`bash
|
|
258
|
+
go mod download
|
|
259
|
+
go build -o {{PROJECT_NAME}}
|
|
260
|
+
\`\`\`
|
|
261
|
+
|
|
262
|
+
## Usage
|
|
263
|
+
|
|
264
|
+
Run the server with stdio transport:
|
|
265
|
+
|
|
266
|
+
\`\`\`bash
|
|
267
|
+
./{{PROJECT_NAME}}
|
|
268
|
+
\`\`\`
|
|
269
|
+
|
|
270
|
+
## Configuration
|
|
271
|
+
|
|
272
|
+
Configure via environment variables:
|
|
273
|
+
|
|
274
|
+
- `SERVER_NAME`: Server name (default: "{{PROJECT_NAME}}")
|
|
275
|
+
- `VERSION`: Server version (default: "v1.0.0")
|
|
276
|
+
- `LOG_LEVEL`: Logging level (default: "info")
|
|
277
|
+
|
|
278
|
+
## Available Tools
|
|
279
|
+
|
|
280
|
+
### tool1
|
|
281
|
+
{{TOOL1_DESCRIPTION}}
|
|
282
|
+
|
|
283
|
+
**Input:**
|
|
284
|
+
- `param1` (string, required): First parameter
|
|
285
|
+
- `param2` (int, optional): Second parameter
|
|
286
|
+
|
|
287
|
+
**Output:**
|
|
288
|
+
- `result` (string): Operation result
|
|
289
|
+
- `status` (string): Status of the operation
|
|
290
|
+
|
|
291
|
+
## Development
|
|
292
|
+
|
|
293
|
+
Run tests:
|
|
294
|
+
|
|
295
|
+
\`\`\`bash
|
|
296
|
+
go test ./...
|
|
297
|
+
\`\`\`
|
|
298
|
+
|
|
299
|
+
Build:
|
|
300
|
+
|
|
301
|
+
\`\`\`bash
|
|
302
|
+
go build -o {{PROJECT_NAME}}
|
|
303
|
+
\`\`\`
|
|
304
|
+
|
|
305
|
+
## License
|
|
306
|
+
|
|
307
|
+
MIT
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
## Generation Instructions
|
|
311
|
+
|
|
312
|
+
When generating a Go MCP server:
|
|
313
|
+
|
|
314
|
+
1. **Initialize Module**: Create `go.mod` with proper module path
|
|
315
|
+
2. **Structure**: Follow the template directory structure
|
|
316
|
+
3. **Type Safety**: Use structs with JSON schema tags for all inputs/outputs
|
|
317
|
+
4. **Error Handling**: Validate inputs, check context, wrap errors
|
|
318
|
+
5. **Documentation**: Add clear descriptions and examples
|
|
319
|
+
6. **Testing**: Include at least one test per tool
|
|
320
|
+
7. **Configuration**: Use environment variables for config
|
|
321
|
+
8. **Logging**: Use structured logging (log/slog)
|
|
322
|
+
9. **Graceful Shutdown**: Handle signals properly
|
|
323
|
+
10. **Transport**: Default to stdio, document alternatives
|
|
324
|
+
|
|
325
|
+
## Best Practices
|
|
326
|
+
|
|
327
|
+
- Keep tools focused and single-purpose
|
|
328
|
+
- Use descriptive names for types and functions
|
|
329
|
+
- Include JSON schema documentation in struct tags
|
|
330
|
+
- Always respect context cancellation
|
|
331
|
+
- Return descriptive errors
|
|
332
|
+
- Keep main.go minimal, logic in packages
|
|
333
|
+
- Write tests for tool handlers
|
|
334
|
+
- Document all exported functions
|