-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Add comprehensive GitHub Copilot instructions for .NET Roslyn repository #80123
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
…ents Co-authored-by: tmat <[email protected]>
…ehensive build, test, and validation guidance Co-authored-by: tmat <[email protected]>
| - **NEVER CANCEL**: Takes 10-30 minutes depending on network. Set timeout to 60+ minutes. | ||
| - Downloads .NET 10.0 SDK to `.dotnet` directory if not found | ||
| - Restores NuGet packages from internal Microsoft feeds | ||
| - **WARNING**: Will fail in external environments due to authentication requirements |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We use a public feeds without authentication requirements.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot please update per feedback
| @@ -0,0 +1,29 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE file in the project root for more information. --> | |||
| <configuration> | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this file intended?
cc @333fred
This PR adds a comprehensive
.github/copilot-instructions.mdfile that provides detailed guidance for GitHub Copilot coding agents working in the Roslyn repository. The instructions cover the complete development workflow from initial setup through testing and validation.Key Features
Comprehensive Build Guidance: Provides exact commands, timing expectations, and timeout requirements based on actual CI configuration analysis. Build timeouts are set at 40+ minutes (CI proven) with recommendations for 60+ minute timeouts.
Critical Timing Information: All commands include explicit "NEVER CANCEL" warnings with scientific timing data:
Cross-Platform Support: Covers Windows, Linux, and macOS development with platform-specific considerations and known limitations.
Validation Scenarios: Detailed manual testing workflows for both compiler and IDE changes, including:
Enterprise-Scale Context: Documents the repository's complexity (17,430+ source files) and internal Microsoft dependencies that require specific access permissions.
Error Documentation: Comprehensive coverage of common failure patterns with specific error messages and troubleshooting guidance.
Repository Requirements
The instructions clearly document that this repository requires access to internal Microsoft Azure DevOps NuGet feeds and will not build in external environments without proper authentication. This is documented transparently with specific error patterns and workarounds for contributors in restricted environments.
The instructions follow the imperative tone requirement ("Run this command", "Do not do this") and provide exhaustive validation steps that anyone with appropriate access can copy-paste and execute successfully.
Fixes #80122.
💡 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.