Skip to content

Commit c992724

Browse files
CopilotChrisPulmanglennawatson
authored
Configure Copilot instructions: clean up duplicates and update .NET requirements (#1151)
* Initial plan * Fix copilot-instructions.md: remove duplicate section and fix typo Co-authored-by: ChrisPulman <[email protected]> * Update .NET SDK requirements to include 10, 9, and 8 Co-authored-by: glennawatson <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: ChrisPulman <[email protected]> Co-authored-by: glennawatson <[email protected]>
1 parent 910e875 commit c992724

File tree

1 file changed

+18
-17
lines changed

1 file changed

+18
-17
lines changed

.github/copilot-instructions.md

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@ Always reference these instructions first and fallback to search or bash command
55
## Working Effectively
66

77
### Prerequisites and Environment Setup
8-
- **CRITICAL**: Requires .NET 9.0 SDK (not .NET 8.0). Install with:
8+
- **CRITICAL**: Requires .NET 10, 9, and 8 SDKs. Always install all versions fresh (don't check what's installed):
99
```bash
10+
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --version latest --channel 10.0
1011
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --version latest --channel 9.0
12+
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --version latest --channel 8.0
1113
export PATH="$HOME/.dotnet:$PATH"
1214
```
1315
- **Platform Support**: This project now has **excellent cross-platform support** with proper setup. Windows has full support; Linux/macOS have comprehensive support for core libraries, Android, and MAUI development.
@@ -19,7 +21,7 @@ Always reference these instructions first and fallback to search or bash command
1921
```
2022
If you've already done a shallow clone, deepen it with:
2123
```bash
22-
bashgit fetch --unshallow
24+
git fetch --unshallow
2325
```
2426
This prevents exceptions like "Shallow clone lacks the objects required to calculate version height."
2527
### Windows Development (Full Support)
@@ -36,8 +38,14 @@ Always reference these instructions first and fallback to search or bash command
3638
Build time: **15-25 minutes**. NEVER CANCEL - set timeout to 45+ minutes.
3739

3840
### Linux/macOS Development (Comprehensive Support)
39-
- **CRITICAL**: Install .NET 9.0 SDK first, then install required workloads:
41+
- **CRITICAL**: Install .NET 10, 9, and 8 SDKs first, then install required workloads:
4042
```bash
43+
# Install .NET SDKs (all versions fresh)
44+
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --version latest --channel 10.0
45+
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --version latest --channel 9.0
46+
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --version latest --channel 8.0
47+
export PATH="$HOME/.dotnet:$PATH"
48+
4149
# Install Android and MAUI workloads (recommended for cross-platform development)
4250
dotnet workload install android maui-android
4351

@@ -63,7 +71,7 @@ Always reference these instructions first and fallback to search or bash command
6371
- **Important**: **DO NOT** attempt to build Windows-specific projects or the full solution on Linux - it will fail with clear framework targeting errors.
6472

6573
### Testing
66-
- **CRITICAL**: Test execution requires platform-specific configuration and .NET 9.0 SDK.
74+
- **CRITICAL**: Test execution requires platform-specific configuration and .NET SDKs (10, 9, and 8).
6775
- **Windows**: Full test suite runs successfully:
6876
```bash
6977
cd src
@@ -79,15 +87,6 @@ Always reference these instructions first and fallback to search or bash command
7987

8088
## Validation and Quality Assurance
8189

82-
### Code Style and Analysis Enforcement
83-
- **EditorConfig Compliance**: Repository uses comprehensive `.editorconfig` with detailed rules for C# formatting, naming conventions, and code analysis
84-
- **StyleCop Analyzers**: Enforces consistent C# code style with `stylecop.analyzers`
85-
- **Roslynator Analyzers**: Additional code quality rules with `Roslynator.Analyzers`
86-
- **Analysis Level**: Set to `latest` with enhanced .NET analyzers enabled
87-
- **CRITICAL**: All code must comply with **ReactiveUI contribution guidelines**: https://www.reactiveui.net/contribute/index.html
88-
89-
## Validation and Quality Assurance
90-
9190
### Code Style and Analysis Enforcement
9291
- **EditorConfig Compliance**: Repository uses a comprehensive `.editorconfig` with detailed rules for C# formatting, naming conventions, and code analysis.
9392
- **StyleCop Analyzers**: Enforces consistent C# code style with `stylecop.analyzers`.
@@ -224,10 +223,12 @@ Always reference these instructions first and fallback to search or bash command
224223
## Common Development Tasks
225224

226225
### Making Changes to Core Libraries
227-
1. **Always** start with .NET 9.0 SDK installation and required workloads:
226+
1. **Always** start with .NET SDK installation (10, 9, and 8) and required workloads:
228227
```bash
229-
# Essential first steps for any platform
228+
# Essential first steps for any platform - install all .NET versions fresh
229+
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --version latest --channel 10.0
230230
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --version latest --channel 9.0
231+
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --version latest --channel 8.0
231232
export PATH="$HOME/.dotnet:$PATH"
232233
dotnet workload install android maui-android # For cross-platform development
233234
```
@@ -315,15 +316,15 @@ Always reference these instructions first and fallback to search or bash command
315316
## Troubleshooting
316317

317318
### Common Issues
318-
1. **"The current .NET SDK does not support targeting .NET 9.0"**: Install .NET 9.0 SDK first
319+
1. **"The current .NET SDK does not support targeting .NET X.0"**: Install .NET 10, 9, and 8 SDKs
319320
2. **"Invalid framework identifier" errors**: Use explicit `-p:TargetFramework=net9.0`
320321
3. **"Workload not supported" errors**: Install required workloads with `dotnet workload install android maui-android`
321322
4. **"To build a project targeting Windows on this operating system, set the EnableWindowsTargeting property to true"**: Expected on Linux/macOS for Windows-specific projects
322323
5. **Build hangs**: Normal for large builds - wait up to 45 minutes
323324
6. **Test failures**: May be platform-specific - verify on Windows
324325

325326
### Quick Fixes
326-
- **Setup issues**: Ensure .NET 9.0 SDK is installed first, then install workloads
327+
- **Setup issues**: Install .NET 10, 9, and 8 SDKs fresh, then install workloads
327328
- **Format issues**: Run `dotnet format whitespace` and `dotnet format style`
328329
- **StyleCop violations**: Check `.editorconfig` rules and `src/stylecop.json` configuration
329330
- **Analyzer warnings**: Build with `--verbosity normal` to see detailed analyzer messages

0 commit comments

Comments
 (0)