Merge branch 'github:main' into blueprint-mode
This commit is contained in:
commit
d37744efee
44
.github/workflows/webhook-caller.yml
vendored
Normal file
44
.github/workflows/webhook-caller.yml
vendored
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
name: Call Webhooks on Main Push
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
actions: none
|
||||||
|
checks: none
|
||||||
|
deployments: none
|
||||||
|
issues: none
|
||||||
|
discussions: none
|
||||||
|
packages: none
|
||||||
|
pull-requests: none
|
||||||
|
repository-projects: none
|
||||||
|
security-events: none
|
||||||
|
statuses: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
call-webhooks:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Check and call webhooks
|
||||||
|
env:
|
||||||
|
WEBHOOK_URLS: ${{ secrets.WEBHOOK_URLS }}
|
||||||
|
run: |
|
||||||
|
if [ -n "$WEBHOOK_URLS" ]; then
|
||||||
|
IFS=',' read -ra URLS <<< "$WEBHOOK_URLS"
|
||||||
|
idx=1
|
||||||
|
for url in "${URLS[@]}"; do
|
||||||
|
if [[ "$url" =~ ^https:// ]]; then
|
||||||
|
if ! curl -f --max-time 30 --retry 3 --silent --show-error -X POST -H "User-Agent: webhook-caller" -H "Content-Type: application/json" "$url"; then
|
||||||
|
echo "Webhook call failed for URL '$url' at index $idx" >&2
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Skipping invalid webhook URL (must start with https://): '$url' at index $idx" >&2
|
||||||
|
fi
|
||||||
|
idx=$((idx+1))
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo "No webhooks to call."
|
||||||
|
fi
|
||||||
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,3 +1,6 @@
|
|||||||
node_modules
|
node_modules
|
||||||
*.orig
|
*.orig
|
||||||
Copilot-Processing.md
|
Copilot-Processing.md
|
||||||
|
|
||||||
|
# macOS system files
|
||||||
|
.DS_Store
|
||||||
|
|||||||
16
.vscode/tasks.json
vendored
Normal file
16
.vscode/tasks.json
vendored
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"version": "2.0.0",
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"label": "generate-readme",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "node update-readme.js",
|
||||||
|
"problemMatcher": [],
|
||||||
|
"group": {
|
||||||
|
"kind": "build",
|
||||||
|
"isDefault": true
|
||||||
|
},
|
||||||
|
"detail": "Generates the README.md file using update-readme.js script."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@ -50,6 +50,7 @@ Team and project-specific instructions to enhance GitHub Copilot's behavior for
|
|||||||
| [Markdown](instructions/markdown.instructions.md) | Documentation and content creation standards | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fmarkdown.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fmarkdown.instructions.md) |
|
| [Markdown](instructions/markdown.instructions.md) | Documentation and content creation standards | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fmarkdown.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fmarkdown.instructions.md) |
|
||||||
| [Memory Bank](instructions/memory-bank.instructions.md) | Bank specific coding standards and best practices | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fmemory-bank.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fmemory-bank.instructions.md) |
|
| [Memory Bank](instructions/memory-bank.instructions.md) | Bank specific coding standards and best practices | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fmemory-bank.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fmemory-bank.instructions.md) |
|
||||||
| [MS-SQL DBA Chat Mode Instructions](instructions/ms-sql-dba.instructions.md) | Instructions for customizing GitHub Copilot behavior for MS-SQL DBA chat mode. | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fms-sql-dba.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fms-sql-dba.instructions.md) |
|
| [MS-SQL DBA Chat Mode Instructions](instructions/ms-sql-dba.instructions.md) | Instructions for customizing GitHub Copilot behavior for MS-SQL DBA chat mode. | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fms-sql-dba.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fms-sql-dba.instructions.md) |
|
||||||
|
| [NestJS Development Best Practices](instructions/nestjs.instructions.md) | NestJS development standards and best practices for building scalable Node.js server-side applications | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnestjs.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnestjs.instructions.md) |
|
||||||
| [Next.js + Tailwind Development Instructions](instructions/nextjs-tailwind.instructions.md) | Next.js + Tailwind development standards and instructions | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnextjs-tailwind.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnextjs-tailwind.instructions.md) |
|
| [Next.js + Tailwind Development Instructions](instructions/nextjs-tailwind.instructions.md) | Next.js + Tailwind development standards and instructions | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnextjs-tailwind.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnextjs-tailwind.instructions.md) |
|
||||||
| [Next.js Best Practices for LLMs (2025)](instructions/nextjs.instructions.md) | (2025) specific coding standards and best practices | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnextjs.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnextjs.instructions.md) |
|
| [Next.js Best Practices for LLMs (2025)](instructions/nextjs.instructions.md) | (2025) specific coding standards and best practices | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnextjs.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnextjs.instructions.md) |
|
||||||
| [Code Generation Guidelines](instructions/nodejs-javascript-vitest.instructions.md) | Guidelines for writing Node.js and JavaScript code with Vitest testing | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnodejs-javascript-vitest.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnodejs-javascript-vitest.instructions.md) |
|
| [Code Generation Guidelines](instructions/nodejs-javascript-vitest.instructions.md) | Guidelines for writing Node.js and JavaScript code with Vitest testing | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnodejs-javascript-vitest.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fnodejs-javascript-vitest.instructions.md) |
|
||||||
@ -71,6 +72,7 @@ Team and project-specific instructions to enhance GitHub Copilot's behavior for
|
|||||||
| [SQL Development](instructions/sql-sp-generation.instructions.md) | Guidelines for generating SQL statements and stored procedures | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fsql-sp-generation.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fsql-sp-generation.instructions.md) |
|
| [SQL Development](instructions/sql-sp-generation.instructions.md) | Guidelines for generating SQL statements and stored procedures | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fsql-sp-generation.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fsql-sp-generation.instructions.md) |
|
||||||
| [Taming Copilot](instructions/taming-copilot.instructions.md) | Prevent Copilot from wreaking havoc across your codebase, keeping it under control. | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftaming-copilot.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftaming-copilot.instructions.md) |
|
| [Taming Copilot](instructions/taming-copilot.instructions.md) | Prevent Copilot from wreaking havoc across your codebase, keeping it under control. | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftaming-copilot.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftaming-copilot.instructions.md) |
|
||||||
| [TanStack Start with Shadcn/ui Development Guide](instructions/tanstack-start-shadcn-tailwind.instructions.md) | Guidelines for building TanStack Start applications | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftanstack-start-shadcn-tailwind.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftanstack-start-shadcn-tailwind.instructions.md) |
|
| [TanStack Start with Shadcn/ui Development Guide](instructions/tanstack-start-shadcn-tailwind.instructions.md) | Guidelines for building TanStack Start applications | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftanstack-start-shadcn-tailwind.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftanstack-start-shadcn-tailwind.instructions.md) |
|
||||||
|
| [Terraform Conventions](instructions/terraform.instructions.md) | Terraform Conventions and Guidelines | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fterraform.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fterraform.instructions.md) |
|
||||||
| [VueJS 3 Development Instructions](instructions/vuejs3.instructions.md) | VueJS 3 development standards and best practices with Composition API and TypeScript | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fvuejs3.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fvuejs3.instructions.md) |
|
| [VueJS 3 Development Instructions](instructions/vuejs3.instructions.md) | VueJS 3 development standards and best practices with Composition API and TypeScript | [](https://vscode.dev/redirect?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fvuejs3.instructions.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fvuejs3.instructions.md) |
|
||||||
|
|
||||||
> 💡 **Usage**: Copy these instructions to your `.github/copilot-instructions.md` file or create task-specific `.github/.instructions.md` files in your workspace's `.github/instructions` folder.
|
> 💡 **Usage**: Copy these instructions to your `.github/copilot-instructions.md` file or create task-specific `.github/.instructions.md` files in your workspace's `.github/instructions` folder.
|
||||||
@ -121,10 +123,14 @@ Ready-to-use prompt templates for specific development scenarios and tasks, defi
|
|||||||
| [My Issues](prompts/my-issues.prompt.md) | List my issues in the current repository | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmy-issues.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmy-issues.prompt.md) |
|
| [My Issues](prompts/my-issues.prompt.md) | List my issues in the current repository | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmy-issues.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmy-issues.prompt.md) |
|
||||||
| [My Pull Requests](prompts/my-pull-requests.prompt.md) | List my pull requests in the current repository | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmy-pull-requests.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmy-pull-requests.prompt.md) |
|
| [My Pull Requests](prompts/my-pull-requests.prompt.md) | List my pull requests in the current repository | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmy-pull-requests.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmy-pull-requests.prompt.md) |
|
||||||
| [Next Intl Add Language](prompts/next-intl-add-language.prompt.md) | Add new language to a Next.js + next-intl application | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fnext-intl-add-language.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fnext-intl-add-language.prompt.md) |
|
| [Next Intl Add Language](prompts/next-intl-add-language.prompt.md) | Add new language to a Next.js + next-intl application | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fnext-intl-add-language.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fnext-intl-add-language.prompt.md) |
|
||||||
|
| [Automating Filling in a Form with Playwright MCP](prompts/playwright-automation-fill-in-form.prompt.md) | Automate filling in a form using Playwright MCP | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fplaywright-automation-fill-in-form.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fplaywright-automation-fill-in-form.prompt.md) |
|
||||||
|
| [Website Exploration for Testing](prompts/playwright-explore-website.prompt.md) | Website exploration for testing using Playwright MCP | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fplaywright-explore-website.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fplaywright-explore-website.prompt.md) |
|
||||||
|
| [Test Generation with Playwright MCP](prompts/playwright-generate-test.prompt.md) | Generate a Playwright test based on a scenario using Playwright MCP | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fplaywright-generate-test.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fplaywright-generate-test.prompt.md) |
|
||||||
| [PostgreSQL Code Review Assistant](prompts/postgresql-code-review.prompt.md) | PostgreSQL-specific code review assistant focusing on PostgreSQL best practices, anti-patterns, and unique quality standards. Covers JSONB operations, array usage, custom types, schema design, function optimization, and PostgreSQL-exclusive security features like Row Level Security (RLS). | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpostgresql-code-review.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpostgresql-code-review.prompt.md) |
|
| [PostgreSQL Code Review Assistant](prompts/postgresql-code-review.prompt.md) | PostgreSQL-specific code review assistant focusing on PostgreSQL best practices, anti-patterns, and unique quality standards. Covers JSONB operations, array usage, custom types, schema design, function optimization, and PostgreSQL-exclusive security features like Row Level Security (RLS). | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpostgresql-code-review.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpostgresql-code-review.prompt.md) |
|
||||||
| [PostgreSQL Development Assistant](prompts/postgresql-optimization.prompt.md) | PostgreSQL-specific development assistant focusing on unique PostgreSQL features, advanced data types, and PostgreSQL-exclusive capabilities. Covers JSONB operations, array types, custom types, range/geometric types, full-text search, window functions, and PostgreSQL extensions ecosystem. | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpostgresql-optimization.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpostgresql-optimization.prompt.md) |
|
| [PostgreSQL Development Assistant](prompts/postgresql-optimization.prompt.md) | PostgreSQL-specific development assistant focusing on unique PostgreSQL features, advanced data types, and PostgreSQL-exclusive capabilities. Covers JSONB operations, array types, custom types, range/geometric types, full-text search, window functions, and PostgreSQL extensions ecosystem. | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpostgresql-optimization.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpostgresql-optimization.prompt.md) |
|
||||||
| [Project Workflow Documentation Generator](prompts/project-workflow-analysis-blueprint-generator.prompt.md) | Comprehensive technology-agnostic prompt generator for documenting end-to-end application workflows. Automatically detects project architecture patterns, technology stacks, and data flow patterns to generate detailed implementation blueprints covering entry points, service layers, data access, error handling, and testing approaches across multiple technologies including .NET, Java/Spring, React, and microservices architectures. | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fproject-workflow-analysis-blueprint-generator.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fproject-workflow-analysis-blueprint-generator.prompt.md) |
|
| [Project Workflow Documentation Generator](prompts/project-workflow-analysis-blueprint-generator.prompt.md) | Comprehensive technology-agnostic prompt generator for documenting end-to-end application workflows. Automatically detects project architecture patterns, technology stacks, and data flow patterns to generate detailed implementation blueprints covering entry points, service layers, data access, error handling, and testing approaches across multiple technologies including .NET, Java/Spring, React, and microservices architectures. | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fproject-workflow-analysis-blueprint-generator.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fproject-workflow-analysis-blueprint-generator.prompt.md) |
|
||||||
| [README Generator Prompt](prompts/readme-blueprint-generator.prompt.md) | Intelligent README.md generation prompt that analyzes project documentation structure and creates comprehensive repository documentation. Scans .github/copilot directory files and copilot-instructions.md to extract project information, technology stack, architecture, development workflow, coding standards, and testing approaches while generating well-structured markdown documentation with proper formatting, cross-references, and developer-focused content. | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Freadme-blueprint-generator.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Freadme-blueprint-generator.prompt.md) |
|
| [README Generator Prompt](prompts/readme-blueprint-generator.prompt.md) | Intelligent README.md generation prompt that analyzes project documentation structure and creates comprehensive repository documentation. Scans .github/copilot directory files and copilot-instructions.md to extract project information, technology stack, architecture, development workflow, coding standards, and testing approaches while generating well-structured markdown documentation with proper formatting, cross-references, and developer-focused content. | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Freadme-blueprint-generator.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Freadme-blueprint-generator.prompt.md) |
|
||||||
|
| [Repository Analysis: [Repo Name]](prompts/repo-story-time.prompt.md) | Generate a comprehensive repository summary and narrative story from commit history | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Frepo-story-time.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Frepo-story-time.prompt.md) |
|
||||||
| [Review And Refactor](prompts/review-and-refactor.prompt.md) | Review and refactor code in your project according to defined instructions | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Freview-and-refactor.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Freview-and-refactor.prompt.md) |
|
| [Review And Refactor](prompts/review-and-refactor.prompt.md) | Review and refactor code in your project according to defined instructions | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Freview-and-refactor.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Freview-and-refactor.prompt.md) |
|
||||||
| [SQL Code Review](prompts/sql-code-review.prompt.md) | Universal SQL code review assistant that performs comprehensive security, maintainability, and code quality analysis across all SQL databases (MySQL, PostgreSQL, SQL Server, Oracle). Focuses on SQL injection prevention, access control, code standards, and anti-pattern detection. Complements SQL optimization prompt for complete development coverage. | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fsql-code-review.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fsql-code-review.prompt.md) |
|
| [SQL Code Review](prompts/sql-code-review.prompt.md) | Universal SQL code review assistant that performs comprehensive security, maintainability, and code quality analysis across all SQL databases (MySQL, PostgreSQL, SQL Server, Oracle). Focuses on SQL injection prevention, access control, code standards, and anti-pattern detection. Complements SQL optimization prompt for complete development coverage. | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fsql-code-review.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fsql-code-review.prompt.md) |
|
||||||
| [SQL Performance Optimization Assistant](prompts/sql-optimization.prompt.md) | Universal SQL performance optimization assistant for comprehensive query tuning, indexing strategies, and database performance analysis across all SQL databases (MySQL, PostgreSQL, SQL Server, Oracle). Provides execution plan analysis, pagination optimization, batch operations, and performance monitoring guidance. | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fsql-optimization.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fsql-optimization.prompt.md) |
|
| [SQL Performance Optimization Assistant](prompts/sql-optimization.prompt.md) | Universal SQL performance optimization assistant for comprehensive query tuning, indexing strategies, and database performance analysis across all SQL databases (MySQL, PostgreSQL, SQL Server, Oracle). Provides execution plan analysis, pagination optimization, batch operations, and performance monitoring guidance. | [](https://vscode.dev/redirect?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fsql-optimization.prompt.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fsql-optimization.prompt.md) |
|
||||||
@ -171,6 +177,7 @@ Custom chat modes define specific behaviors and tools for GitHub Copilot Chat, e
|
|||||||
| [MS-SQL Database Administrator](chatmodes/ms-sql-dba.chatmode.md) | Work with Microsoft SQL Server databases using the MS SQL extension. | [](https://vscode.dev/redirect?url=vscode%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fms-sql-dba.chatmode.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fms-sql-dba.chatmode.md) |
|
| [MS-SQL Database Administrator](chatmodes/ms-sql-dba.chatmode.md) | Work with Microsoft SQL Server databases using the MS SQL extension. | [](https://vscode.dev/redirect?url=vscode%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fms-sql-dba.chatmode.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fms-sql-dba.chatmode.md) |
|
||||||
| [Plan Mode - Strategic Planning & Architecture Assistant](chatmodes/plan.chatmode.md) | Strategic planning and architecture assistant focused on thoughtful analysis before implementation. Helps developers understand codebases, clarify requirements, and develop comprehensive implementation strategies. | [](https://vscode.dev/redirect?url=vscode%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplan.chatmode.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplan.chatmode.md) |
|
| [Plan Mode - Strategic Planning & Architecture Assistant](chatmodes/plan.chatmode.md) | Strategic planning and architecture assistant focused on thoughtful analysis before implementation. Helps developers understand codebases, clarify requirements, and develop comprehensive implementation strategies. | [](https://vscode.dev/redirect?url=vscode%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplan.chatmode.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplan.chatmode.md) |
|
||||||
| [Planning mode instructions](chatmodes/planner.chatmode.md) | Generate an implementation plan for new features or refactoring existing code. | [](https://vscode.dev/redirect?url=vscode%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplanner.chatmode.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplanner.chatmode.md) |
|
| [Planning mode instructions](chatmodes/planner.chatmode.md) | Generate an implementation plan for new features or refactoring existing code. | [](https://vscode.dev/redirect?url=vscode%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplanner.chatmode.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplanner.chatmode.md) |
|
||||||
|
| [Playwright Tester](chatmodes/playwright-tester.chatmode.md) | Testing mode for Playwright tests | [](https://vscode.dev/redirect?url=vscode%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplaywright-tester.chatmode.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fplaywright-tester.chatmode.md) |
|
||||||
| [PostgreSQL Database Administrator](chatmodes/postgresql-dba.chatmode.md) | Work with PostgreSQL databases using the PostgreSQL extension. | [](https://vscode.dev/redirect?url=vscode%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpostgresql-dba.chatmode.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpostgresql-dba.chatmode.md) |
|
| [PostgreSQL Database Administrator](chatmodes/postgresql-dba.chatmode.md) | Work with PostgreSQL databases using the PostgreSQL extension. | [](https://vscode.dev/redirect?url=vscode%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpostgresql-dba.chatmode.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpostgresql-dba.chatmode.md) |
|
||||||
| [Create PRD Chat Mode](chatmodes/prd.chatmode.md) | Generate a comprehensive Product Requirements Document (PRD) in Markdown, detailing user stories, acceptance criteria, technical considerations, and metrics. Optionally create GitHub issues upon user confirmation. | [](https://vscode.dev/redirect?url=vscode%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fprd.chatmode.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fprd.chatmode.md) |
|
| [Create PRD Chat Mode](chatmodes/prd.chatmode.md) | Generate a comprehensive Product Requirements Document (PRD) in Markdown, detailing user stories, acceptance criteria, technical considerations, and metrics. Optionally create GitHub issues upon user confirmation. | [](https://vscode.dev/redirect?url=vscode%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fprd.chatmode.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fprd.chatmode.md) |
|
||||||
| [Principal software engineer mode instructions](chatmodes/principal-software-engineer.chatmode.md) | Provide principal-level software engineering guidance with focus on engineering excellence, technical leadership, and pragmatic implementation. | [](https://vscode.dev/redirect?url=vscode%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fprincipal-software-engineer.chatmode.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fprincipal-software-engineer.chatmode.md) |
|
| [Principal software engineer mode instructions](chatmodes/principal-software-engineer.chatmode.md) | Provide principal-level software engineering guidance with focus on engineering excellence, technical leadership, and pragmatic implementation. | [](https://vscode.dev/redirect?url=vscode%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fprincipal-software-engineer.chatmode.md) [](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Achat-chatmode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fprincipal-software-engineer.chatmode.md) |
|
||||||
|
|||||||
13
chatmodes/playwright-tester.chatmode.md
Normal file
13
chatmodes/playwright-tester.chatmode.md
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
---
|
||||||
|
description: 'Testing mode for Playwright tests'
|
||||||
|
tools: ['changes', 'codebase', 'editFiles', 'fetch', 'findTestFiles', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'playwright']
|
||||||
|
model: Claude Sonnet 4
|
||||||
|
---
|
||||||
|
|
||||||
|
## Core Responsibilities
|
||||||
|
|
||||||
|
1. **Website Exploration**: Use the Playwright MCP to navigate to the website, take a page snapshot and analyze the key functionalities. Do not generate any code until you have explored the website and identified the key user flows by navigating to the site like a user would.
|
||||||
|
2. **Test Improvements**: When asked to improve tests use the Playwright MCP to navigate to the URL and view the page snapshot. Use the snapshot to identify the correct locators for the tests. You may need to run the development server first.
|
||||||
|
3. **Test Generation**: Once you have finished exploring the site, start writing well-structured and maintainable Playwright tests using TypeScript based on what you have explored.
|
||||||
|
4. **Test Execution & Refinement**: Run the generated tests, diagnose any failures, and iterate on the code until all tests pass reliably.
|
||||||
|
5. **Documentation**: Provide clear summaries of the functionalities tested and the structure of the generated tests.
|
||||||
406
instructions/nestjs.instructions.md
Normal file
406
instructions/nestjs.instructions.md
Normal file
@ -0,0 +1,406 @@
|
|||||||
|
---
|
||||||
|
applyTo: '**/*.ts, **/*.js, **/*.json, **/*.spec.ts, **/*.e2e-spec.ts'
|
||||||
|
description: 'NestJS development standards and best practices for building scalable Node.js server-side applications'
|
||||||
|
---
|
||||||
|
|
||||||
|
# NestJS Development Best Practices
|
||||||
|
|
||||||
|
## Your Mission
|
||||||
|
|
||||||
|
As GitHub Copilot, you are an expert in NestJS development with deep knowledge of TypeScript, decorators, dependency injection, and modern Node.js patterns. Your goal is to guide developers in building scalable, maintainable, and well-architected server-side applications using NestJS framework principles and best practices.
|
||||||
|
|
||||||
|
## Core NestJS Principles
|
||||||
|
|
||||||
|
### **1. Dependency Injection (DI)**
|
||||||
|
- **Principle:** NestJS uses a powerful DI container that manages the instantiation and lifetime of providers.
|
||||||
|
- **Guidance for Copilot:**
|
||||||
|
- Use `@Injectable()` decorator for services, repositories, and other providers
|
||||||
|
- Inject dependencies through constructor parameters with proper typing
|
||||||
|
- Prefer interface-based dependency injection for better testability
|
||||||
|
- Use custom providers when you need specific instantiation logic
|
||||||
|
|
||||||
|
### **2. Modular Architecture**
|
||||||
|
- **Principle:** Organize code into feature modules that encapsulate related functionality.
|
||||||
|
- **Guidance for Copilot:**
|
||||||
|
- Create feature modules with `@Module()` decorator
|
||||||
|
- Import only necessary modules and avoid circular dependencies
|
||||||
|
- Use `forRoot()` and `forFeature()` patterns for configurable modules
|
||||||
|
- Implement shared modules for common functionality
|
||||||
|
|
||||||
|
### **3. Decorators and Metadata**
|
||||||
|
- **Principle:** Leverage decorators to define routes, middleware, guards, and other framework features.
|
||||||
|
- **Guidance for Copilot:**
|
||||||
|
- Use appropriate decorators: `@Controller()`, `@Get()`, `@Post()`, `@Injectable()`
|
||||||
|
- Apply validation decorators from `class-validator` library
|
||||||
|
- Use custom decorators for cross-cutting concerns
|
||||||
|
- Implement metadata reflection for advanced scenarios
|
||||||
|
|
||||||
|
## Project Structure Best Practices
|
||||||
|
|
||||||
|
### **Recommended Directory Structure**
|
||||||
|
```
|
||||||
|
src/
|
||||||
|
├── app.module.ts
|
||||||
|
├── main.ts
|
||||||
|
├── common/
|
||||||
|
│ ├── decorators/
|
||||||
|
│ ├── filters/
|
||||||
|
│ ├── guards/
|
||||||
|
│ ├── interceptors/
|
||||||
|
│ ├── pipes/
|
||||||
|
│ └── interfaces/
|
||||||
|
├── config/
|
||||||
|
├── modules/
|
||||||
|
│ ├── auth/
|
||||||
|
│ ├── users/
|
||||||
|
│ └── products/
|
||||||
|
└── shared/
|
||||||
|
├── services/
|
||||||
|
└── constants/
|
||||||
|
```
|
||||||
|
|
||||||
|
### **File Naming Conventions**
|
||||||
|
- **Controllers:** `*.controller.ts` (e.g., `users.controller.ts`)
|
||||||
|
- **Services:** `*.service.ts` (e.g., `users.service.ts`)
|
||||||
|
- **Modules:** `*.module.ts` (e.g., `users.module.ts`)
|
||||||
|
- **DTOs:** `*.dto.ts` (e.g., `create-user.dto.ts`)
|
||||||
|
- **Entities:** `*.entity.ts` (e.g., `user.entity.ts`)
|
||||||
|
- **Guards:** `*.guard.ts` (e.g., `auth.guard.ts`)
|
||||||
|
- **Interceptors:** `*.interceptor.ts` (e.g., `logging.interceptor.ts`)
|
||||||
|
- **Pipes:** `*.pipe.ts` (e.g., `validation.pipe.ts`)
|
||||||
|
- **Filters:** `*.filter.ts` (e.g., `http-exception.filter.ts`)
|
||||||
|
|
||||||
|
## API Development Patterns
|
||||||
|
|
||||||
|
### **1. Controllers**
|
||||||
|
- Keep controllers thin - delegate business logic to services
|
||||||
|
- Use proper HTTP methods and status codes
|
||||||
|
- Implement comprehensive input validation with DTOs
|
||||||
|
- Apply guards and interceptors at the appropriate level
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
@Controller('users')
|
||||||
|
@UseGuards(AuthGuard)
|
||||||
|
export class UsersController {
|
||||||
|
constructor(private readonly usersService: UsersService) {}
|
||||||
|
|
||||||
|
@Get()
|
||||||
|
@UseInterceptors(TransformInterceptor)
|
||||||
|
async findAll(@Query() query: GetUsersDto): Promise<User[]> {
|
||||||
|
return this.usersService.findAll(query);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Post()
|
||||||
|
@UsePipes(ValidationPipe)
|
||||||
|
async create(@Body() createUserDto: CreateUserDto): Promise<User> {
|
||||||
|
return this.usersService.create(createUserDto);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### **2. Services**
|
||||||
|
- Implement business logic in services, not controllers
|
||||||
|
- Use constructor-based dependency injection
|
||||||
|
- Create focused, single-responsibility services
|
||||||
|
- Handle errors appropriately and let filters catch them
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
@Injectable()
|
||||||
|
export class UsersService {
|
||||||
|
constructor(
|
||||||
|
@InjectRepository(User)
|
||||||
|
private readonly userRepository: Repository<User>,
|
||||||
|
private readonly emailService: EmailService,
|
||||||
|
) {}
|
||||||
|
|
||||||
|
async create(createUserDto: CreateUserDto): Promise<User> {
|
||||||
|
const user = this.userRepository.create(createUserDto);
|
||||||
|
const savedUser = await this.userRepository.save(user);
|
||||||
|
await this.emailService.sendWelcomeEmail(savedUser.email);
|
||||||
|
return savedUser;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### **3. DTOs and Validation**
|
||||||
|
- Use class-validator decorators for input validation
|
||||||
|
- Create separate DTOs for different operations (create, update, query)
|
||||||
|
- Implement proper transformation with class-transformer
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
export class CreateUserDto {
|
||||||
|
@IsString()
|
||||||
|
@IsNotEmpty()
|
||||||
|
@Length(2, 50)
|
||||||
|
name: string;
|
||||||
|
|
||||||
|
@IsEmail()
|
||||||
|
email: string;
|
||||||
|
|
||||||
|
@IsString()
|
||||||
|
@MinLength(8)
|
||||||
|
@Matches(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)/, {
|
||||||
|
message: 'Password must contain uppercase, lowercase and number',
|
||||||
|
})
|
||||||
|
password: string;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Database Integration
|
||||||
|
|
||||||
|
### **TypeORM Integration**
|
||||||
|
- Use TypeORM as the primary ORM for database operations
|
||||||
|
- Define entities with proper decorators and relationships
|
||||||
|
- Implement repository pattern for data access
|
||||||
|
- Use migrations for database schema changes
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
@Entity('users')
|
||||||
|
export class User {
|
||||||
|
@PrimaryGeneratedColumn('uuid')
|
||||||
|
id: string;
|
||||||
|
|
||||||
|
@Column({ unique: true })
|
||||||
|
email: string;
|
||||||
|
|
||||||
|
@Column()
|
||||||
|
name: string;
|
||||||
|
|
||||||
|
@Column({ select: false })
|
||||||
|
password: string;
|
||||||
|
|
||||||
|
@OneToMany(() => Post, post => post.author)
|
||||||
|
posts: Post[];
|
||||||
|
|
||||||
|
@CreateDateColumn()
|
||||||
|
createdAt: Date;
|
||||||
|
|
||||||
|
@UpdateDateColumn()
|
||||||
|
updatedAt: Date;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Custom Repositories**
|
||||||
|
- Extend base repository functionality when needed
|
||||||
|
- Implement complex queries in repository methods
|
||||||
|
- Use query builders for dynamic queries
|
||||||
|
|
||||||
|
## Authentication and Authorization
|
||||||
|
|
||||||
|
### **JWT Authentication**
|
||||||
|
- Implement JWT-based authentication with Passport
|
||||||
|
- Use guards to protect routes
|
||||||
|
- Create custom decorators for user context
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
@Injectable()
|
||||||
|
export class JwtAuthGuard extends AuthGuard('jwt') {
|
||||||
|
canActivate(context: ExecutionContext): boolean | Promise<boolean> {
|
||||||
|
return super.canActivate(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
handleRequest(err: any, user: any, info: any) {
|
||||||
|
if (err || !user) {
|
||||||
|
throw err || new UnauthorizedException();
|
||||||
|
}
|
||||||
|
return user;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Role-Based Access Control**
|
||||||
|
- Implement RBAC using custom guards and decorators
|
||||||
|
- Use metadata to define required roles
|
||||||
|
- Create flexible permission systems
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
@SetMetadata('roles', ['admin'])
|
||||||
|
@UseGuards(JwtAuthGuard, RolesGuard)
|
||||||
|
@Delete(':id')
|
||||||
|
async remove(@Param('id') id: string): Promise<void> {
|
||||||
|
return this.usersService.remove(id);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Error Handling and Logging
|
||||||
|
|
||||||
|
### **Exception Filters**
|
||||||
|
- Create global exception filters for consistent error responses
|
||||||
|
- Handle different types of exceptions appropriately
|
||||||
|
- Log errors with proper context
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
@Catch()
|
||||||
|
export class AllExceptionsFilter implements ExceptionFilter {
|
||||||
|
private readonly logger = new Logger(AllExceptionsFilter.name);
|
||||||
|
|
||||||
|
catch(exception: unknown, host: ArgumentsHost): void {
|
||||||
|
const ctx = host.switchToHttp();
|
||||||
|
const response = ctx.getResponse<Response>();
|
||||||
|
const request = ctx.getRequest<Request>();
|
||||||
|
|
||||||
|
const status = exception instanceof HttpException
|
||||||
|
? exception.getStatus()
|
||||||
|
: HttpStatus.INTERNAL_SERVER_ERROR;
|
||||||
|
|
||||||
|
this.logger.error(`${request.method} ${request.url}`, exception);
|
||||||
|
|
||||||
|
response.status(status).json({
|
||||||
|
statusCode: status,
|
||||||
|
timestamp: new Date().toISOString(),
|
||||||
|
path: request.url,
|
||||||
|
message: exception instanceof HttpException
|
||||||
|
? exception.message
|
||||||
|
: 'Internal server error',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Logging**
|
||||||
|
- Use built-in Logger class for consistent logging
|
||||||
|
- Implement proper log levels (error, warn, log, debug, verbose)
|
||||||
|
- Add contextual information to logs
|
||||||
|
|
||||||
|
## Testing Strategies
|
||||||
|
|
||||||
|
### **Unit Testing**
|
||||||
|
- Test services independently using mocks
|
||||||
|
- Use Jest as the testing framework
|
||||||
|
- Create comprehensive test suites for business logic
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
describe('UsersService', () => {
|
||||||
|
let service: UsersService;
|
||||||
|
let repository: Repository<User>;
|
||||||
|
|
||||||
|
beforeEach(async () => {
|
||||||
|
const module: TestingModule = await Test.createTestingModule({
|
||||||
|
providers: [
|
||||||
|
UsersService,
|
||||||
|
{
|
||||||
|
provide: getRepositoryToken(User),
|
||||||
|
useValue: {
|
||||||
|
create: jest.fn(),
|
||||||
|
save: jest.fn(),
|
||||||
|
find: jest.fn(),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}).compile();
|
||||||
|
|
||||||
|
service = module.get<UsersService>(UsersService);
|
||||||
|
repository = module.get<Repository<User>>(getRepositoryToken(User));
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create a user', async () => {
|
||||||
|
const createUserDto = { name: 'John', email: 'john@example.com' };
|
||||||
|
const user = { id: '1', ...createUserDto };
|
||||||
|
|
||||||
|
jest.spyOn(repository, 'create').mockReturnValue(user as User);
|
||||||
|
jest.spyOn(repository, 'save').mockResolvedValue(user as User);
|
||||||
|
|
||||||
|
expect(await service.create(createUserDto)).toEqual(user);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Integration Testing**
|
||||||
|
- Use TestingModule for integration tests
|
||||||
|
- Test complete request/response cycles
|
||||||
|
- Mock external dependencies appropriately
|
||||||
|
|
||||||
|
### **E2E Testing**
|
||||||
|
- Test complete application flows
|
||||||
|
- Use supertest for HTTP testing
|
||||||
|
- Test authentication and authorization flows
|
||||||
|
|
||||||
|
## Performance and Security
|
||||||
|
|
||||||
|
### **Performance Optimization**
|
||||||
|
- Implement caching strategies with Redis
|
||||||
|
- Use interceptors for response transformation
|
||||||
|
- Optimize database queries with proper indexing
|
||||||
|
- Implement pagination for large datasets
|
||||||
|
|
||||||
|
### **Security Best Practices**
|
||||||
|
- Validate all inputs using class-validator
|
||||||
|
- Implement rate limiting to prevent abuse
|
||||||
|
- Use CORS appropriately for cross-origin requests
|
||||||
|
- Sanitize outputs to prevent XSS attacks
|
||||||
|
- Use environment variables for sensitive configuration
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
// Rate limiting example
|
||||||
|
@Controller('auth')
|
||||||
|
@UseGuards(ThrottlerGuard)
|
||||||
|
export class AuthController {
|
||||||
|
@Post('login')
|
||||||
|
@Throttle(5, 60) // 5 requests per minute
|
||||||
|
async login(@Body() loginDto: LoginDto) {
|
||||||
|
return this.authService.login(loginDto);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Configuration Management
|
||||||
|
|
||||||
|
### **Environment Configuration**
|
||||||
|
- Use @nestjs/config for configuration management
|
||||||
|
- Validate configuration at startup
|
||||||
|
- Use different configs for different environments
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
@Injectable()
|
||||||
|
export class ConfigService {
|
||||||
|
constructor(
|
||||||
|
@Inject(CONFIGURATION_TOKEN)
|
||||||
|
private readonly config: Configuration,
|
||||||
|
) {}
|
||||||
|
|
||||||
|
get databaseUrl(): string {
|
||||||
|
return this.config.database.url;
|
||||||
|
}
|
||||||
|
|
||||||
|
get jwtSecret(): string {
|
||||||
|
return this.config.jwt.secret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Common Pitfalls to Avoid
|
||||||
|
|
||||||
|
- **Circular Dependencies:** Avoid importing modules that create circular references
|
||||||
|
- **Heavy Controllers:** Don't put business logic in controllers
|
||||||
|
- **Missing Error Handling:** Always handle errors appropriately
|
||||||
|
- **Improper DI Usage:** Don't create instances manually when DI can handle it
|
||||||
|
- **Missing Validation:** Always validate input data
|
||||||
|
- **Synchronous Operations:** Use async/await for database and external API calls
|
||||||
|
- **Memory Leaks:** Properly dispose of subscriptions and event listeners
|
||||||
|
|
||||||
|
## Development Workflow
|
||||||
|
|
||||||
|
### **Development Setup**
|
||||||
|
1. Use NestJS CLI for scaffolding: `nest generate module users`
|
||||||
|
2. Follow consistent file organization
|
||||||
|
3. Use TypeScript strict mode
|
||||||
|
4. Implement comprehensive linting with ESLint
|
||||||
|
5. Use Prettier for code formatting
|
||||||
|
|
||||||
|
### **Code Review Checklist**
|
||||||
|
- [ ] Proper use of decorators and dependency injection
|
||||||
|
- [ ] Input validation with DTOs and class-validator
|
||||||
|
- [ ] Appropriate error handling and exception filters
|
||||||
|
- [ ] Consistent naming conventions
|
||||||
|
- [ ] Proper module organization and imports
|
||||||
|
- [ ] Security considerations (authentication, authorization, input sanitization)
|
||||||
|
- [ ] Performance considerations (caching, database optimization)
|
||||||
|
- [ ] Comprehensive testing coverage
|
||||||
|
|
||||||
|
## Conclusion
|
||||||
|
|
||||||
|
NestJS provides a powerful, opinionated framework for building scalable Node.js applications. By following these best practices, you can create maintainable, testable, and efficient server-side applications that leverage the full power of TypeScript and modern development patterns.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- End of NestJS Instructions -->
|
||||||
113
instructions/terraform.instructions.md
Normal file
113
instructions/terraform.instructions.md
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
---
|
||||||
|
description: 'Terraform Conventions and Guidelines'
|
||||||
|
applyTo: '**/*.tf'
|
||||||
|
---
|
||||||
|
|
||||||
|
# Terraform Conventions
|
||||||
|
|
||||||
|
## General Instructions
|
||||||
|
|
||||||
|
- Use Terraform to provision and manage infrastructure.
|
||||||
|
- Use version control for your Terraform configurations.
|
||||||
|
|
||||||
|
## Security
|
||||||
|
|
||||||
|
- Always use the latest stable version of Terraform and its providers.
|
||||||
|
- Regularly update your Terraform configurations to incorporate security patches and improvements.
|
||||||
|
- Store sensitive information in a secure manner, such as using AWS Secrets Manager or SSM Parameter Store.
|
||||||
|
- Regularly rotate credentials and secrets.
|
||||||
|
- Automate the rotation of secrets, where possible.
|
||||||
|
- Use AWS environment variables to reference values stored in AWS Secrets Manager or SSM Parameter Store.
|
||||||
|
- This keeps sensitive values out of your Terraform state files.
|
||||||
|
- Never commit sensitive information such as AWS credentials, API keys, passwords, certificates, or Terraform state to version control.
|
||||||
|
- Use `.gitignore` to exclude files containing sensitive information from version control.
|
||||||
|
- Always mark sensitive variables as `sensitive = true` in your Terraform configurations.
|
||||||
|
- This prevents sensitive values from being displayed in the Terraform plan or apply output.
|
||||||
|
- Use IAM roles and policies to control access to resources.
|
||||||
|
- Follow the principle of least privilege when assigning permissions.
|
||||||
|
- Use security groups and network ACLs to control network access to resources.
|
||||||
|
- Deploy resources in private subnets whenever possible.
|
||||||
|
- Use public subnets only for resources that require direct internet access, such as load balancers or NAT gateways.
|
||||||
|
- Use encryption for sensitive data at rest and in transit.
|
||||||
|
- Enable encryption for EBS volumes, S3 buckets, and RDS instances.
|
||||||
|
- Use TLS for communication between services.
|
||||||
|
- Regularly review and audit your Terraform configurations for security vulnerabilities.
|
||||||
|
- Use tools like `trivy`, `tfsec`, or `checkov` to scan your Terraform configurations for security issues.
|
||||||
|
|
||||||
|
## Modularity
|
||||||
|
|
||||||
|
- Use separate projects for each major component of the infrastructure; this:
|
||||||
|
- Reduces complexity
|
||||||
|
- Makes it easier to manage and maintain configurations
|
||||||
|
- Speeds up `plan` and `apply` operations
|
||||||
|
- Allows for independent development and deployment of components
|
||||||
|
- Reduces the risk of accidental changes to unrelated resources
|
||||||
|
- Use modules to avoid duplication of configurations.
|
||||||
|
- Use modules to encapsulate related resources and configurations.
|
||||||
|
- Use modules to simplify complex configurations and improve readability.
|
||||||
|
- Avoid circular dependencies between modules.
|
||||||
|
- Avoid unnecessary layers of abstraction; use modules only when they add value.
|
||||||
|
- Avoid using modules for single resources; only use them for groups of related resources.
|
||||||
|
- Avoid excessive nesting of modules; keep the module hierarchy shallow.
|
||||||
|
- Use `output` blocks to expose important information about your infrastructure.
|
||||||
|
- Use outputs to provide information that is useful for other modules or for users of the configuration.
|
||||||
|
- Avoid exposing sensitive information in outputs; mark outputs as `sensitive = true` if they contain sensitive data.
|
||||||
|
|
||||||
|
## Maintainability
|
||||||
|
|
||||||
|
- Prioritize readability, clarity, and maintainability.
|
||||||
|
- Use comments to explain complex configurations and why certain design decisions were made.
|
||||||
|
- Write concise, efficient, and idiomatic configs that are easy to understand.
|
||||||
|
- Avoid using hard-coded values; use variables for configuration instead.
|
||||||
|
- Set default values for variables, where appropriate.
|
||||||
|
- Use data sources to retrieve information about existing resources instead of requiring manual configuration.
|
||||||
|
- This reduces the risk of errors, ensures that configurations are always up-to-date, and allows configurations to adapt to different environments.
|
||||||
|
- Avoid using data sources for resources that are created within the same configuration; use outputs instead.
|
||||||
|
- Avoid, or remove, unnecessary data sources; they slow down `plan` and `apply` operations.
|
||||||
|
- Use `locals` for values that are used multiple times to ensure consistency.
|
||||||
|
|
||||||
|
## Style and Formatting
|
||||||
|
|
||||||
|
- Follow Terraform best practices for resource naming and organization.
|
||||||
|
- Use descriptive names for resources, variables, and outputs.
|
||||||
|
- Use consistent naming conventions across all configurations.
|
||||||
|
- Follow the **Terraform Style Guide** for formatting.
|
||||||
|
- Use consistent indentation (2 spaces for each level).
|
||||||
|
- Group related resources together in the same file.
|
||||||
|
- Use a consistent naming convention for resource groups (e.g., `providers.tf`, `variables.tf`, `network.tf`, `ecs.tf`, `mariadb.tf`).
|
||||||
|
- Place `depends_on` blocks at the very beginning of resource definitions to make dependency relationships clear.
|
||||||
|
- Use `depends_on` only when necessary to avoid circular dependencies.
|
||||||
|
- Place `for_each` and `count` blocks at the beginning of resource definitions to clarify the resource's instantiation logic.
|
||||||
|
- Use `for_each` for collections and `count` for numeric iterations.
|
||||||
|
- Place them after `depends_on` blocks, if they are present.
|
||||||
|
- Place `lifecycle` blocks at the end of resource definitions.
|
||||||
|
- Alphabetize providers, variables, data sources, resources, and outputs within each file for easier navigation.
|
||||||
|
- Group related attributes together within blocks.
|
||||||
|
- Place required attributes before optional ones, and comment each section accordingly.
|
||||||
|
- Separate attribute sections with blank lines to improve readability.
|
||||||
|
- Alphabetize attributes within each section for easier navigation.
|
||||||
|
- Use blank lines to separate logical sections of your configurations.
|
||||||
|
- Use `terraform fmt` to format your configurations automatically.
|
||||||
|
- Use `terraform validate` to check for syntax errors and ensure configurations are valid.
|
||||||
|
- Use `tflint` to check for style violations and ensure configurations follow best practices.
|
||||||
|
- Run `tflint` regularly to catch style issues early in the development process.
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
- Always include `description` and `type` attributes for variables and outputs.
|
||||||
|
- Use clear and concise descriptions to explain the purpose of each variable and output.
|
||||||
|
- Use appropriate types for variables (e.g., `string`, `number`, `bool`, `list`, `map`).
|
||||||
|
- Document your Terraform configurations using comments, where appropriate.
|
||||||
|
- Use comments to explain the purpose of resources and variables.
|
||||||
|
- Use comments to explain complex configurations or decisions.
|
||||||
|
- Avoid redundant comments; comments should add value and clarity.
|
||||||
|
- Include a `README.md` file in each project to provide an overview of the project and its structure.
|
||||||
|
- Include instructions for setting up and using the configurations.
|
||||||
|
- Use `terraform-docs` to generate documentation for your configurations automatically.
|
||||||
|
|
||||||
|
## Testing
|
||||||
|
|
||||||
|
- Write tests to validate the functionality of your Terraform configurations.
|
||||||
|
- Use the `.tftest.hcl` extension for test files.
|
||||||
|
- Write tests to cover both positive and negative scenarios.
|
||||||
|
- Ensure tests are idempotent and can be run multiple times without side effects.
|
||||||
30
prompts/playwright-automation-fill-in-form.prompt.md
Normal file
30
prompts/playwright-automation-fill-in-form.prompt.md
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
---
|
||||||
|
description: 'Automate filling in a form using Playwright MCP'
|
||||||
|
mode: agent
|
||||||
|
tools: ['playwright']
|
||||||
|
model: 'Claude Sonnet 4'
|
||||||
|
---
|
||||||
|
|
||||||
|
# Automating Filling in a Form with Playwright MCP
|
||||||
|
|
||||||
|
Your goal is to automate the process of filling in a form using Playwright MCP.
|
||||||
|
|
||||||
|
## Specific Instructions
|
||||||
|
|
||||||
|
Navigate to https://forms.microsoft.com/url-of-my-form
|
||||||
|
|
||||||
|
### Fill in the form with the following details:
|
||||||
|
|
||||||
|
1. Show: playwright live
|
||||||
|
|
||||||
|
2. Date: 15 July
|
||||||
|
|
||||||
|
3. Time: 1:00 AM
|
||||||
|
|
||||||
|
4. Topic: Playwright Live - Latest updates on Playwright MCP + Live Demo
|
||||||
|
|
||||||
|
5. Upload image: /Users/myuserName/Downloads/my-image.png
|
||||||
|
|
||||||
|
DO NOT SUBMIT THE FORM.
|
||||||
|
|
||||||
|
Ask for a review of the form before submitting it.
|
||||||
19
prompts/playwright-explore-website.prompt.md
Normal file
19
prompts/playwright-explore-website.prompt.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
mode: agent
|
||||||
|
description: 'Website exploration for testing using Playwright MCP'
|
||||||
|
tools: ['changes', 'codebase', 'editFiles', 'fetch', 'findTestFiles', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'playwright']
|
||||||
|
model: 'Claude Sonnet 4'
|
||||||
|
---
|
||||||
|
|
||||||
|
# Website Exploration for Testing
|
||||||
|
|
||||||
|
Your goal is to explore the website and identify key functionalities.
|
||||||
|
|
||||||
|
## Specific Instructions
|
||||||
|
|
||||||
|
1. Navigate to the provided URL using the Playwright MCP Server. If no URL is provided, ask the user to provide one.
|
||||||
|
2. Identify and interact with 3-5 core features or user flows.
|
||||||
|
3. Document the user interactions, relevant UI elements (and their locators), and the expected outcomes.
|
||||||
|
4. Close the browser context upon completion.
|
||||||
|
5. Provide a concise summary of your findings.
|
||||||
|
6. Propose and generate test cases based on the exploration.
|
||||||
19
prompts/playwright-generate-test.prompt.md
Normal file
19
prompts/playwright-generate-test.prompt.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
mode: agent
|
||||||
|
description: 'Generate a Playwright test based on a scenario using Playwright MCP'
|
||||||
|
tools: ['changes', 'codebase', 'editFiles', 'fetch', 'findTestFiles', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'playwright']
|
||||||
|
model: 'Claude Sonnet 4'
|
||||||
|
---
|
||||||
|
|
||||||
|
# Test Generation with Playwright MCP
|
||||||
|
|
||||||
|
Your goal is to generate a Playwright test based on the provided scenario after completing all prescribed steps.
|
||||||
|
|
||||||
|
## Specific Instructions
|
||||||
|
|
||||||
|
- You are given a scenario, and you need to generate a playwright test for it. If the user does not provide a scenario, you will ask them to provide one.
|
||||||
|
- DO NOT generate test code prematurely or based solely on the scenario without completing all prescribed steps.
|
||||||
|
- DO run steps one by one using the tools provided by the Playwright MCP.
|
||||||
|
- Only after all steps are completed, emit a Playwright TypeScript test that uses `@playwright/test` based on message history
|
||||||
|
- Save generated test file in the tests directory
|
||||||
|
- Execute the test file and iterate until the test passes
|
||||||
156
prompts/repo-story-time.prompt.md
Normal file
156
prompts/repo-story-time.prompt.md
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
---
|
||||||
|
mode: 'agent'
|
||||||
|
description: 'Generate a comprehensive repository summary and narrative story from commit history'
|
||||||
|
tools: ['changes', 'codebase', 'editFiles', 'githubRepo', 'runCommands', 'runTasks', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection']
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
## Role
|
||||||
|
|
||||||
|
You're a senior technical analyst and storyteller with expertise in repository archaeology, code pattern analysis, and narrative synthesis. Your mission is to transform raw repository data into compelling technical narratives that reveal the human stories behind the code.
|
||||||
|
|
||||||
|
## Task
|
||||||
|
|
||||||
|
Transform any repository into a comprehensive analysis with two deliverables:
|
||||||
|
|
||||||
|
1. **REPOSITORY_SUMMARY.md** - Technical architecture and purpose overview
|
||||||
|
2. **THE_STORY_OF_THIS_REPO.md** - Narrative story from commit history analysis
|
||||||
|
|
||||||
|
**CRITICAL**: You must CREATE and WRITE these files with complete markdown content. Do NOT output the markdown content in the chat - use the `editFiles` tool to create the actual files in the repository root directory.
|
||||||
|
|
||||||
|
## Methodology
|
||||||
|
|
||||||
|
### Phase 1: Repository Exploration
|
||||||
|
|
||||||
|
**EXECUTE these commands immediately** to understand the repository structure and purpose:
|
||||||
|
|
||||||
|
1. Get repository overview by running:
|
||||||
|
`Get-ChildItem -Recurse -Include "*.md","*.json","*.yaml","*.yml" | Select-Object -First 20 | Select-Object Name, DirectoryName`
|
||||||
|
|
||||||
|
2. Understand project structure by running:
|
||||||
|
`Get-ChildItem -Recurse -Directory | Where-Object {$_.Name -notmatch "(node_modules|\.git|bin|obj)"} | Select-Object -First 30 | Format-Table Name, FullName`
|
||||||
|
|
||||||
|
After executing these commands, use semantic search to understand key concepts and technologies. Look for:
|
||||||
|
- Configuration files (package.json, pom.xml, requirements.txt, etc.)
|
||||||
|
- README files and documentation
|
||||||
|
- Main source directories
|
||||||
|
- Test directories
|
||||||
|
- Build/deployment configurations
|
||||||
|
|
||||||
|
### Phase 2: Technical Deep Dive
|
||||||
|
Create comprehensive technical inventory:
|
||||||
|
- **Purpose**: What problem does this repository solve?
|
||||||
|
- **Architecture**: How is the code organized?
|
||||||
|
- **Technologies**: What languages, frameworks, and tools are used?
|
||||||
|
- **Key Components**: What are the main modules/services/features?
|
||||||
|
- **Data Flow**: How does information move through the system?
|
||||||
|
|
||||||
|
### Phase 3: Commit History Analysis
|
||||||
|
|
||||||
|
**EXECUTE these git commands systematically** to understand repository evolution:
|
||||||
|
|
||||||
|
**Step 1: Basic Statistics** - Run these commands to get repository metrics:
|
||||||
|
- `git rev-list --all --count` (total commit count)
|
||||||
|
- `(git log --oneline --since="1 year ago").Count` (commits in last year)
|
||||||
|
|
||||||
|
**Step 2: Contributor Analysis** - Run this command:
|
||||||
|
- `git shortlog -sn --since="1 year ago" | Select-Object -First 20`
|
||||||
|
|
||||||
|
**Step 3: Activity Patterns** - Run this command:
|
||||||
|
- `git log --since="1 year ago" --format="%ai" | ForEach-Object { $_.Substring(0,7) } | Group-Object | Sort-Object Count -Descending | Select-Object -First 12`
|
||||||
|
|
||||||
|
**Step 4: Change Pattern Analysis** - Run these commands:
|
||||||
|
- `git log --since="1 year ago" --oneline --grep="feat|fix|update|add|remove" | Select-Object -First 50`
|
||||||
|
- `git log --since="1 year ago" --name-only --oneline | Where-Object { $_ -notmatch "^[a-f0-9]" } | Group-Object | Sort-Object Count -Descending | Select-Object -First 20`
|
||||||
|
|
||||||
|
**Step 5: Collaboration Patterns** - Run this command:
|
||||||
|
- `git log --since="1 year ago" --merges --oneline | Select-Object -First 20`
|
||||||
|
|
||||||
|
**Step 6: Seasonal Analysis** - Run this command:
|
||||||
|
- `git log --since="1 year ago" --format="%ai" | ForEach-Object { $_.Substring(5,2) } | Group-Object | Sort-Object Name`
|
||||||
|
|
||||||
|
**Important**: Execute each command and analyze the output before proceeding to the next step.
|
||||||
|
**Important**: Use your best judgment to execute additional commands not listed above based on the output of previous commands or the repository's specific content.
|
||||||
|
|
||||||
|
### Phase 4: Pattern Recognition
|
||||||
|
Look for these narrative elements:
|
||||||
|
- **Characters**: Who are the main contributors? What are their specialties?
|
||||||
|
- **Seasons**: Are there patterns by month/quarter? Holiday effects?
|
||||||
|
- **Themes**: What types of changes dominate? (features, fixes, refactoring)
|
||||||
|
- **Conflicts**: Are there areas of frequent change or contention?
|
||||||
|
- **Evolution**: How has the repository grown and changed over time?
|
||||||
|
|
||||||
|
## Output Format
|
||||||
|
|
||||||
|
### REPOSITORY_SUMMARY.md Structure
|
||||||
|
```markdown
|
||||||
|
# Repository Analysis: [Repo Name]
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
Brief description of what this repository does and why it exists.
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
High-level technical architecture and organization.
|
||||||
|
|
||||||
|
## Key Components
|
||||||
|
- **Component 1**: Description and purpose
|
||||||
|
- **Component 2**: Description and purpose
|
||||||
|
[Continue for all major components]
|
||||||
|
|
||||||
|
## Technologies Used
|
||||||
|
List of programming languages, frameworks, tools, and platforms.
|
||||||
|
|
||||||
|
## Data Flow
|
||||||
|
How information moves through the system.
|
||||||
|
|
||||||
|
## Team and Ownership
|
||||||
|
Who maintains different parts of the codebase.
|
||||||
|
```
|
||||||
|
|
||||||
|
### THE_STORY_OF_THIS_REPO.md Structure
|
||||||
|
```markdown
|
||||||
|
# The Story of [Repo Name]
|
||||||
|
|
||||||
|
## The Chronicles: A Year in Numbers
|
||||||
|
Statistical overview of the past year's activity.
|
||||||
|
|
||||||
|
## Cast of Characters
|
||||||
|
Profiles of main contributors with their specialties and impact.
|
||||||
|
|
||||||
|
## Seasonal Patterns
|
||||||
|
Monthly/quarterly analysis of development activity.
|
||||||
|
|
||||||
|
## The Great Themes
|
||||||
|
Major categories of work and their significance.
|
||||||
|
|
||||||
|
## Plot Twists and Turning Points
|
||||||
|
Notable events, major changes, or interesting patterns.
|
||||||
|
|
||||||
|
## The Current Chapter
|
||||||
|
Where the repository stands today and future implications.
|
||||||
|
```
|
||||||
|
|
||||||
|
## Key Instructions
|
||||||
|
|
||||||
|
1. **Be Specific**: Use actual file names, commit messages, and contributor names
|
||||||
|
2. **Find Stories**: Look for interesting patterns, not just statistics
|
||||||
|
3. **Context Matters**: Explain why patterns exist (holidays, releases, incidents)
|
||||||
|
4. **Human Element**: Focus on the people and teams behind the code
|
||||||
|
5. **Technical Depth**: Balance narrative with technical accuracy
|
||||||
|
6. **Evidence-Based**: Support observations with actual git data
|
||||||
|
|
||||||
|
## Success Criteria
|
||||||
|
|
||||||
|
- Both markdown files are **ACTUALLY CREATED** with complete, comprehensive content using the `editFiles` tool
|
||||||
|
- **NO markdown content should be output to chat** - all content must be written directly to the files
|
||||||
|
- Technical summary accurately represents repository architecture
|
||||||
|
- Narrative story reveals human patterns and interesting insights
|
||||||
|
- Git commands provide concrete evidence for all claims
|
||||||
|
- Analysis reveals both technical and cultural aspects of development
|
||||||
|
- Files are ready to use immediately without any copy/paste from chat dialog
|
||||||
|
|
||||||
|
## Critical Final Instructions
|
||||||
|
|
||||||
|
**DO NOT** output markdown content in the chat. **DO** use the `editFiles` tool to create both files with complete content. The deliverables are the actual files, not chat output.
|
||||||
|
|
||||||
|
Remember: Every repository tells a story. Your job is to uncover that story through systematic analysis and present it in a way that both technical and non-technical audiences can appreciate.
|
||||||
Loading…
x
Reference in New Issue
Block a user