This document outlines the essential steps for contributing to FSharp.Control.AsyncSeq.
- Write tests for all new features in
tests/FSharp.Control.AsyncSeq.Tests/ - Cover both success cases and edge cases
- Include async-specific scenarios (cancellation, exceptions, etc.)
- Add benchmarks for performance-critical features in
tests/FSharp.Control.AsyncSeq.Benchmarks/
- Ensure code follows F# formatting conventions
- Run formatting tools before committing
- Keep code style consistent with the existing codebase
Build the solution:
dotnet build FSharp.Control.AsyncSeq.slnRun all tests:
dotnet test FSharp.Control.AsyncSeq.sln- Update relevant documentation in the
docs/folder - Add code examples demonstrating new features
- Update API documentation in
.fsisignature files - Keep documentation clear and concise
- Add an entry to
RELEASE_NOTES.mddescribing your changes - Reference relevant issue/PR numbers
- Mark breaking changes clearly with Breaking: prefix
- Follow the existing format and style
Before submitting a pull request, verify:
- Tests added and passing
- Code formatted consistently
- Build succeeds without warnings
- Documentation updated
- Release notes updated
- Changes described in PR description
Thank you for contributing to FSharp.Control.AsyncSeq!