Merge branch 'main' into pr/sdolgin/121
This commit is contained in:
commit
9e1bf4b98a
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
|
||||
@ -71,6 +71,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) |
|
||||
| [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) |
|
||||
| [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) |
|
||||
|
||||
> 💡 **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,11 +122,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 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) |
|
||||
| [Repo Story Time](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) |
|
||||
| [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 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) |
|
||||
| [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) |
|
||||
| [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) |
|
||||
@ -171,6 +175,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) |
|
||||
| [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) |
|
||||
| [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) |
|
||||
| [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) |
|
||||
@ -224,4 +229,4 @@ This project may contain trademarks or logos for projects, products, or services
|
||||
trademarks or logos is subject to and must follow
|
||||
[Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
|
||||
Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
|
||||
Any use of third-party trademarks or logos are subject to those third-party's policies.
|
||||
Any use of third-party trademarks or logos are subject to those third-party's policies.
|
||||
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.
|
||||
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
|
||||
Loading…
x
Reference in New Issue
Block a user