diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 74c7976a799..812aa295e93 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -2,11 +2,33 @@ > **Note**: For general development guidelines, code style conventions, and AI agent instructions, see [`AGENTS.md`](../AGENTS.md) in the repository root. +## Project Overview + +igraph/rigraph is an R package for network analysis and graph theory with a C/C++ backend. + ## Common Commands for Copilot Chat - Load for development: `pkgload::load_all()` - Run tests: `testthat::test_local(reporter = "check")` +- Run tests for a single file: `testthat::test_local(filter = "foo", reporter = "check")` - Format code: `air format .` - Update documentation: `devtools::document()` +- Build package: `devtools::build()` +- Check package: `devtools::check()` + +## Key Conventions + +- Use `snake_case` for functions and arguments +- Follow tidyverse style guide +- Use roxygen2 with Markdown for documentation +- Run `air format .` before committing +- Add tests for all new functionality +- Use explicit package prefixes (e.g., `withr::local_db_connection()`) + +## Important Files + +- **Do not modify directly**: `src/rinterface.c`, `R/aaa-auto.R` (generated by Stimulus) +- Update generated files: `make -f Makefile-cigraph src/rinterface.c R/aaa-auto.R` +- See `tools/README.md` for Stimulus framework guidelines -Refer to `AGENTS.md` for more instructions. +Refer to `AGENTS.md` for complete instructions. diff --git a/.github/workflows/copilot-setup-steps.yaml b/.github/workflows/copilot-setup-steps.yaml index 766b03a6a30..6ede6cac04d 100644 --- a/.github/workflows/copilot-setup-steps.yaml +++ b/.github/workflows/copilot-setup-steps.yaml @@ -6,10 +6,10 @@ on: workflow_dispatch: push: paths: - - .github/workflows/copilot-setup-steps.yml + - .github/workflows/copilot-setup-steps.yaml pull_request: paths: - - .github/workflows/copilot-setup-steps.yml + - .github/workflows/copilot-setup-steps.yaml jobs: # The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.