Skip to content

Commit 464f172

Browse files
committed
feat: copilot files (instructions and setup steps)
This ensures that when we have the copilot agent writing PRs, it sets up its environment correctly and understands our standards for coding. - Copilot Instructions file ([docs](https://docs.github.com/en/enterprise-cloud@latest/copilot/how-tos/agents/copilot-coding-agent/best-practices-for-using-copilot-to-work-on-tasks#adding-custom-instructions-to-your-repository)) - Copilot Setup Steps ([docs](https://docs.github.com/en/copilot/how-tos/agents/copilot-coding-agent/customizing-the-development-environment-for-copilot-coding-agent#preinstalling-tools-or-dependencies-in-copilots-environment)) Already added to [Evergreen](github/evergreen#382) Signed-off-by: jmeridth <[email protected]>
1 parent 5c4a32a commit 464f172

File tree

2 files changed

+68
-0
lines changed

2 files changed

+68
-0
lines changed

.github/copilot-instructions.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Copilot Instructions
2+
3+
This is a GitHub Action that given an organization or specified repositories, produces information about the [contributors](https://chaoss.community/kb/metric-contributors/) over the specified time period.
4+
5+
## Code Standards
6+
7+
### Required Before Each Commit
8+
9+
- Run `make lint` before committing any changes to ensure proper code linting and formatting.
10+
11+
### Development Flow
12+
13+
- Lint: `make lint`
14+
- Test: `make test`
15+
16+
## Repository Structure
17+
18+
- `Makefile`: Contains commands for linting, testing, and other tasks
19+
- `requirements.txt`: Python dependencies for the project
20+
- `requirements-test.txt`: Python dependencies for testing
21+
- `README.md`: Project documentation and setup instructions
22+
- `setup.py`: Python package setup configuration
23+
- `test_*.py`: Python test files matching the naming convention for test discovery
24+
25+
## Key Guidelines
26+
27+
1. Follow Python best practices and idiomatic patterns
28+
2. Maintain existing code structure and organization
29+
3. Write unit tests for new functionality.
30+
4. Document changes to environment variables in the `README.md` file.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: "Copilot Setup Steps"
2+
3+
# Automatically run the setup steps when they are changed to allow for easy validation, and
4+
# allow manual testing through the repository's "Actions" tab
5+
on:
6+
workflow_dispatch:
7+
push:
8+
paths:
9+
- .github/workflows/copilot-setup-steps.yml
10+
pull_request:
11+
paths:
12+
- .github/workflows/copilot-setup-steps.yml
13+
14+
# Set the permissions to the lowest permissions possible needed for your steps.
15+
# Copilot will be given its own token for its operations.
16+
permissions:
17+
# If you want to clone the repository as part of your setup steps, for example to install dependencies, you'll need the `contents: read` permission. If you don't clone the repository in your setup steps, Copilot will do this for you automatically after the steps complete.
18+
contents: read
19+
20+
jobs:
21+
# The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
22+
copilot-setup-steps:
23+
runs-on: ubuntu-latest
24+
25+
# You can define any steps you want, and they will run before the agent starts.
26+
# If you do not check out your code, Copilot will do this for you.
27+
steps:
28+
- name: Checkout code
29+
uses: actions/[email protected]
30+
31+
- name: Set up Python
32+
uses: actions/[email protected]
33+
with:
34+
python-version: 3.12
35+
36+
- name: Install dependencies
37+
run: |
38+
pip install -r requirements.txt -r requirements-test.txt

0 commit comments

Comments
 (0)