Merge pull request #12 from github/postgre-dba-chatmode

Adding PostgreSQL DBA chatmode
This commit is contained in:
Aaron Powell 2025-07-02 09:14:37 +10:00 committed by GitHub
commit c525d389d4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 21 additions and 4 deletions

View File

@ -27,7 +27,7 @@ Team and project-specific instructions to enhance GitHub Copilot's behavior for
- [Bicep Code Best Practices](instructions/bicep-code-best-practices.md) - Infrastructure as Code with Bicep - [Bicep Code Best Practices](instructions/bicep-code-best-practices.md) - Infrastructure as Code with Bicep
- [Blazor](instructions/blazor.md) - Blazor component and application patterns - [Blazor](instructions/blazor.md) - Blazor component and application patterns
- [Cmake Vcpkg](instructions/cmake-vcpkg.md) - C++ project configuration and package management - [Cmake Vcpkg](instructions/cmake-vcpkg.md) - C++ project configuration and package management
- [Copilot thought logging](instructions/copilot-thought-logging.instructions.md) see process Copilot is following where you can edit this to reshape the interaction or save when follow up may be needed - [Copilot Process tracking Instructions](instructions/copilot-thought-logging.instructions.md) - See process Copilot is following where you can edit this to reshape the interaction or save when follow up may be needed
- [Genaiscript](instructions/genaiscript.md) - AI-powered script generation guidelines - [Genaiscript](instructions/genaiscript.md) - AI-powered script generation guidelines
- [Generate Modern Terraform Code For Azure](instructions/generate-modern-terraform-code-for-azure.md) - Guidelines for generating modern Terraform code for Azure - [Generate Modern Terraform Code For Azure](instructions/generate-modern-terraform-code-for-azure.md) - Guidelines for generating modern Terraform code for Azure
- [Markdown](instructions/markdown.md) - Documentation and content creation standards - [Markdown](instructions/markdown.md) - Documentation and content creation standards
@ -67,6 +67,7 @@ Ready-to-use prompt templates for specific development scenarios and tasks. Thes
Custom chat modes define specific behaviors and tools for GitHub Copilot Chat, enabling enhanced context-aware assistance for particular tasks or workflows. These `.chatmode.md` files can be loaded by selecting "Chat with Custom Mode" from the Copilot menu. Custom chat modes define specific behaviors and tools for GitHub Copilot Chat, enabling enhanced context-aware assistance for particular tasks or workflows. These `.chatmode.md` files can be loaded by selecting "Chat with Custom Mode" from the Copilot menu.
- [Database Administrator Chat Mode](chatmodes/PostgreSQL%20DBA.chatmode.md) - Work with PostgreSQL databases using the PostgreSQL extension.
- [Planning mode instructions](chatmodes/planner.chatmode.md) - Generate an implementation plan for new features or refactoring existing code. - [Planning mode instructions](chatmodes/planner.chatmode.md) - Generate an implementation plan for new features or refactoring existing code.

View File

@ -0,0 +1,15 @@
---
description: 'Work with PostgreSQL databases using the PostgreSQL extension.'
tools: ['codebase', 'editFiles', 'githubRepo', 'runCommands', 'database', 'pgsql_bulkLoadCsv', 'pgsql_connect', 'pgsql_describeCsv', 'pgsql_disconnect', 'pgsql_listDatabases', 'pgsql_listServers', 'pgsql_modifyDatabase', 'pgsql_open_script', 'pgsql_query', 'pgsql_visualizeSchema']
---
# Database Administrator Chat Mode
You are a PostgreSQL Database Administrator (DBA) with expertise in managing and maintaining PostgreSQL database systems. You can perform tasks such as:
- Creating and managing databases
- Writing and optimizing SQL queries
- Performing database backups and restores
- Monitoring database performance
- Implementing security measures
You have access to various tools that allow you to interact with databases, execute queries, and manage database configurations. **Always** use the tools to inspect the database, do not look into the codebase.

View File

@ -1,6 +1,7 @@
--- ---
applyTo: '**' applyTo: '**'
mode: "agent" mode: "agent"
description: 'See process Copilot is following where you can edit this to reshape the interaction or save when follow up may be needed'
--- ---
# Copilot Process tracking Instructions # Copilot Process tracking Instructions

View File

@ -177,7 +177,7 @@ function generateReadme() {
for (const file of instructionFiles) { for (const file of instructionFiles) {
const filePath = path.join(instructionsDir, file); const filePath = path.join(instructionsDir, file);
const title = extractTitle(filePath); const title = extractTitle(filePath);
const link = `instructions/${file}`; const link = encodeURI(`instructions/${file}`);
// Check if there's a description in the frontmatter // Check if there's a description in the frontmatter
const customDescription = extractDescription(filePath); const customDescription = extractDescription(filePath);
@ -237,7 +237,7 @@ function generateReadme() {
const filePath = path.join(promptsDir, file); const filePath = path.join(promptsDir, file);
const title = extractTitle(filePath); const title = extractTitle(filePath);
const description = extractDescription(filePath); const description = extractDescription(filePath);
const link = `prompts/${file}`; const link = encodeURI(`prompts/${file}`);
if (description) { if (description) {
newPromptsContent += `- [${title}](${link}) - ${description}\n`; newPromptsContent += `- [${title}](${link}) - ${description}\n`;
@ -359,7 +359,7 @@ function generateReadme() {
for (const file of chatmodeFiles) { for (const file of chatmodeFiles) {
const filePath = path.join(chatmodesDir, file); const filePath = path.join(chatmodesDir, file);
const title = extractTitle(filePath); const title = extractTitle(filePath);
const link = `chatmodes/${file}`; const link = encodeURI(`chatmodes/${file}`);
// Check if there's a description in the frontmatter // Check if there's a description in the frontmatter
const customDescription = extractDescription(filePath); const customDescription = extractDescription(filePath);