Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ poetry run pytest -x # Stop at first failure
```bash
poetry run black . # Format code
poetry run black --check . # Check formatting
poetry run mypy # Type checking
```

### Building
Expand Down Expand Up @@ -83,3 +84,13 @@ poetry build
- Update documentation if changing user-facing behavior
- Ensure all tests pass locally before submitting
- Run linters and formatters before committing

## Validation Before Finishing

Before completing any task, **always** run the following checks and fix any issues found:

1. **Format with black** — run `poetry run black .` to auto-format, then verify with `poetry run black --check .`
2. **Type-check with mypy** — run `poetry run mypy` and resolve all reported errors
3. **Run tests** — run `poetry run pytest` (excluding network tests) to confirm nothing is broken

Do not consider a task done until all three checks pass with no errors.
34 changes: 34 additions & 0 deletions .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: "Copilot Setup Steps"

on:
workflow_dispatch:
push:
paths:
- .github/workflows/copilot-setup-steps.yml
pull_request:
paths:
- .github/workflows/copilot-setup-steps.yml

jobs:
# The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
copilot-setup-steps:
runs-on: ubuntu-latest

permissions:
contents: read

steps:
- name: Checkout code
uses: actions/checkout@v6

- name: Install Poetry
run: pipx install poetry

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.13"
cache: poetry

- name: Install dependencies
run: poetry install
Loading