Skip to content

Commit ee4292d

Browse files
Merge branch 'main' into develop
# Conflicts: # README.md
2 parents c4f2ecb + 48564a4 commit ee4292d

File tree

3 files changed

+51
-496
lines changed

3 files changed

+51
-496
lines changed

.github/copilot-instructions.md

Lines changed: 30 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
## Repository Summary
44

5-
This is a **repository template** for creating new .NET repositories. It provides a standardized structure with comprehensive GitHub integration, CI/CD workflows, and development tooling. The template is designed for .NET 8.0 projects using C# and follows Microsoft's recommended project organization patterns.
5+
This is a .NET library project that provides extension methods for `IAsyncEnumerable<T>`. The library is designed to make working with async sequences easier and more efficient, with features like chunking, batching, and other utility methods.
66

7-
**Repository Type**: Template (not a working project)
8-
**Target Platform**: .NET 8.0
7+
**Repository Type**: .NET Library Project
8+
**Target Frameworks**: .NET Framework 4.6.2, .NET Standard 2.0, .NET 8.0, .NET 10.0
99
**Primary Language**: C#
10-
**Size**: Small template (~15 configuration files, empty project folders)
10+
**Package Name**: Wolfgang.Extensions.IAsyncEnumerable
1111

1212
## Build and Validation Instructions
1313

@@ -16,8 +16,7 @@ This is a **repository template** for creating new .NET repositories. It provide
1616
- ReportGenerator tool (installed via `dotnet tool install -g dotnet-reportgenerator-globaltool`)
1717
- DevSkim CLI (installed via `dotnet tool install --global Microsoft.CST.DevSkim.CLI`)
1818

19-
### Build Process (For Repositories Created from This Template)
20-
**IMPORTANT**: This template has no buildable projects. These commands apply to repositories created FROM this template.
19+
### Build Process
2120

2221
1. **Restore Dependencies** (always run first):
2322
```bash
@@ -61,33 +60,27 @@ This is a **repository template** for creating new .NET repositories. It provide
6160

6261
## Project Layout and Architecture
6362

64-
### Standard Directory Structure
63+
### Directory Structure
6564
```
6665
root/
67-
├── MySolution.sln # Solution file (create in root)
68-
├── src/ # Application projects
69-
│ ├── MyApp/
70-
│ │ └── MyApp.csproj
71-
│ └── MyLib/
72-
│ └── MyLib.csproj
73-
├── tests/ # Test projects (required)
74-
│ ├── MyApp.Tests/
75-
│ │ └── MyApp.Tests.csproj
76-
│ └── MyLib.Tests/
77-
│ └── MyLib.Tests.csproj
78-
├── benchmarks/ # Performance benchmarks (optional)
79-
│ └── MyApp.Benchmarks/
80-
│ └── MyApp.Benchmarks.csproj
81-
├── examples/ # Example projects (optional)
82-
├── docs/ # Documentation
83-
└── .github/ # GitHub configuration
66+
├── IAsyncEnumerable Extensions.slnx # Solution file
67+
├── src/ # Library projects
68+
│ └── Wolfgang.Extensions.IAsyncEnumerable/
69+
│ ├── Wolfgang.Extensions.IAsyncEnumerable.csproj
70+
│ └── IAsyncEnumerableExtensions.cs
71+
├── tests/ # Test projects
72+
│ └── Wolfgang.Extensions.IAsyncEnumerable.Tests.Unit/
73+
├── benchmarks/ # Performance benchmarks
74+
│ └── Wolfgang.Extensions.IAsyncEnumerable.Benchmarks/
75+
├── examples/ # Example usage projects
76+
├── docs/ # Documentation
77+
└── .github/ # GitHub configuration
8478
```
8579

8680
### Key Configuration Files
8781
- **`.editorconfig`**: Code style rules (C# file-scoped namespaces, var preferences, analyzer severity)
8882
- **`.gitignore`**: Comprehensive .NET gitignore (Visual Studio, build artifacts, packages)
89-
- **`SETUP.md`**: Detailed repository setup instructions (delete after setup)
90-
- **`CONTRIBUTING.md`**: Empty - populate with contribution guidelines
83+
- **`CONTRIBUTING.md`**: Contribution guidelines
9184
- **`CODE_OF_CONDUCT.md`**: Standard Contributor Covenant v2.0
9285

9386
### GitHub Integration
@@ -105,10 +98,8 @@ The workflow runs on pull requests to `main` branch and includes:
10598
3. **Artifacts**: Coverage reports and DevSkim results uploaded
10699
4. **Branch Protection**: Configured to require this workflow to pass before merging
107100

108-
**Security Note**: Workflow includes safeguard `if: github.repository != 'Chris-Wolfgang/repo-template'` to prevent running on the template itself.
109-
110101
### Branch Protection Configuration
111-
When using this template, configure these settings in GitHub (detailed in `SETUP.md`):
102+
The repository has branch protection rules configured:
112103
- Require status checks to pass before merging
113104
- Require branches to be up to date
114105
- Require pull request reviews (including Copilot reviews)
@@ -118,9 +109,8 @@ When using this template, configure these settings in GitHub (detailed in `SETUP
118109
## Key Files and Locations
119110

120111
### Root Directory Files
121-
- `README.md` - Basic template description (update for your project)
122-
- `LICENSE` - Mozilla Public License 2.0
123-
- `SETUP.md` - Template setup instructions (delete after setup)
112+
- `README.md` - Project description and documentation
113+
- `LICENSE` - MIT License
124114
- `.editorconfig` - Code style configuration
125115
- `.gitignore` - .NET-specific gitignore
126116

@@ -131,25 +121,26 @@ When using this template, configure these settings in GitHub (detailed in `SETUP
131121
- `CODEOWNERS` - Code ownership rules
132122
- `dependabot.yml` - Dependency update configuration
133123

134-
### Project Directories (Currently Empty in Template)
135-
- `src/` - Application source code
124+
### Project Directories
125+
- `src/Wolfgang.Extensions.IAsyncEnumerable/` - Main library source code
136126
- `tests/` - Unit and integration tests
137127
- `benchmarks/` - Performance benchmarks
138128
- `examples/` - Example usage projects
139-
- `docs/` - Documentation (contains placeholder `index.html`)
129+
- `docs/` - Documentation and API reference
140130

141131
## Agent Guidelines
142132

143133
### Trust These Instructions
144-
This information has been validated against the template structure and GitHub workflows. **Only search for additional information if these instructions are incomplete or found to be incorrect.**
134+
This information has been validated against the project structure and GitHub workflows. **Only search for additional information if these instructions are incomplete or found to be incorrect.**
145135

146-
### When Working with This Template
147-
1. **Creating New Projects**: Follow the structure outlined in `SETUP.md`
136+
### When Working with This Project
137+
1. **Main Library**: The core library is in `src/Wolfgang.Extensions.IAsyncEnumerable/`
148138
2. **Adding Dependencies**: Use `dotnet add package` commands
149139
3. **Code Style**: Follow `.editorconfig` rules (file-scoped namespaces, explicit typing)
150140
4. **Testing**: Ensure test projects follow `*Test*.csproj` naming convention
151141
5. **Coverage**: Aim for >80% code coverage to pass CI
152142
6. **Security**: Review DevSkim findings and address security concerns
143+
7. **Multi-targeting**: The library targets .NET Framework 4.6.2, .NET Standard 2.0, .NET 8.0, and .NET 10.0
153144

154145
### Validation Steps
155146
Before submitting changes:
@@ -159,4 +150,4 @@ Before submitting changes:
159150
4. Run DevSkim security scan
160151
5. Ensure all GitHub Actions checks pass
161152

162-
This template provides a solid foundation for .NET projects with enterprise-grade CI/CD, security scanning, and development best practices built-in.
153+
This project provides extension methods for IAsyncEnumerable with enterprise-grade CI/CD, security scanning, and development best practices built-in.

0 commit comments

Comments
 (0)