Skip to content

Latest commit

 

History

History
174 lines (121 loc) · 4.78 KB

File metadata and controls

174 lines (121 loc) · 4.78 KB

Contributing to github-copilot-cli

Thank you for your interest in contributing to this GitHub Copilot CLI customization blueprint! This document provides guidelines and instructions for contributing.

Code of Conduct

This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.

How Can I Contribute?

Reporting Bugs

Before creating bug reports, please check existing issues to avoid duplicates. When you create a bug report, include as many details as possible:

  • Use a clear and descriptive title
  • Describe the exact steps to reproduce the problem
  • Provide specific examples (screenshots, code snippets, etc.)
  • Describe the behavior you observed and what you expected
  • Include your environment details:
    • Copilot CLI version (copilot --version)
    • Operating system
    • Shell (bash, zsh, PowerShell, etc.)

Suggesting Enhancements

Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion:

  • Use a clear and descriptive title
  • Provide a detailed description of the suggested enhancement
  • Explain why this enhancement would be useful
  • Include examples of how the feature would be used

Contributing New Customizations

You can contribute:

  • New Agent Skills — Domain-specific capabilities in .github/skills/
  • Custom Agents — Specialized agent profiles in .github/agents/
  • Instructions Files — Scoped instructions for specific contexts
  • Documentation improvements — Better README, guides, or examples

Development Setup

  1. Fork and clone the repository
git clone https://github.com/YOUR-USERNAME/github-copilot-cli.git
cd github-copilot-cli
  1. Set up git hooks (enforces Conventional Commits locally):
./scripts/setup-hooks.sh
  1. Test with Copilot CLI:
copilot

Contribution Guidelines

Agent Skills

When creating a new skill in .github/skills/<name>/SKILL.md:

  • Follow the existing SKILL.md structure
  • Include clear name and description in frontmatter
  • Description should be specific enough for Copilot to decide when to load
  • Provide concrete examples
  • Document any dependencies or prerequisites
  • Test by running /skills info in Copilot CLI

Custom Agents

When creating agents in .github/agents/:

  • Define a clear, focused purpose
  • Specify minimal necessary tools (security principle)
  • Include comprehensive instructions
  • Document limitations and use cases
  • Avoid VS Code-specific features (prompt files, hooks, plugins)
  • Test by running /agent in Copilot CLI

Instructions Files

When creating instruction files:

  • Use descriptive filenames
  • Include proper YAML frontmatter with applyTo glob patterns
  • Keep instructions concise and actionable
  • Test with relevant file types
  • Verify with /instructions in Copilot CLI

Style Guidelines

Markdown

  • Use ATX-style headings (# not underlines)
  • Use fenced code blocks with language identifiers
  • Keep lines under 120 characters when possible
  • Use relative links for internal documentation

YAML Frontmatter

---
name: Display Name
description: Clear, concise description
applyTo: '**/*.{js,ts}'  # For instructions files
---

File Organization

.github/
├── agents/              # Custom agent profiles
│   └── *.agent.md
├── instructions/        # Scoped instructions
│   └── *.instructions.md
└── skills/              # Agent Skills
    └── <name>/
        ├── SKILL.md     # Required
        └── examples/    # Optional

Submitting Changes

Pull Request Process

  1. Create a feature branch
git checkout -b feature/your-feature-name
  1. Make your changes — follow the style guidelines, test thoroughly, update docs

  2. Commit your changes

git add .
git commit -m "feat: add new skill for X"

Important: This repository enforces Conventional Commits.

Use conventional commit messages:

  • feat: — New features (triggers minor version bump)
  • fix: — Bug fixes (triggers patch version bump)
  • feat!: or BREAKING CHANGE: — Breaking changes (triggers major version bump)
  • docs: — Documentation changes
  • style: — Formatting, no code change
  • refactor: — Code restructuring
  • chore: — Maintenance tasks
  1. Push to your fork
git push origin feature/your-feature-name
  1. Open a Pull Request — use a clear title, reference related issues, describe what changed

Questions?

Thank you for contributing! 🎉