Thank you for your interest in contributing to this repository! This document provides clear guidelines on what contributions we accept and how to submit them.
This repository is an educational GitHub Template created by Capgemini's AI & Software Engineering team. It provides practical, portable, and thoroughly documented examples of GitHub Copilot configuration for real-world projects.
Key Principle: All prompt content must be thoroughly commented to explain the prompting techniques, design rationale, and expected behaviors.
We welcome the following types of contributions:
- Accepted: New custom prompts, chat modes, or instructions that demonstrate prompting techniques and repository setup patterns
- Required: Comprehensive inline comments explaining:
- The prompting technique being demonstrated
- Design rationale and reinforcement strategies
- Expected behavior and outcomes
- Example usage scenarios
- Not Accepted: Generic prompt libraries without educational value or thorough documentation
Example: A new chat mode that demonstrates a specific prompting pattern (e.g., chain-of-thought reasoning) with detailed comments explaining how and why it works.
- Typo fixes in documentation or prompts
- Corrections for changes in GitHub Copilot functionality
- Bug fixes in example code or configurations
- Clarity improvements in comments or explanations
- Improved prompting techniques with clear documentation
- Better reinforcement strategies with explanations
- Additional examples demonstrating edge cases
- Performance or clarity improvements
- Enhanced comments and educational content
- Improvements to README files
- Better explanations of existing features
- Additional usage examples
- Clearer architectural documentation
- Updates to align with current GitHub Copilot features
- Improvements to GitHub Actions workflows
- Better CI/CD processes
- Enhanced development tooling
- Improved repository templates and structures
Prompts without thorough inline comments explaining the techniques used will not be accepted.
This is not a collection of general-purpose prompts. We only accept prompts that serve as educational examples demonstrating specific techniques.
Major changes to existing configurations should be discussed in an issue before submission.
- Check existing issues: Look for related issues or discussions
- Review documentation: Familiarize yourself with the repository structure and existing patterns
- Read SSOT files: Understand the authoritative guidelines in:
.github/copilot-instructions.md- Core policies and workflow.github/instructions/docs.instructions.md- Documentation standards.github/agents/README.md- Agent authoring guide.github/chatmodes/README.md- Chat mode authoring guide (deprecated)README.md- Repository overview and SSOT source map
For significant contributions:
- Create an issue describing your proposed contribution
- Wait for feedback from maintainers
- Proceed once you have general agreement
For minor fixes (typos, small corrections):
- You can proceed directly to creating a pull request
-
Fork: Click the "Fork" button on GitHub to create your own copy of the repository
-
Clone your fork:
git clone https://github.com/YOUR-USERNAME/template-github-copilot.git cd template-github-copilot -
Add upstream remote (to keep your fork synchronized with the original repository):
git remote add upstream https://github.com/Capgemini/template-github-copilot.git
Create a feature branch following our naming conventions:
git checkout -b <type>/<brief-description>Branch Types:
feature/- New features or enhancementsfix/- Bug fixesdocs/- Documentation updatesrefactor/- Code refactoringtest/- Test additions or modificationschore/- Maintenance tasks
Examples:
feature/add-security-chatmodefix/typo-in-developer-modedocs/improve-contributing-guide
-
Keep changes focused: One logical change per pull request
-
Small commits: Make frequent, small commits with clear messages
-
Follow conventions: Use conventional commit format:
<type>: <subject> [optional body] [optional footer]
Commit Types: feat, fix, docs, style, refactor, test, chore
Examples:
feat: Add security-focused agent with threat modelingfix: Correct typo in Developer.agent.mddocs: Improve explanation of prompting techniques
When creating or modifying prompts, always include:
<!--
PURPOSE: [What this section accomplishes]
PROMPTING TECHNIQUE: [The technique being demonstrated]
REINFORCEMENT STRATEGY: [How the instruction is reinforced]
DESIGN RATIONALE: [Why this approach was chosen]
-->Example:
<!--
PURPOSE: Ensure consistent error handling across the codebase
PROMPTING TECHNIQUE: XML semantic tags for critical requirements
REINFORCEMENT STRATEGY:
1. Bold formatting for emphasis
2. Concrete examples with ✅/❌ markers
3. Cross-references to SSOT documentation
DESIGN RATIONALE: Machine-parseable blocks enable AI to recognize
non-negotiable requirements while maintaining human readability
-->Before submitting your pull request, sync your fork with the latest changes:
git fetch upstream
git checkout main
git merge upstream/main
git push origin mainThen rebase your feature branch:
git checkout <type>/<brief-description>
git rebase main- Push your branch to your fork:
git push origin <type>/<brief-description> - Create PR: Go to the original repository on GitHub and click "New Pull Request"
(Your fork repository should also detect the changes and offer a button
Compare & pull request) - Select branches: Choose your fork's branch as the source (set
headrepository to your fork,comparebranch to your feature branch) and the original repository'smainas the target (setbaserepository toCapgemini/template-github-copilot,basebranch tomain) - Complete PR template: Fill out all sections of the pull request template
- Link issues: Reference any related issues using
Fixes #123orCloses #456
Your PR must include:
- Clear description: Explain what changed and why
- Educational value: For new prompts, explain what technique is demonstrated
- Documentation: Update relevant README files or documentation
- No duplication: Link to SSOT files instead of duplicating content
- Thorough comments: All prompt content must be well-commented
- Small scope: Keep PRs focused (target ≤ 400 lines when possible)
- Automated checks: Ensure all CI checks pass (markdown lint, link checker, etc.)
- Maintainer review: At least one maintainer approval required
- Address feedback: Respond to review comments and make requested changes
- Approval: Once approved, your PR will be merged
Reviewers will evaluate:
- Educational quality: Are prompting techniques well-explained?
- Documentation: Are comments thorough and helpful?
- Consistency: Does the contribution align with existing patterns?
- SSOT adherence: Are references used instead of duplication?
- Functionality: For configurations, do they work as intended?
For detailed review criteria, see docs/engineering/code-review-guidelines.md.
When contributing, consider these priority levels:
- High: Corrections to broken functionality, critical documentation fixes
- Medium: Enhancements to existing features, new educational examples
- Low: Nice-to-have improvements, additional documentation
- Questions: Open an issue with the
questionlabel - Discussions: Use GitHub Discussions for broader topics
- Bugs: Open an issue with the
buglabel - Feature requests: Open an issue with the
enhancementlabel
Familiarize yourself with the repository organization:
.github/
├── chatmodes/ # Custom chat mode definitions
├── instructions/ # Domain-specific instruction files
├── prompts/ # Reusable prompt templates
└── workflows/ # GitHub Actions workflows
docs/
├── ADRs/ # Architectural Decision Records
├── PRDs/ # Product Requirements Documents
├── design/ # Design documentation
└── engineering/ # Engineering guidelines
plans/ # Project planning documents
- Use clear, concise language
- Include concrete examples
- Follow the structure in
.github/instructions/docs.instructions.md - Use proper Markdown formatting
- Avoid emojis in formal documentation (except in this guide for visual clarity)
Note: As of October 2025, GitHub renamed "Chat Modes" to "Agents". New contributions should use the
.github/agents/directory with the.agent.mdextension. The.github/chatmodes/directory is maintained for backward compatibility.
- Include comprehensive HTML comments
- Explain prompting techniques explicitly
- Provide both positive and negative examples
- Use consistent formatting and structure
- Reference SSOT files instead of duplicating content
- Follow the language-specific guidelines in
.github/instructions/ - Include comments explaining non-obvious logic
- Provide context for why the example demonstrates the concept
We appreciate all contributors! Your contributions will be recognized in:
- Git commit history
- Release notes (for significant contributions)
- GitHub's contributor tracking
By contributing, you agree that your contributions will be licensed under the same license as this repository.
If you have questions about contributing, please:
- Check this guide and the referenced SSOT documents
- Review existing contributions for examples
- Open an issue with your question
Thank you for helping make this repository a valuable educational resource!