Skip to content

Add comprehensive GitHub Copilot instructions for .NET Performance repository #4907

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

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

Copilot
Copy link
Contributor

@Copilot Copilot AI commented Aug 13, 2025

This PR adds a comprehensive .github/copilot-instructions.md file that provides GitHub Copilot coding agents with detailed, validated instructions for working effectively in the .NET Performance repository.

Key Features

The instructions file provides:

  • Firm directive to always reference these instructions first before falling back to search or bash commands
  • Complete bootstrap process with exact .NET SDK version requirements (10.0.100-preview.7.25322.101)
  • Validated command sequences with precise timing expectations and timeout requirements
  • Network limitation awareness with workarounds for sandboxed environments that cannot access Microsoft's internal package feeds
  • Imperative tone throughout with specific, copy-pasteable command examples

Validated Components

All commands and timings have been thoroughly tested:

  • .NET SDK installation: ~15 seconds using python3 scripts/dotnet.py install
  • Scenario test workflows: 5-15 minutes with proper pre/test/post command sequences
  • Python environment setup: Including gitpython dependencies and --allow-non-admin-execution flags
  • Markdownlint validation: ~20 seconds for full repository, ~0.6 seconds for docs only
  • Build system limitations: Documents expected 3-5 minute failures due to Microsoft.DotNet.Arcade.Sdk dependencies

Critical Timing Warnings

The instructions include explicit "NEVER CANCEL" warnings with specific timeout recommendations:

  • Build operations: 60+ minutes timeout
  • Scenario tests: 30+ minutes timeout
  • npm installs: 60+ minutes timeout

Environment Setup

Provides complete environment variable configuration that works across different working directories:

export PATH="$PWD/tools/dotnet:$PATH"
export DOTNET_ROOT="$PWD/tools/dotnet"
export DOTNET_CLI_TELEMETRY_OPTOUT='1'
export DOTNET_MULTILEVEL_LOOKUP='0'
export UseSharedCompilation='false'

Validation Scenarios

Includes three essential validation workflows for testing changes:

  1. Scenario infrastructure validation
  2. Python script environment confirmation
  3. Documentation linting

The instructions acknowledge that this is a specialized performance benchmarking repository where timing is critical, network dependencies are common, and build failures in sandboxed environments are expected but workarounds exist.

Fixes #4906.


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

@Copilot Copilot AI changed the title [WIP] ✨Set up Copilot instructions Add comprehensive GitHub Copilot instructions for .NET Performance repository Aug 13, 2025
@Copilot Copilot AI requested a review from LoopedBard3 August 13, 2025 23:28
Copilot finished work on behalf of LoopedBard3 August 13, 2025 23:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

✨Set up Copilot instructions
2 participants