Skip to content

Commit 4229a2d

Browse files
jmeridthzkoppert
andauthored
feat: add copilot agent setup and instructions files (#382)
* feat: add copilot agent setup and instructions files 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)) Signed-off-by: jmeridth <[email protected]> * docs: formatting fixes Signed-off-by: Zack Koppert <[email protected]> * Update .github/workflows/copilot-setup-steps.yml Co-authored-by: Zack Koppert <[email protected]> Signed-off-by: Jason Meridth <[email protected]> * fix: linting and fix warning about incorrect pylint disable name change `too-many-positional-arguments` to `too-many-arguments` Signed-off-by: jmeridth <[email protected]> * fix: put the disable argument back one must upgrade pylint before running make lint. 🤦 Signed-off-by: jmeridth <[email protected]> --------- Signed-off-by: jmeridth <[email protected]> Signed-off-by: Zack Koppert <[email protected]> Signed-off-by: Jason Meridth <[email protected]> Co-authored-by: Zack Koppert <[email protected]>
1 parent 3d33fdb commit 4229a2d

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, team, or specified repositories, opens an issue/PR if dependabot is not enabled, or there are more package ecosystems that could be added. It also enables [automated security updates](https://docs.github.com/en/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates#managing-dependabot-security-updates-for-your-repositories) for the repository. Please follow these guidelines when contributing:
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)