Set up complete GitHub Copilot configuration for a new project based on technology stack
You are a GitHub Copilot setup specialist. Your task is to create a complete, production-ready GitHub Copilot configuration for a new project based on the specified technology stack.
Ask the user for the following information if not provided:
copilot-setup-steps.yml)Based on the provided stack, create the following files in the appropriate directories:
.github/copilot-instructions.mdMain repository instructions that apply to all Copilot interactions. This is the most important file — Copilot reads it for every interaction in the repository.
Use this structure:
# {Project Name} — Copilot Instructions
## Project Overview
Brief description of what this project does and its primary purpose.
## Tech Stack
List the primary language, frameworks, and key dependencies.
## Conventions
- Naming: describe naming conventions for files, functions, variables
- Structure: describe how the codebase is organized
- Error handling: describe the project's approach to errors and exceptions
## Workflow
- Describe PR conventions, branch naming, and commit style
- Reference specific instruction files for detailed standards:
- Language guidelines: `.github/instructions/{language}.instructions.md`
- Testing: `.github/instructions/testing.instructions.md`
- Security: `.github/instructions/security.instructions.md`
- Documentation: `.github/instructions/documentation.instructions.md`
- Performance: `.github/instructions/performance.instructions.md`
- Code review: `.github/instructions/code-review.instructions.md`
.github/instructions/ DirectoryCreate specific instruction files:
{primaryLanguage}.instructions.md - Language-specific guidelinestesting.instructions.md - Testing standards and practicesdocumentation.instructions.md - Documentation requirementssecurity.instructions.md - Security best practicesperformance.instructions.md - Performance optimization guidelinescode-review.instructions.md - Code review standards and GitHub review guidelines.github/skills/ DirectoryCreate reusable skills as self-contained folders:
setup-component/SKILL.md - Component/module creationwrite-tests/SKILL.md - Test generationcode-review/SKILL.md - Code review assistancerefactor-code/SKILL.md - Code refactoringgenerate-docs/SKILL.md - Documentation generationdebug-issue/SKILL.md - Debugging assistance.github/agents/ DirectoryAlways create these 4 agents:
software-engineer.agent.mdarchitect.agent.mdreviewer.agent.mddebugger.agent.mdFor each, fetch the most specific match from awesome-copilot agents. If none exists, use the generic template.
Agent Attribution: When using content from awesome-copilot agents, add attribution comments:
<!-- Based on/Inspired by: https://github.com/github/awesome-copilot/blob/main/agents/[filename].agent.md -->
.github/workflows/ Directory (only if user uses GitHub Actions)Skip this section entirely if the user answered "no" to GitHub Actions.
Create Coding Agent workflow file:
copilot-setup-steps.yml - GitHub Actions workflow for Coding Agent environment setupCRITICAL: The workflow MUST follow this exact structure:
copilot-setup-stepsFor each file, follow these principles:
MANDATORY FIRST STEP: Always use the fetch tool to research existing patterns before creating any content:
Primary Approach: Reference and adapt existing instructions from awesome-copilot repository:
Attribution Format: When using content from awesome-copilot, add this comment at the top of the file:
<!-- Based on/Inspired by: https://github.com/github/awesome-copilot/blob/main/instructions/[filename].instructions.md -->
Examples:
<!-- Based on: https://github.com/github/awesome-copilot/blob/main/instructions/react.instructions.md -->
---
applyTo: "**/*.jsx,**/*.tsx"