workspace-architect 1.3.0 → 1.5.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/assets-manifest.json +3392 -0
- package/bin/cli.js +134 -72
- package/package.json +11 -2
- package/.env.example +0 -1
- package/.gitattributes +0 -1
- package/.github/workflows/manual-publish.yml +0 -36
- package/.github/workflows/sync-and-publish.yml +0 -58
- package/.release-it.json +0 -20
- package/CHANGELOG.md +0 -43
- package/assets/chatmodes/4.1-Beast.chatmode.md +0 -152
- package/assets/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -337
- package/assets/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -644
- package/assets/chatmodes/accessibility.chatmode.md +0 -298
- package/assets/chatmodes/address-comments.chatmode.md +0 -59
- package/assets/chatmodes/aem-frontend-specialist.chatmode.md +0 -385
- package/assets/chatmodes/api-architect.chatmode.md +0 -40
- package/assets/chatmodes/atlassian-requirements-to-jira.chatmode.md +0 -444
- package/assets/chatmodes/azure-logic-apps-expert.chatmode.md +0 -100
- package/assets/chatmodes/azure-principal-architect.chatmode.md +0 -58
- package/assets/chatmodes/azure-saas-architect.chatmode.md +0 -118
- package/assets/chatmodes/azure-verified-modules-bicep.chatmode.md +0 -44
- package/assets/chatmodes/azure-verified-modules-terraform.chatmode.md +0 -58
- package/assets/chatmodes/bicep-implement.chatmode.md +0 -40
- package/assets/chatmodes/bicep-plan.chatmode.md +0 -112
- package/assets/chatmodes/blueprint-mode-codex.chatmode.md +0 -110
- package/assets/chatmodes/blueprint-mode.chatmode.md +0 -171
- package/assets/chatmodes/clojure-interactive-programming.chatmode.md +0 -174
- package/assets/chatmodes/code-tour.chatmode.md +0 -205
- package/assets/chatmodes/critical-thinking.chatmode.md +0 -23
- package/assets/chatmodes/csharp-dotnet-janitor.chatmode.md +0 -83
- package/assets/chatmodes/csharp-mcp-expert.chatmode.md +0 -69
- package/assets/chatmodes/debug.chatmode.md +0 -79
- package/assets/chatmodes/declarative-agents-architect.chatmode.md +0 -76
- package/assets/chatmodes/demonstrate-understanding.chatmode.md +0 -60
- package/assets/chatmodes/dotnet-upgrade.chatmode.md +0 -222
- package/assets/chatmodes/drupal-expert.chatmode.md +0 -687
- package/assets/chatmodes/electron-angular-native.chatmode.md +0 -285
- package/assets/chatmodes/expert-cpp-software-engineer.chatmode.md +0 -27
- package/assets/chatmodes/expert-dotnet-software-engineer.chatmode.md +0 -22
- package/assets/chatmodes/expert-nextjs-developer.chatmode.md +0 -477
- package/assets/chatmodes/expert-react-frontend-engineer.chatmode.md +0 -738
- package/assets/chatmodes/gilfoyle.chatmode.md +0 -66
- package/assets/chatmodes/go-mcp-expert.chatmode.md +0 -122
- package/assets/chatmodes/gpt-5-beast-mode.chatmode.md +0 -109
- package/assets/chatmodes/hlbpa.chatmode.md +0 -232
- package/assets/chatmodes/implementation-plan.chatmode.md +0 -159
- package/assets/chatmodes/janitor.chatmode.md +0 -89
- package/assets/chatmodes/java-mcp-expert.chatmode.md +0 -325
- package/assets/chatmodes/kotlin-mcp-expert.chatmode.md +0 -181
- package/assets/chatmodes/kusto-assistant.chatmode.md +0 -143
- package/assets/chatmodes/laravel-expert-agent.chatmode.md +0 -628
- package/assets/chatmodes/mentor.chatmode.md +0 -32
- package/assets/chatmodes/meta-agentic-project-scaffold.chatmode.md +0 -15
- package/assets/chatmodes/microsoft-agent-framework-dotnet.chatmode.md +0 -62
- package/assets/chatmodes/microsoft-agent-framework-python.chatmode.md +0 -62
- package/assets/chatmodes/microsoft-study-mode.chatmode.md +0 -32
- package/assets/chatmodes/microsoft_learn_contributor.chatmode.md +0 -388
- package/assets/chatmodes/ms-sql-dba.chatmode.md +0 -25
- package/assets/chatmodes/php-mcp-expert.chatmode.md +0 -498
- package/assets/chatmodes/pimcore-expert.chatmode.md +0 -869
- package/assets/chatmodes/plan.chatmode.md +0 -114
- package/assets/chatmodes/planner.chatmode.md +0 -14
- package/assets/chatmodes/playwright-tester.chatmode.md +0 -13
- package/assets/chatmodes/postgresql-dba.chatmode.md +0 -17
- package/assets/chatmodes/power-bi-data-modeling-expert.chatmode.md +0 -319
- package/assets/chatmodes/power-bi-dax-expert.chatmode.md +0 -334
- package/assets/chatmodes/power-bi-performance-expert.chatmode.md +0 -533
- package/assets/chatmodes/power-bi-visualization-expert.chatmode.md +0 -549
- package/assets/chatmodes/power-platform-expert.chatmode.md +0 -116
- package/assets/chatmodes/power-platform-mcp-integration-expert.chatmode.md +0 -149
- package/assets/chatmodes/prd.chatmode.md +0 -201
- package/assets/chatmodes/principal-software-engineer.chatmode.md +0 -41
- package/assets/chatmodes/prompt-builder.chatmode.md +0 -352
- package/assets/chatmodes/prompt-engineer.chatmode.md +0 -72
- package/assets/chatmodes/python-mcp-expert.chatmode.md +0 -99
- package/assets/chatmodes/refine-issue.chatmode.md +0 -34
- package/assets/chatmodes/research-technical-spike.chatmode.md +0 -169
- package/assets/chatmodes/ruby-mcp-expert.chatmode.md +0 -346
- package/assets/chatmodes/rust-gpt-4.1-beast-mode.chatmode.md +0 -197
- package/assets/chatmodes/rust-mcp-expert.chatmode.md +0 -465
- package/assets/chatmodes/search-ai-optimization-expert.chatmode.md +0 -227
- package/assets/chatmodes/semantic-kernel-dotnet.chatmode.md +0 -31
- package/assets/chatmodes/semantic-kernel-python.chatmode.md +0 -28
- package/assets/chatmodes/shopify-expert.chatmode.md +0 -681
- package/assets/chatmodes/simple-app-idea-generator.chatmode.md +0 -134
- package/assets/chatmodes/software-engineer-agent-v1.chatmode.md +0 -164
- package/assets/chatmodes/specification.chatmode.md +0 -127
- package/assets/chatmodes/swift-mcp-expert.chatmode.md +0 -240
- package/assets/chatmodes/task-planner.chatmode.md +0 -374
- package/assets/chatmodes/task-researcher.chatmode.md +0 -254
- package/assets/chatmodes/tdd-green.chatmode.md +0 -59
- package/assets/chatmodes/tdd-red.chatmode.md +0 -59
- package/assets/chatmodes/tdd-refactor.chatmode.md +0 -84
- package/assets/chatmodes/tech-debt-remediation-plan.chatmode.md +0 -49
- package/assets/chatmodes/terraform-azure-implement.chatmode.md +0 -104
- package/assets/chatmodes/terraform-azure-planning.chatmode.md +0 -157
- package/assets/chatmodes/typescript-mcp-expert.chatmode.md +0 -91
- package/assets/chatmodes/voidbeast-gpt41enhanced.chatmode.md +0 -230
- package/assets/chatmodes/wg-code-alchemist.chatmode.md +0 -61
- package/assets/chatmodes/wg-code-sentinel.chatmode.md +0 -55
- package/assets/collections/ai-prompt-engineering.json +0 -18
- package/assets/collections/angular-development.json +0 -7
- package/assets/collections/azure-cloud-architect.json +0 -29
- package/assets/collections/cpp-development.json +0 -6
- package/assets/collections/database-administration.json +0 -8
- package/assets/collections/devops-sre.json +0 -11
- package/assets/collections/dotnet-development.json +0 -22
- package/assets/collections/general-productivity.json +0 -9
- package/assets/collections/go-development.json +0 -7
- package/assets/collections/java-spring-developer.json +0 -26
- package/assets/collections/learning-mentoring.json +0 -10
- package/assets/collections/legacy-migration.json +0 -4
- package/assets/collections/mcp-specialist.json +0 -41
- package/assets/collections/mobile-development.json +0 -4
- package/assets/collections/php-cms-development.json +0 -11
- package/assets/collections/power-platform-specialist.json +0 -31
- package/assets/collections/project-management.json +0 -12
- package/assets/collections/python-development.json +0 -13
- package/assets/collections/quality-assurance.json +0 -13
- package/assets/collections/ruby-development.json +0 -9
- package/assets/collections/rust-development.json +0 -10
- package/assets/collections/security-specialist.json +0 -8
- package/assets/collections/software-architect.json +0 -25
- package/assets/collections/technical-writing.json +0 -9
- package/assets/collections/web-frontend-development.json +0 -14
- package/assets/instructions/a11y.instructions.md +0 -369
- package/assets/instructions/ai-prompt-engineering-safety-best-practices.instructions.md +0 -867
- package/assets/instructions/angular.instructions.md +0 -104
- package/assets/instructions/ansible.instructions.md +0 -88
- package/assets/instructions/aspnet-rest-apis.instructions.md +0 -110
- package/assets/instructions/astro.instructions.md +0 -182
- package/assets/instructions/azure-devops-pipelines.instructions.md +0 -185
- package/assets/instructions/azure-functions-typescript.instructions.md +0 -14
- package/assets/instructions/azure-logic-apps-power-automate.instructions.md +0 -1943
- package/assets/instructions/azure-verified-modules-terraform.instructions.md +0 -229
- package/assets/instructions/bicep-code-best-practices.instructions.md +0 -54
- package/assets/instructions/blazor.instructions.md +0 -77
- package/assets/instructions/clojure.instructions.md +0 -349
- package/assets/instructions/cmake-vcpkg.instructions.md +0 -10
- package/assets/instructions/codexer.instructions.md +0 -428
- package/assets/instructions/coldfusion-cfc.instructions.md +0 -30
- package/assets/instructions/coldfusion-cfm.instructions.md +0 -28
- package/assets/instructions/collections.instructions.md +0 -54
- package/assets/instructions/containerization-docker-best-practices.instructions.md +0 -681
- package/assets/instructions/convert-jpa-to-spring-data-cosmos.instructions.md +0 -949
- package/assets/instructions/copilot-thought-logging.instructions.md +0 -62
- package/assets/instructions/csharp-ja.instructions.md +0 -114
- package/assets/instructions/csharp-ko.instructions.md +0 -77
- package/assets/instructions/csharp-mcp-server.instructions.md +0 -95
- package/assets/instructions/csharp.instructions.md +0 -114
- package/assets/instructions/dart-n-flutter.instructions.md +0 -447
- package/assets/instructions/declarative-agents-microsoft365.instructions.md +0 -316
- package/assets/instructions/devbox-image-definition.instructions.md +0 -302
- package/assets/instructions/devops-core-principles.instructions.md +0 -167
- package/assets/instructions/dotnet-architecture-good-practices.instructions.md +0 -279
- package/assets/instructions/dotnet-framework.instructions.md +0 -113
- package/assets/instructions/dotnet-maui-9-to-dotnet-maui-10-upgrade.instructions.md +0 -1922
- package/assets/instructions/dotnet-maui.instructions.md +0 -69
- package/assets/instructions/dotnet-upgrade.instructions.md +0 -287
- package/assets/instructions/dotnet-wpf.instructions.md +0 -79
- package/assets/instructions/genaiscript.instructions.md +0 -21
- package/assets/instructions/generate-modern-terraform-code-for-azure.instructions.md +0 -82
- package/assets/instructions/gilfoyle-code-review.instructions.md +0 -114
- package/assets/instructions/github-actions-ci-cd-best-practices.instructions.md +0 -607
- package/assets/instructions/go-mcp-server.instructions.md +0 -346
- package/assets/instructions/go.instructions.md +0 -373
- package/assets/instructions/instructions.instructions.md +0 -256
- package/assets/instructions/java-11-to-java-17-upgrade.instructions.md +0 -793
- package/assets/instructions/java-17-to-java-21-upgrade.instructions.md +0 -464
- package/assets/instructions/java-21-to-java-25-upgrade.instructions.md +0 -311
- package/assets/instructions/java-mcp-server.instructions.md +0 -553
- package/assets/instructions/java.instructions.md +0 -81
- package/assets/instructions/joyride-user-project.instructions.md +0 -206
- package/assets/instructions/joyride-workspace-automation.instructions.md +0 -46
- package/assets/instructions/kotlin-mcp-server.instructions.md +0 -481
- package/assets/instructions/kubernetes-deployment-best-practices.instructions.md +0 -307
- package/assets/instructions/langchain-python.instructions.md +0 -229
- package/assets/instructions/localization.instructions.md +0 -39
- package/assets/instructions/makefile.instructions.md +0 -410
- package/assets/instructions/markdown.instructions.md +0 -52
- package/assets/instructions/memory-bank.instructions.md +0 -299
- package/assets/instructions/mongo-dba.instructions.md +0 -25
- package/assets/instructions/ms-sql-dba.instructions.md +0 -25
- package/assets/instructions/nestjs.instructions.md +0 -406
- package/assets/instructions/nextjs-tailwind.instructions.md +0 -72
- package/assets/instructions/nextjs.instructions.md +0 -143
- package/assets/instructions/nodejs-javascript-vitest.instructions.md +0 -30
- package/assets/instructions/object-calisthenics.instructions.md +0 -302
- package/assets/instructions/oqtane.instructions.md +0 -86
- package/assets/instructions/performance-optimization.instructions.md +0 -420
- package/assets/instructions/php-mcp-server.instructions.md +0 -809
- package/assets/instructions/playwright-dotnet.instructions.md +0 -101
- package/assets/instructions/playwright-python.instructions.md +0 -62
- package/assets/instructions/playwright-typescript.instructions.md +0 -86
- package/assets/instructions/power-apps-canvas-yaml.instructions.md +0 -827
- package/assets/instructions/power-apps-code-apps.instructions.md +0 -601
- package/assets/instructions/power-bi-custom-visuals-development.instructions.md +0 -810
- package/assets/instructions/power-bi-data-modeling-best-practices.instructions.md +0 -639
- package/assets/instructions/power-bi-dax-best-practices.instructions.md +0 -795
- package/assets/instructions/power-bi-devops-alm-best-practices.instructions.md +0 -623
- package/assets/instructions/power-bi-report-design-best-practices.instructions.md +0 -752
- package/assets/instructions/power-bi-security-rls-best-practices.instructions.md +0 -504
- package/assets/instructions/power-platform-connector.instructions.md +0 -430
- package/assets/instructions/power-platform-mcp-development.instructions.md +0 -88
- package/assets/instructions/powershell-pester-5.instructions.md +0 -197
- package/assets/instructions/powershell.instructions.md +0 -356
- package/assets/instructions/prompt.instructions.md +0 -73
- package/assets/instructions/python-mcp-server.instructions.md +0 -204
- package/assets/instructions/python.instructions.md +0 -56
- package/assets/instructions/quarkus-mcp-server-sse.instructions.md +0 -49
- package/assets/instructions/quarkus.instructions.md +0 -98
- package/assets/instructions/r.instructions.md +0 -116
- package/assets/instructions/reactjs.instructions.md +0 -162
- package/assets/instructions/ruby-mcp-server.instructions.md +0 -629
- package/assets/instructions/ruby-on-rails.instructions.md +0 -124
- package/assets/instructions/rust-mcp-server.instructions.md +0 -715
- package/assets/instructions/rust.instructions.md +0 -135
- package/assets/instructions/security-and-owasp.instructions.md +0 -51
- package/assets/instructions/self-explanatory-code-commenting.instructions.md +0 -162
- package/assets/instructions/shell.instructions.md +0 -132
- package/assets/instructions/spec-driven-workflow-v1.instructions.md +0 -323
- package/assets/instructions/springboot.instructions.md +0 -68
- package/assets/instructions/sql-sp-generation.instructions.md +0 -74
- package/assets/instructions/svelte.instructions.md +0 -161
- package/assets/instructions/swift-mcp-server.instructions.md +0 -498
- package/assets/instructions/taming-copilot.instructions.md +0 -40
- package/assets/instructions/tanstack-start-shadcn-tailwind.instructions.md +0 -212
- package/assets/instructions/task-implementation.instructions.md +0 -190
- package/assets/instructions/tasksync.instructions.md +0 -352
- package/assets/instructions/terraform-azure.instructions.md +0 -254
- package/assets/instructions/terraform-sap-btp.instructions.md +0 -195
- package/assets/instructions/terraform.instructions.md +0 -113
- package/assets/instructions/typescript-5-es2022.instructions.md +0 -114
- package/assets/instructions/typescript-mcp-server.instructions.md +0 -228
- package/assets/instructions/update-code-from-shorthand.instructions.md +0 -130
- package/assets/instructions/vuejs3.instructions.md +0 -153
- package/assets/instructions/wordpress.instructions.md +0 -186
- package/assets/prompts/add-educational-comments.prompt.md +0 -129
- package/assets/prompts/ai-prompt-engineering-safety-review.prompt.md +0 -230
- package/assets/prompts/architecture-blueprint-generator.prompt.md +0 -322
- package/assets/prompts/aspnet-minimal-api-openapi.prompt.md +0 -42
- package/assets/prompts/az-cost-optimize.prompt.md +0 -305
- package/assets/prompts/azure-resource-health-diagnose.prompt.md +0 -290
- package/assets/prompts/boost-prompt.prompt.md +0 -25
- package/assets/prompts/breakdown-epic-arch.prompt.md +0 -66
- package/assets/prompts/breakdown-epic-pm.prompt.md +0 -58
- package/assets/prompts/breakdown-feature-implementation.prompt.md +0 -128
- package/assets/prompts/breakdown-feature-prd.prompt.md +0 -61
- package/assets/prompts/breakdown-plan.prompt.md +0 -509
- package/assets/prompts/breakdown-test.prompt.md +0 -365
- package/assets/prompts/code-exemplars-blueprint-generator.prompt.md +0 -126
- package/assets/prompts/comment-code-generate-a-tutorial.prompt.md +0 -26
- package/assets/prompts/containerize-aspnet-framework.prompt.md +0 -455
- package/assets/prompts/containerize-aspnetcore.prompt.md +0 -393
- package/assets/prompts/conventional-commit.prompt.md +0 -73
- package/assets/prompts/copilot-instructions-blueprint-generator.prompt.md +0 -294
- package/assets/prompts/cosmosdb-datamodeling.prompt.md +0 -1045
- package/assets/prompts/create-agentsmd.prompt.md +0 -249
- package/assets/prompts/create-architectural-decision-record.prompt.md +0 -97
- package/assets/prompts/create-github-action-workflow-specification.prompt.md +0 -276
- package/assets/prompts/create-github-issue-feature-from-specification.prompt.md +0 -28
- package/assets/prompts/create-github-issues-feature-from-implementation-plan.prompt.md +0 -28
- package/assets/prompts/create-github-issues-for-unmet-specification-requirements.prompt.md +0 -35
- package/assets/prompts/create-github-pull-request-from-specification.prompt.md +0 -24
- package/assets/prompts/create-implementation-plan.prompt.md +0 -157
- package/assets/prompts/create-llms.prompt.md +0 -210
- package/assets/prompts/create-oo-component-documentation.prompt.md +0 -193
- package/assets/prompts/create-readme.prompt.md +0 -21
- package/assets/prompts/create-specification.prompt.md +0 -127
- package/assets/prompts/create-spring-boot-java-project.prompt.md +0 -163
- package/assets/prompts/create-spring-boot-kotlin-project.prompt.md +0 -147
- package/assets/prompts/create-technical-spike.prompt.md +0 -231
- package/assets/prompts/csharp-async.prompt.md +0 -50
- package/assets/prompts/csharp-docs.prompt.md +0 -63
- package/assets/prompts/csharp-mcp-server-generator.prompt.md +0 -59
- package/assets/prompts/csharp-mstest.prompt.md +0 -67
- package/assets/prompts/csharp-nunit.prompt.md +0 -72
- package/assets/prompts/csharp-tunit.prompt.md +0 -101
- package/assets/prompts/csharp-xunit.prompt.md +0 -69
- package/assets/prompts/declarative-agents.prompt.md +0 -93
- package/assets/prompts/documentation-writer.prompt.md +0 -46
- package/assets/prompts/dotnet-best-practices.prompt.md +0 -84
- package/assets/prompts/dotnet-design-pattern-review.prompt.md +0 -41
- package/assets/prompts/dotnet-upgrade.prompt.md +0 -116
- package/assets/prompts/editorconfig.prompt.md +0 -64
- package/assets/prompts/ef-core.prompt.md +0 -76
- package/assets/prompts/finalize-agent-prompt.prompt.md +0 -27
- package/assets/prompts/first-ask.prompt.md +0 -29
- package/assets/prompts/folder-structure-blueprint-generator.prompt.md +0 -405
- package/assets/prompts/gen-specs-as-issues.prompt.md +0 -165
- package/assets/prompts/generate-custom-instructions-from-codebase.prompt.md +0 -240
- package/assets/prompts/git-flow-branch-creator.prompt.md +0 -293
- package/assets/prompts/github-copilot-starter.prompt.md +0 -372
- package/assets/prompts/go-mcp-server-generator.prompt.md +0 -334
- package/assets/prompts/java-docs.prompt.md +0 -24
- package/assets/prompts/java-junit.prompt.md +0 -64
- package/assets/prompts/java-mcp-server-generator.prompt.md +0 -756
- package/assets/prompts/java-refactoring-extract-method.prompt.md +0 -105
- package/assets/prompts/java-refactoring-remove-parameter.prompt.md +0 -85
- package/assets/prompts/java-springboot.prompt.md +0 -66
- package/assets/prompts/javascript-typescript-jest.prompt.md +0 -44
- package/assets/prompts/kotlin-mcp-server-generator.prompt.md +0 -449
- package/assets/prompts/kotlin-springboot.prompt.md +0 -71
- package/assets/prompts/mcp-copilot-studio-server-generator.prompt.md +0 -118
- package/assets/prompts/memory-merger.prompt.md +0 -107
- package/assets/prompts/mkdocs-translations.prompt.md +0 -110
- package/assets/prompts/model-recommendation.prompt.md +0 -677
- package/assets/prompts/multi-stage-dockerfile.prompt.md +0 -47
- package/assets/prompts/my-issues.prompt.md +0 -9
- package/assets/prompts/my-pull-requests.prompt.md +0 -15
- package/assets/prompts/next-intl-add-language.prompt.md +0 -20
- package/assets/prompts/php-mcp-server-generator.prompt.md +0 -522
- package/assets/prompts/playwright-automation-fill-in-form.prompt.md +0 -30
- package/assets/prompts/playwright-explore-website.prompt.md +0 -19
- package/assets/prompts/playwright-generate-test.prompt.md +0 -19
- package/assets/prompts/postgresql-code-review.prompt.md +0 -214
- package/assets/prompts/postgresql-optimization.prompt.md +0 -406
- package/assets/prompts/power-apps-code-app-scaffold.prompt.md +0 -150
- package/assets/prompts/power-bi-dax-optimization.prompt.md +0 -175
- package/assets/prompts/power-bi-model-design-review.prompt.md +0 -405
- package/assets/prompts/power-bi-performance-troubleshooting.prompt.md +0 -384
- package/assets/prompts/power-bi-report-design-consultation.prompt.md +0 -353
- package/assets/prompts/power-platform-mcp-connector-suite.prompt.md +0 -156
- package/assets/prompts/project-workflow-analysis-blueprint-generator.prompt.md +0 -294
- package/assets/prompts/prompt-builder.prompt.md +0 -142
- package/assets/prompts/pytest-coverage.prompt.md +0 -28
- package/assets/prompts/python-mcp-server-generator.prompt.md +0 -105
- package/assets/prompts/readme-blueprint-generator.prompt.md +0 -79
- package/assets/prompts/remember-interactive-programming.prompt.md +0 -13
- package/assets/prompts/remember.prompt.md +0 -125
- package/assets/prompts/repo-story-time.prompt.md +0 -156
- package/assets/prompts/review-and-refactor.prompt.md +0 -15
- package/assets/prompts/ruby-mcp-server-generator.prompt.md +0 -660
- package/assets/prompts/rust-mcp-server-generator.prompt.md +0 -578
- package/assets/prompts/shuffle-json-data.prompt.md +0 -151
- package/assets/prompts/sql-code-review.prompt.md +0 -303
- package/assets/prompts/sql-optimization.prompt.md +0 -298
- package/assets/prompts/suggest-awesome-github-copilot-agents.prompt.md +0 -72
- package/assets/prompts/suggest-awesome-github-copilot-chatmodes.prompt.md +0 -71
- package/assets/prompts/suggest-awesome-github-copilot-collections.prompt.md +0 -149
- package/assets/prompts/suggest-awesome-github-copilot-instructions.prompt.md +0 -88
- package/assets/prompts/suggest-awesome-github-copilot-prompts.prompt.md +0 -71
- package/assets/prompts/swift-mcp-server-generator.prompt.md +0 -669
- package/assets/prompts/technology-stack-blueprint-generator.prompt.md +0 -242
- package/assets/prompts/typescript-mcp-server-generator.prompt.md +0 -90
- package/assets/prompts/update-avm-modules-in-bicep.prompt.md +0 -60
- package/assets/prompts/update-implementation-plan.prompt.md +0 -157
- package/assets/prompts/update-llms.prompt.md +0 -216
- package/assets/prompts/update-markdown-file-index.prompt.md +0 -76
- package/assets/prompts/update-oo-component-documentation.prompt.md +0 -162
- package/assets/prompts/update-specification.prompt.md +0 -127
- package/assets/prompts/write-coding-standards-from-file.prompt.md +0 -316
- package/scripts/sync.js +0 -99
- package/verdaccio/config.yaml +0 -202
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Shorthand code will be in the file provided from the prompt or raw data in the prompt, and will be used to update the code file when the prompt has the text `UPDATE CODE FROM SHORTHAND`."
|
|
3
|
-
applyTo: "**/${input:file}"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Update Code from Shorthand
|
|
7
|
-
|
|
8
|
-
One or more files will be provided in the prompt. For each file in the prompt, look for the markers
|
|
9
|
-
`${openMarker}` and `${closeMarker}`.
|
|
10
|
-
|
|
11
|
-
All the content between the edit markers may include natural language and shorthand; convert it into
|
|
12
|
-
valid code appropriate for the target file type and its extension.
|
|
13
|
-
|
|
14
|
-
## Role
|
|
15
|
-
|
|
16
|
-
Expert 10x software engineer. Great at problem solving and generating creative solutions when given
|
|
17
|
-
shorthand instructions, similar to brainstorming. The shorthand is like a hand-drawn sketch a client
|
|
18
|
-
gives an architect. You extract the big picture and apply expert judgment to produce a complete,
|
|
19
|
-
high-quality implementation.
|
|
20
|
-
|
|
21
|
-
## Rules for Updating Code File from Shorthand
|
|
22
|
-
|
|
23
|
-
- The text `${openPrompt}` at the very start of the prompt.
|
|
24
|
-
- The `${REQUIRED_FILE}` following the `${openPrompt}`.
|
|
25
|
-
- Edit markers in the code file or prompt - like:
|
|
26
|
-
|
|
27
|
-
```text
|
|
28
|
-
${openMarker}
|
|
29
|
-
()=> shorthand code
|
|
30
|
-
${closeMarker}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
- Use the shorthand to edit, or sometimes essentially create the contents of a code file.
|
|
34
|
-
- If any comment has the text `REMOVE COMMENT`, `NOTE`, or similar within the comment, that
|
|
35
|
-
**comment** is to be removed; and in all probability that line will need the correct syntax,
|
|
36
|
-
function, method, or blocks of code.
|
|
37
|
-
- If any text, following the file name implies `no need to edit code`, then in all probability this
|
|
38
|
-
is to update a data file i.e. `JSON` or `XML` and means the edits should be focused on formatting
|
|
39
|
-
the data.
|
|
40
|
-
- If any text, following the file name implies `no need to edit code` and `add data`, then in all
|
|
41
|
-
probability this is to update a data file i.e. `JSON` or `XML` and means the edits should be focused
|
|
42
|
-
on formatting and adding additional data matching the existing format of the data file.
|
|
43
|
-
|
|
44
|
-
### When to Apply Instructions and Rules
|
|
45
|
-
|
|
46
|
-
- This is only relevant when the text `${openPrompt}` is at the start of the prompt.
|
|
47
|
-
- If the text `${openPrompt}` is not at the start of the prompt, discard these instructions for
|
|
48
|
-
that prompt.
|
|
49
|
-
- The `${REQUIRED_FILE}` will have two markers:
|
|
50
|
-
1. Opening `${openMarker}`
|
|
51
|
-
2. Closing `${closeMarker}`
|
|
52
|
-
- Call these `edit markers`.
|
|
53
|
-
- The content between the edit markers determines what to update in the `${REQUIRED_FILE}` or other
|
|
54
|
-
referenced files.
|
|
55
|
-
- After applying the updates, remove the `${openMarker}` and `${closeMarker}` lines from the
|
|
56
|
-
affected file(s).
|
|
57
|
-
|
|
58
|
-
#### Prompt Back Following Rules
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
[user]
|
|
62
|
-
> Edit the code file ${REQUIRED_FILE}.
|
|
63
|
-
[agent]
|
|
64
|
-
> Did you mean to prepend the prompt with "${openPrompt}"?
|
|
65
|
-
[user]
|
|
66
|
-
> ${openMarker} - edit the code file ${REQUIRED_FILE}.
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
## Remember to
|
|
70
|
-
|
|
71
|
-
- Remove all occurrences of the openMarker or `${language:comment} start-shorthand`.
|
|
72
|
-
- e.g. `// start-shorthand`.
|
|
73
|
-
- Remove all occurrences of the closeMarker or `${language:comment} end-shorthand`.
|
|
74
|
-
- e.g. `// end-shorthand`.
|
|
75
|
-
|
|
76
|
-
## Shorthand Key
|
|
77
|
-
|
|
78
|
-
- **`()=>`** = 90% comment and 10% pseudo code blocks of mixed languages.
|
|
79
|
-
- When lines have `()=>` as the starting set of characters, use your **role** to determine a
|
|
80
|
-
solution for the goal.
|
|
81
|
-
|
|
82
|
-
## Variables
|
|
83
|
-
|
|
84
|
-
- REQUIRED_FILE = `${input:file}`;
|
|
85
|
-
- openPrompt = "UPDATE CODE FROM SHORTHAND";
|
|
86
|
-
- language:comment = "Single or multi-line comment of programming language.";
|
|
87
|
-
- openMarker = "${language:comment} start-shorthand";
|
|
88
|
-
- closeMarker = "${language:comment} end-shorthand";
|
|
89
|
-
|
|
90
|
-
## Use Example
|
|
91
|
-
|
|
92
|
-
### Prompt Input
|
|
93
|
-
|
|
94
|
-
```bash
|
|
95
|
-
[user prompt]
|
|
96
|
-
UPDATE CODE FROM SHORTHAND
|
|
97
|
-
#file:script.js
|
|
98
|
-
Use #file:index.html:94-99 to see where converted
|
|
99
|
-
markdown to html will be parsed `id="a"`.
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### Code File
|
|
103
|
-
|
|
104
|
-
```js
|
|
105
|
-
// script.js
|
|
106
|
-
// Parse markdown file, applying HTML to render output.
|
|
107
|
-
|
|
108
|
-
var file = "file.md";
|
|
109
|
-
var xhttp = new XMLHttpRequest();
|
|
110
|
-
xhttp.onreadystatechange = function() {
|
|
111
|
-
if (this.readyState == 4 && this.status == 200) {
|
|
112
|
-
let data = this.responseText;
|
|
113
|
-
let a = document.getElementById("a");
|
|
114
|
-
let output = "";
|
|
115
|
-
// start-shorthand
|
|
116
|
-
()=> let apply_html_to_parsed_markdown = (md) => {
|
|
117
|
-
()=> md.forEach(line => {
|
|
118
|
-
// Depending on line data use a regex to insert html so markdown is converted to html
|
|
119
|
-
()=> output += line.replace(/^(regex to add html elements from markdonw line)(.*)$/g, $1$1);
|
|
120
|
-
});
|
|
121
|
-
// Output the converted file from markdown to html.
|
|
122
|
-
return output;
|
|
123
|
-
};
|
|
124
|
-
()=>a.innerHTML = apply_html_to_parsed_markdown(data);
|
|
125
|
-
// end-shorthand
|
|
126
|
-
}
|
|
127
|
-
};
|
|
128
|
-
xhttp.open("GET", file, true);
|
|
129
|
-
xhttp.send();
|
|
130
|
-
```
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: 'VueJS 3 development standards and best practices with Composition API and TypeScript'
|
|
3
|
-
applyTo: '**/*.vue, **/*.ts, **/*.js, **/*.scss'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# VueJS 3 Development Instructions
|
|
7
|
-
|
|
8
|
-
Instructions for building high-quality VueJS 3 applications with the Composition API, TypeScript, and modern best practices.
|
|
9
|
-
|
|
10
|
-
## Project Context
|
|
11
|
-
- Vue 3.x with Composition API as default
|
|
12
|
-
- TypeScript for type safety
|
|
13
|
-
- Single File Components (`.vue`) with `<script setup>` syntax
|
|
14
|
-
- Modern build tooling (Vite recommended)
|
|
15
|
-
- Pinia for application state management
|
|
16
|
-
- Official Vue style guide and best practices
|
|
17
|
-
|
|
18
|
-
## Development Standards
|
|
19
|
-
|
|
20
|
-
### Architecture
|
|
21
|
-
- Favor the Composition API (`setup` functions and composables) over the Options API
|
|
22
|
-
- Organize components and composables by feature or domain for scalability
|
|
23
|
-
- Separate UI-focused components (presentational) from logic-focused components (containers)
|
|
24
|
-
- Extract reusable logic into composable functions in a `composables/` directory
|
|
25
|
-
- Structure store modules (Pinia) by domain, with clearly defined actions, state, and getters
|
|
26
|
-
|
|
27
|
-
### TypeScript Integration
|
|
28
|
-
- Enable `strict` mode in `tsconfig.json` for maximum type safety
|
|
29
|
-
- Use `defineComponent` or `<script setup lang="ts">` with `defineProps` and `defineEmits`
|
|
30
|
-
- Leverage `PropType<T>` for typed props and default values
|
|
31
|
-
- Use interfaces or type aliases for complex prop and state shapes
|
|
32
|
-
- Define types for event handlers, refs, and `useRoute`/`useRouter` hooks
|
|
33
|
-
- Implement generic components and composables where applicable
|
|
34
|
-
|
|
35
|
-
### Component Design
|
|
36
|
-
- Adhere to the single responsibility principle for components
|
|
37
|
-
- Use PascalCase for component names and kebab-case for file names
|
|
38
|
-
- Keep components small and focused on one concern
|
|
39
|
-
- Use `<script setup>` syntax for brevity and performance
|
|
40
|
-
- Validate props with TypeScript; use runtime checks only when necessary
|
|
41
|
-
- Favor slots and scoped slots for flexible composition
|
|
42
|
-
|
|
43
|
-
### State Management
|
|
44
|
-
- Use Pinia for global state: define stores with `defineStore`
|
|
45
|
-
- For simple local state, use `ref` and `reactive` within `setup`
|
|
46
|
-
- Use `computed` for derived state
|
|
47
|
-
- Keep state normalized for complex structures
|
|
48
|
-
- Use actions in Pinia stores for asynchronous logic
|
|
49
|
-
- Leverage store plugins for persistence or debugging
|
|
50
|
-
|
|
51
|
-
### Composition API Patterns
|
|
52
|
-
- Create reusable composables for shared logic, e.g., `useFetch`, `useAuth`
|
|
53
|
-
- Use `watch` and `watchEffect` with precise dependency lists
|
|
54
|
-
- Cleanup side effects in `onUnmounted` or `watch` cleanup callbacks
|
|
55
|
-
- Use `provide`/`inject` sparingly for deep dependency injection
|
|
56
|
-
- Use `useAsyncData` or third-party data utilities (Vue Query)
|
|
57
|
-
|
|
58
|
-
### Styling
|
|
59
|
-
- Use `<style scoped>` for component-level styles or CSS Modules
|
|
60
|
-
- Consider utility-first frameworks (Tailwind CSS) for rapid styling
|
|
61
|
-
- Follow BEM or functional CSS conventions for class naming
|
|
62
|
-
- Leverage CSS custom properties for theming and design tokens
|
|
63
|
-
- Implement mobile-first, responsive design with CSS Grid and Flexbox
|
|
64
|
-
- Ensure styles are accessible (contrast, focus states)
|
|
65
|
-
|
|
66
|
-
### Performance Optimization
|
|
67
|
-
- Lazy-load components with dynamic imports and `defineAsyncComponent`
|
|
68
|
-
- Use `<Suspense>` for async component loading fallbacks
|
|
69
|
-
- Apply `v-once` and `v-memo` for static or infrequently changing elements
|
|
70
|
-
- Profile with Vue DevTools Performance tab
|
|
71
|
-
- Avoid unnecessary watchers; prefer `computed` where possible
|
|
72
|
-
- Tree-shake unused code and leverage Vite’s optimization features
|
|
73
|
-
|
|
74
|
-
### Data Fetching
|
|
75
|
-
- Use composables like `useFetch` (Nuxt) or libraries like Vue Query
|
|
76
|
-
- Handle loading, error, and success states explicitly
|
|
77
|
-
- Cancel stale requests on component unmount or param change
|
|
78
|
-
- Implement optimistic updates with rollbacks on failure
|
|
79
|
-
- Cache responses and use background revalidation
|
|
80
|
-
|
|
81
|
-
### Error Handling
|
|
82
|
-
- Use global error handler (`app.config.errorHandler`) for uncaught errors
|
|
83
|
-
- Wrap risky logic in `try/catch`; provide user-friendly messages
|
|
84
|
-
- Use `errorCaptured` hook in components for local boundaries
|
|
85
|
-
- Display fallback UI or error alerts gracefully
|
|
86
|
-
- Log errors to external services (Sentry, LogRocket)
|
|
87
|
-
|
|
88
|
-
### Forms and Validation
|
|
89
|
-
- Use libraries like VeeValidate or @vueuse/form for declarative validation
|
|
90
|
-
- Build forms with controlled `v-model` bindings
|
|
91
|
-
- Validate on blur or input with debouncing for performance
|
|
92
|
-
- Handle file uploads and complex multi-step forms in composables
|
|
93
|
-
- Ensure accessible labeling, error announcements, and focus management
|
|
94
|
-
|
|
95
|
-
### Routing
|
|
96
|
-
- Use Vue Router 4 with `createRouter` and `createWebHistory`
|
|
97
|
-
- Implement nested routes and route-level code splitting
|
|
98
|
-
- Protect routes with navigation guards (`beforeEnter`, `beforeEach`)
|
|
99
|
-
- Use `useRoute` and `useRouter` in `setup` for programmatic navigation
|
|
100
|
-
- Manage query params and dynamic segments properly
|
|
101
|
-
- Implement breadcrumb data via route meta fields
|
|
102
|
-
|
|
103
|
-
### Testing
|
|
104
|
-
- Write unit tests with Vue Test Utils and Jest
|
|
105
|
-
- Focus on behavior, not implementation details
|
|
106
|
-
- Use `mount` and `shallowMount` for component isolation
|
|
107
|
-
- Mock global plugins (router, Pinia) as needed
|
|
108
|
-
- Add end-to-end tests with Cypress or Playwright
|
|
109
|
-
- Test accessibility using axe-core integration
|
|
110
|
-
|
|
111
|
-
### Security
|
|
112
|
-
- Avoid using `v-html`; sanitize any HTML inputs rigorously
|
|
113
|
-
- Use CSP headers to mitigate XSS and injection attacks
|
|
114
|
-
- Validate and escape data in templates and directives
|
|
115
|
-
- Use HTTPS for all API requests
|
|
116
|
-
- Store sensitive tokens in HTTP-only cookies, not `localStorage`
|
|
117
|
-
|
|
118
|
-
### Accessibility
|
|
119
|
-
- Use semantic HTML elements and ARIA attributes
|
|
120
|
-
- Manage focus for modals and dynamic content
|
|
121
|
-
- Provide keyboard navigation for interactive components
|
|
122
|
-
- Add meaningful `alt` text for images and icons
|
|
123
|
-
- Ensure color contrast meets WCAG AA standards
|
|
124
|
-
|
|
125
|
-
## Implementation Process
|
|
126
|
-
1. Plan component and composable architecture
|
|
127
|
-
2. Initialize Vite project with Vue 3 and TypeScript
|
|
128
|
-
3. Define Pinia stores and composables
|
|
129
|
-
4. Create core UI components and layout
|
|
130
|
-
5. Integrate routing and navigation
|
|
131
|
-
6. Implement data fetching and state logic
|
|
132
|
-
7. Build forms with validation and error states
|
|
133
|
-
8. Add global error handling and fallback UIs
|
|
134
|
-
9. Add unit and E2E tests
|
|
135
|
-
10. Optimize performance and bundle size
|
|
136
|
-
11. Ensure accessibility compliance
|
|
137
|
-
12. Document components, composables, and stores
|
|
138
|
-
|
|
139
|
-
## Additional Guidelines
|
|
140
|
-
- Follow Vue’s official style guide (vuejs.org/style-guide)
|
|
141
|
-
- Use ESLint (with `plugin:vue/vue3-recommended`) and Prettier for code consistency
|
|
142
|
-
- Write meaningful commit messages and maintain clean git history
|
|
143
|
-
- Keep dependencies up to date and audit for vulnerabilities
|
|
144
|
-
- Document complex logic with JSDoc/TSDoc
|
|
145
|
-
- Use Vue DevTools for debugging and profiling
|
|
146
|
-
|
|
147
|
-
## Common Patterns
|
|
148
|
-
- Renderless components and scoped slots for flexible UI
|
|
149
|
-
- Compound components using provide/inject
|
|
150
|
-
- Custom directives for cross-cutting concerns
|
|
151
|
-
- Teleport for modals and overlays
|
|
152
|
-
- Plugin system for global utilities (i18n, analytics)
|
|
153
|
-
- Composable factories for parameterized logic
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
applyTo: 'wp-content/plugins/**,wp-content/themes/**,**/*.php,**/*.inc,**/*.js,**/*.jsx,**/*.ts,**/*.tsx,**/*.css,**/*.scss,**/*.json'
|
|
3
|
-
description: 'Coding, security, and testing rules for WordPress plugins and themes'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# WordPress Development — Copilot Instructions
|
|
7
|
-
|
|
8
|
-
**Goal:** Generate WordPress code that is secure, performant, testable, and compliant with official WordPress practices. Prefer hooks, small functions, dependency injection (where sensible), and clear separation of concerns.
|
|
9
|
-
|
|
10
|
-
## 1) Core Principles
|
|
11
|
-
- Never modify WordPress core. Extend via **actions** and **filters**.
|
|
12
|
-
- For plugins, always include a header and guard direct execution in entry PHP files.
|
|
13
|
-
- Use unique prefixes or PHP namespaces to avoid global collisions.
|
|
14
|
-
- Enqueue assets; never inline raw `<script>`/`<style>` in PHP templates.
|
|
15
|
-
- Make user‑facing strings translatable and load the correct text domain.
|
|
16
|
-
|
|
17
|
-
### Minimal plugin header & guard
|
|
18
|
-
```php
|
|
19
|
-
<?php
|
|
20
|
-
defined('ABSPATH') || exit;
|
|
21
|
-
/**
|
|
22
|
-
* Plugin Name: Awesome Feature
|
|
23
|
-
* Description: Example plugin scaffold.
|
|
24
|
-
* Version: 0.1.0
|
|
25
|
-
* Author: Example
|
|
26
|
-
* License: GPL-2.0-or-later
|
|
27
|
-
* Text Domain: awesome-feature
|
|
28
|
-
* Domain Path: /languages
|
|
29
|
-
*/
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## 2) Coding Standards (PHP, JS, CSS, HTML)
|
|
33
|
-
- Follow **WordPress Coding Standards (WPCS)** and write DocBlocks for public APIs.
|
|
34
|
-
- PHP: Prefer strict comparisons (`===`, `!==`) where appropriate. Be consistent with array syntax and spacing as per WPCS.
|
|
35
|
-
- JS: Match WordPress JS style; prefer `@wordpress/*` packages for block/editor code.
|
|
36
|
-
- CSS: Use BEM‑like class naming when helpful; avoid over‑specific selectors.
|
|
37
|
-
- PHP 7.4+ compatible patterns unless the project specifies higher. Avoid using features not supported by target WP/PHP versions.
|
|
38
|
-
|
|
39
|
-
### Linting setup suggestions
|
|
40
|
-
```xml
|
|
41
|
-
<!-- phpcs.xml -->
|
|
42
|
-
<?xml version="1.0"?>
|
|
43
|
-
<ruleset name="Project WPCS">
|
|
44
|
-
<description>WordPress Coding Standards for this project.</description>
|
|
45
|
-
<file>./</file>
|
|
46
|
-
<exclude-pattern>vendor/*</exclude-pattern>
|
|
47
|
-
<exclude-pattern>node_modules/*</exclude-pattern>
|
|
48
|
-
<rule ref="WordPress"/>
|
|
49
|
-
<rule ref="WordPress-Docs"/>
|
|
50
|
-
<rule ref="WordPress-Extra"/>
|
|
51
|
-
<rule ref="PHPCompatibility"/>
|
|
52
|
-
<config name="testVersion" value="7.4-"/>
|
|
53
|
-
</ruleset>
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
```json
|
|
57
|
-
// composer.json (snippet)
|
|
58
|
-
{
|
|
59
|
-
"require-dev": {
|
|
60
|
-
"dealerdirect/phpcodesniffer-composer-installer": "^1.0",
|
|
61
|
-
"wp-coding-standards/wpcs": "^3.0",
|
|
62
|
-
"phpcompatibility/php-compatibility": "^9.0"
|
|
63
|
-
},
|
|
64
|
-
"scripts": {
|
|
65
|
-
"lint:php": "phpcs -p",
|
|
66
|
-
"fix:php": "phpcbf -p"
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
```json
|
|
72
|
-
// package.json (snippet)
|
|
73
|
-
{
|
|
74
|
-
"devDependencies": {
|
|
75
|
-
"@wordpress/eslint-plugin": "^x.y.z"
|
|
76
|
-
},
|
|
77
|
-
"scripts": {
|
|
78
|
-
"lint:js": "eslint ."
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## 3) Security & Data Handling
|
|
84
|
-
- **Escape on output, sanitize on input.**
|
|
85
|
-
- Escape: `esc_html()`, `esc_attr()`, `esc_url()`, `wp_kses_post()`.
|
|
86
|
-
- Sanitize: `sanitize_text_field()`, `sanitize_email()`, `sanitize_key()`, `absint()`, `intval()`.
|
|
87
|
-
- **Capabilities & nonces** for forms, AJAX, REST:
|
|
88
|
-
- Add nonces with `wp_nonce_field()` and verify via `check_admin_referer()` / `wp_verify_nonce()`.
|
|
89
|
-
- Restrict mutations with `current_user_can( 'manage_options' /* or specific cap */ )`.
|
|
90
|
-
- **Database:** always use `$wpdb->prepare()` with placeholders; never concatenate untrusted input.
|
|
91
|
-
- **Uploads:** validate MIME/type and use `wp_handle_upload()`/`media_handle_upload()`.
|
|
92
|
-
|
|
93
|
-
## 4) Internationalization (i18n)
|
|
94
|
-
- Wrap user‑visible strings with translation functions using your text domain:
|
|
95
|
-
- `__( 'Text', 'awesome-feature' )`, `_x()`, `esc_html__()`.
|
|
96
|
-
- Load translations with `load_plugin_textdomain()` or `load_theme_textdomain()`.
|
|
97
|
-
- Keep a `.pot` in `/languages` and ensure consistent domain usage.
|
|
98
|
-
|
|
99
|
-
## 5) Performance
|
|
100
|
-
- Defer heavy logic to specific hooks; avoid expensive work on `init`/`wp_loaded` unless necessary.
|
|
101
|
-
- Use transients or object caching for expensive queries; plan invalidation.
|
|
102
|
-
- Enqueue only what you need and conditionally (front vs admin; specific screens/routes).
|
|
103
|
-
- Prefer paginated/parameterized queries over unbounded loops.
|
|
104
|
-
|
|
105
|
-
## 6) Admin UI & Settings
|
|
106
|
-
- Use **Settings API** for options pages; provide `sanitize_callback` for each setting.
|
|
107
|
-
- For tables, follow `WP_List_Table` patterns. For notices, use the admin notices API.
|
|
108
|
-
- Avoid direct HTML echoing for complex UIs; prefer templates or small view helpers with escaping.
|
|
109
|
-
|
|
110
|
-
## 7) REST API
|
|
111
|
-
- Register with `register_rest_route()`; always set a `permission_callback`.
|
|
112
|
-
- Validate/sanitize request args via the `args` schema.
|
|
113
|
-
- Return `WP_REST_Response` or arrays/objects that map cleanly to JSON.
|
|
114
|
-
|
|
115
|
-
## 8) Blocks & Editor (Gutenberg)
|
|
116
|
-
- Use `block.json` + `register_block_type()`; rely on `@wordpress/*` packages.
|
|
117
|
-
- Provide server render callbacks when needed (dynamic blocks).
|
|
118
|
-
- E2E tests should cover: insert block → edit → save → front‑end render.
|
|
119
|
-
|
|
120
|
-
## 9) Asset Loading
|
|
121
|
-
```php
|
|
122
|
-
add_action('wp_enqueue_scripts', function () {
|
|
123
|
-
wp_enqueue_style(
|
|
124
|
-
'af-frontend',
|
|
125
|
-
plugins_url('assets/frontend.css', __FILE__),
|
|
126
|
-
[],
|
|
127
|
-
'0.1.0'
|
|
128
|
-
);
|
|
129
|
-
|
|
130
|
-
wp_enqueue_script(
|
|
131
|
-
'af-frontend',
|
|
132
|
-
plugins_url('assets/frontend.js', __FILE__),
|
|
133
|
-
[ 'wp-i18n', 'wp-element' ],
|
|
134
|
-
'0.1.0',
|
|
135
|
-
true
|
|
136
|
-
);
|
|
137
|
-
});
|
|
138
|
-
```
|
|
139
|
-
- Use `wp_register_style/script` to register first if multiple components depend on the same assets.
|
|
140
|
-
- For admin screens, hook into `admin_enqueue_scripts` and check screen IDs.
|
|
141
|
-
|
|
142
|
-
## 10) Testing
|
|
143
|
-
### PHP Unit/Integration
|
|
144
|
-
- Use **WordPress test suite** with `PHPUnit` and `WP_UnitTestCase`.
|
|
145
|
-
- Test: sanitization, capability checks, REST permissions, DB queries, hooks.
|
|
146
|
-
- Prefer factories (`self::factory()->post->create()` etc.) to set up fixtures.
|
|
147
|
-
|
|
148
|
-
```xml
|
|
149
|
-
<!-- phpunit.xml.dist (minimal) -->
|
|
150
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
151
|
-
<phpunit bootstrap="tests/bootstrap.php" colors="true">
|
|
152
|
-
<testsuites>
|
|
153
|
-
<testsuite name="Plugin Test Suite">
|
|
154
|
-
<directory suffix="Test.php">tests/</directory>
|
|
155
|
-
</testsuite>
|
|
156
|
-
</testsuites>
|
|
157
|
-
</phpunit>
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
```php
|
|
161
|
-
// tests/bootstrap.php (minimal sketch)
|
|
162
|
-
<?php
|
|
163
|
-
$_tests_dir = getenv('WP_TESTS_DIR') ?: '/tmp/wordpress-tests-lib';
|
|
164
|
-
require_once $_tests_dir . '/includes/functions.php';
|
|
165
|
-
tests_add_filter( 'muplugins_loaded', function () {
|
|
166
|
-
require dirname(__DIR__) . '/awesome-feature.php';
|
|
167
|
-
} );
|
|
168
|
-
require $_tests_dir . '/includes/bootstrap.php';
|
|
169
|
-
```
|
|
170
|
-
### E2E
|
|
171
|
-
- Use Playwright (or Puppeteer) for editor/front‑end flows.
|
|
172
|
-
- Cover basic user journeys and regressions (block insertion, settings save, front‑end render).
|
|
173
|
-
|
|
174
|
-
## 11) Documentation & Commits
|
|
175
|
-
- Keep `README.md` up to date: install, usage, capabilities, hooks/filters, and test instructions.
|
|
176
|
-
- Use clear, imperative commit messages; reference issues/tickets and summarize impact.
|
|
177
|
-
|
|
178
|
-
## 12) What Copilot Must Ensure (Checklist)
|
|
179
|
-
- ✅ Unique prefixes/namespaces; no accidental globals.
|
|
180
|
-
- ✅ Nonce + capability checks for any write action (AJAX/REST/forms).
|
|
181
|
-
- ✅ Inputs sanitized; outputs escaped.
|
|
182
|
-
- ✅ User‑visible strings wrapped in i18n with correct text domain.
|
|
183
|
-
- ✅ Assets enqueued via APIs (no inline script/style).
|
|
184
|
-
- ✅ Tests added/updated for new behaviors.
|
|
185
|
-
- ✅ Code passes PHPCS (WPCS) and ESLint where applicable.
|
|
186
|
-
- ✅ Avoid direct DB concatenation; always prepare queries.
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
mode: 'agent'
|
|
3
|
-
description: 'Add educational comments to the file specified, or prompt asking for file to comment if one is not provided.'
|
|
4
|
-
tools: ['edit/editFiles', 'fetch', 'todos']
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Add Educational Comments
|
|
8
|
-
|
|
9
|
-
Add educational comments to code files so they become effective learning resources. When no file is provided, request one and offer a numbered list of close matches for quick selection.
|
|
10
|
-
|
|
11
|
-
## Role
|
|
12
|
-
|
|
13
|
-
You are an expert educator and technical writer. You can explain programming topics to beginners, intermediate learners, and advanced practitioners. You adapt tone and detail to match the user's configured knowledge levels while keeping guidance encouraging and instructional.
|
|
14
|
-
|
|
15
|
-
- Provide foundational explanations for beginners
|
|
16
|
-
- Add practical insights and best practices for intermediate users
|
|
17
|
-
- Offer deeper context (performance, architecture, language internals) for advanced users
|
|
18
|
-
- Suggest improvements only when they meaningfully support understanding
|
|
19
|
-
- Always obey the **Educational Commenting Rules**
|
|
20
|
-
|
|
21
|
-
## Objectives
|
|
22
|
-
|
|
23
|
-
1. Transform the provided file by adding educational comments aligned with the configuration.
|
|
24
|
-
2. Maintain the file's structure, encoding, and build correctness.
|
|
25
|
-
3. Increase the total line count by **125%** using educational comments only (up to 400 new lines). For files already processed with this prompt, update existing notes instead of reapplying the 125% rule.
|
|
26
|
-
|
|
27
|
-
### Line Count Guidance
|
|
28
|
-
|
|
29
|
-
- Default: add lines so the file reaches 125% of its original length.
|
|
30
|
-
- Hard limit: never add more than 400 educational comment lines.
|
|
31
|
-
- Large files: when the file exceeds 1,000 lines, aim for no more than 300 educational comment lines.
|
|
32
|
-
- Previously processed files: revise and improve current comments; do not chase the 125% increase again.
|
|
33
|
-
|
|
34
|
-
## Educational Commenting Rules
|
|
35
|
-
|
|
36
|
-
### Encoding and Formatting
|
|
37
|
-
|
|
38
|
-
- Determine the file's encoding before editing and keep it unchanged.
|
|
39
|
-
- Use only characters available on a standard QWERTY keyboard.
|
|
40
|
-
- Do not insert emojis or other special symbols.
|
|
41
|
-
- Preserve the original end-of-line style (LF or CRLF).
|
|
42
|
-
- Keep single-line comments on a single line.
|
|
43
|
-
- Maintain the indentation style required by the language (Python, Haskell, F#, Nim, Cobra, YAML, Makefiles, etc.).
|
|
44
|
-
- When instructed with `Line Number Referencing = yes`, prefix each new comment with `Note <number>` (e.g., `Note 1`).
|
|
45
|
-
|
|
46
|
-
### Content Expectations
|
|
47
|
-
|
|
48
|
-
- Focus on lines and blocks that best illustrate language or platform concepts.
|
|
49
|
-
- Explain the "why" behind syntax, idioms, and design choices.
|
|
50
|
-
- Reinforce previous concepts only when it improves comprehension (`Repetitiveness`).
|
|
51
|
-
- Highlight potential improvements gently and only when they serve an educational purpose.
|
|
52
|
-
- If `Line Number Referencing = yes`, use note numbers to connect related explanations.
|
|
53
|
-
|
|
54
|
-
### Safety and Compliance
|
|
55
|
-
|
|
56
|
-
- Do not alter namespaces, imports, module declarations, or encoding headers in a way that breaks execution.
|
|
57
|
-
- Avoid introducing syntax errors (for example, Python encoding errors per [PEP 263](https://peps.python.org/pep-0263/)).
|
|
58
|
-
- Input data as if typed on the user's keyboard.
|
|
59
|
-
|
|
60
|
-
## Workflow
|
|
61
|
-
|
|
62
|
-
1. **Confirm Inputs** – Ensure at least one target file is provided. If missing, respond with: `Please provide a file or files to add educational comments to. Preferably as chat variable or attached context.`
|
|
63
|
-
2. **Identify File(s)** – If multiple matches exist, present an ordered list so the user can choose by number or name.
|
|
64
|
-
3. **Review Configuration** – Combine the prompt defaults with user-specified values. Interpret obvious typos (e.g., `Line Numer`) using context.
|
|
65
|
-
4. **Plan Comments** – Decide which sections of the code best support the configured learning goals.
|
|
66
|
-
5. **Add Comments** – Apply educational comments following the configured detail, repetitiveness, and knowledge levels. Respect indentation and language syntax.
|
|
67
|
-
6. **Validate** – Confirm formatting, encoding, and syntax remain intact. Ensure the 125% rule and line limits are satisfied.
|
|
68
|
-
|
|
69
|
-
## Configuration Reference
|
|
70
|
-
|
|
71
|
-
### Properties
|
|
72
|
-
|
|
73
|
-
- **Numeric Scale**: `1-3`
|
|
74
|
-
- **Numeric Sequence**: `ordered` (higher numbers represent higher knowledge or intensity)
|
|
75
|
-
|
|
76
|
-
### Parameters
|
|
77
|
-
|
|
78
|
-
- **File Name** (required): Target file(s) for commenting.
|
|
79
|
-
- **Comment Detail** (`1-3`): Depth of each explanation (default `2`).
|
|
80
|
-
- **Repetitiveness** (`1-3`): Frequency of revisiting similar concepts (default `2`).
|
|
81
|
-
- **Educational Nature**: Domain focus (default `Computer Science`).
|
|
82
|
-
- **User Knowledge** (`1-3`): General CS/SE familiarity (default `2`).
|
|
83
|
-
- **Educational Level** (`1-3`): Familiarity with the specific language or framework (default `1`).
|
|
84
|
-
- **Line Number Referencing** (`yes/no`): Prepend comments with note numbers when `yes` (default `yes`).
|
|
85
|
-
- **Nest Comments** (`yes/no`): Whether to indent comments inside code blocks (default `yes`).
|
|
86
|
-
- **Fetch List**: Optional URLs for authoritative references.
|
|
87
|
-
|
|
88
|
-
If a configurable element is missing, use the default value. When new or unexpected options appear, apply your **Educational Role** to interpret them sensibly and still achieve the objective.
|
|
89
|
-
|
|
90
|
-
### Default Configuration
|
|
91
|
-
|
|
92
|
-
- File Name
|
|
93
|
-
- Comment Detail = 2
|
|
94
|
-
- Repetitiveness = 2
|
|
95
|
-
- Educational Nature = Computer Science
|
|
96
|
-
- User Knowledge = 2
|
|
97
|
-
- Educational Level = 1
|
|
98
|
-
- Line Number Referencing = yes
|
|
99
|
-
- Nest Comments = yes
|
|
100
|
-
- Fetch List:
|
|
101
|
-
- <https://peps.python.org/pep-0263/>
|
|
102
|
-
|
|
103
|
-
## Examples
|
|
104
|
-
|
|
105
|
-
### Missing File
|
|
106
|
-
|
|
107
|
-
```text
|
|
108
|
-
[user]
|
|
109
|
-
> /add-educational-comments
|
|
110
|
-
[agent]
|
|
111
|
-
> Please provide a file or files to add educational comments to. Preferably as chat variable or attached context.
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
### Custom Configuration
|
|
115
|
-
|
|
116
|
-
```text
|
|
117
|
-
[user]
|
|
118
|
-
> /add-educational-comments #file:output_name.py Comment Detail = 1, Repetitiveness = 1, Line Numer = no
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
Interpret `Line Numer = no` as `Line Number Referencing = no` and adjust behavior accordingly while maintaining all rules above.
|
|
122
|
-
|
|
123
|
-
## Final Checklist
|
|
124
|
-
|
|
125
|
-
- Ensure the transformed file satisfies the 125% rule without exceeding limits.
|
|
126
|
-
- Keep encoding, end-of-line style, and indentation unchanged.
|
|
127
|
-
- Confirm all educational comments follow the configuration and the **Educational Commenting Rules**.
|
|
128
|
-
- Provide clarifying suggestions only when they aid learning.
|
|
129
|
-
- When a file has been processed before, refine existing comments instead of expanding line count.
|