-
Notifications
You must be signed in to change notification settings - Fork 31
Add comprehensive GitHub Copilot instructions with header organization and conventional commits requirements for EICrecon development #2028
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
@wdconinc 👋 This repository doesn't have Copilot instructions. With Copilot instructions, I can understand the repository better, work faster and produce higher quality PRs. I can generate a .github/copilot-instructions.md file for you automatically. Click here to open a pre-filled issue and assign it to me. I'll write the instructions, and then tag you for review. |
…ommands and timing warnings Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com>
for more information, see https://pre-commit.ci
@copilot Is this ready for review? |
Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com>
Yes, this is ready for review. I've addressed the formatting issues and ensured all commands are correct. The comprehensive instructions cover eic-shell setup, build processes, timing warnings, validation scenarios, and development workflows as required for EICrecon development. |
@veprbl Can you give this a review? "Only users who did not collaborate with Copilot will satisfy review requirements." |
@copilot Add to these GitHub Copilot instructions the necessary AI instructions to ensure that headers will be sorted alphabetically within each blank-line delimited header block, such that they are more likely to pass the include-what-you-use checks that verify alphabetic header ordering. |
Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com>
Head branch was pushed to by a user without write access
Added comprehensive header alphabetization requirements in commit 88897cc. The instructions now specify that headers must be sorted alphabetically within each blank-line delimited header block to pass IWYU checks, including proper grouping (system, third-party, project headers) and examples of correct ordering. |
@copilot Add to these GitHub Copilot instructions the necessary AI instructions to ensure that local header includes will use quotes and external dependency header includes will use angle brackets. |
@copilot Add to these GitHub Copilot instructions the necessary AI instructions to ensure that pull requests follow the conventional commit specification at https://www.conventionalcommits.org/en/v1.0.0/, so as to clearly highlight breaking changes. Consider within the scope of breaking changes:
|
…brackets) Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com>
Added explicit instructions for header include syntax in commit df0b26e. The instructions now specify that angle brackets |
Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com>
Head branch was pushed to by a user without write access
Added comprehensive conventional commits requirements in commit fdf02d0. The instructions now include:
This ensures clear identification of changes that affect user scripts calling eicrecon or analysis code using output collection names. |
This PR adds a comprehensive
.github/copilot-instructions.md
file that provides GitHub Copilot with detailed instructions for working effectively in the EICrecon codebase, including critical header organization requirements for IWYU compliance and conventional commit standards for breaking change identification.Key Features
Primary Development Environment: The instructions emphasize using
eic-shell
as the only recommended development approach, with step-by-step setup commands:Critical Timing Warnings: Given EICrecon's complex physics dependencies, the instructions include explicit timing expectations and "NEVER CANCEL" warnings:
Code Style and Header Organization: Comprehensive requirements for header management to pass include-what-you-use (IWYU) checks:
<>
for system/third-party headers, quotes""
for project headersConventional Commits and Breaking Changes: Instructions for following the Conventional Commits specification with EICrecon-specific guidance on what constitutes breaking changes:
eicrecon
options, parameter modificationsEcalBarrelClusters
, removing user-dependent collectionsValidated Build Commands: All commands are extracted from official documentation and CI workflows:
Manual Validation Scenarios: Step-by-step validation procedures that Copilot should execute after making changes:
eicrecon --help
,eicrecon --version
)eicrecon -Pplugins=podio,dd4hep
)Repository Navigation: Detailed guidance on key directories and commonly modified files:
src/algorithms/
- Core physics algorithmssrc/factories/
- JANA factory implementationssrc/tests/
- Unit and integration tests with specific test suitesDevelopment Workflows: Instructions for incremental builds, testing specific components, and integration with the CI system that includes multiple compilers, sanitizers, and physics validation tests.
Manual Build Warnings: Clear documentation that manual dependency installation is extremely complex (requiring JANA, ROOT, DD4hep, ACTS, etc.) and strongly discouraged in favor of eic-shell.
The instructions follow the required format with a firm directive to always follow these instructions first, only falling back to additional search if the information is incomplete or incorrect.
Fixes #2027.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.