Thanks for your interest in contributing! Here's how to get started.
- Fork the repository
- Clone your fork and create a branch:
git checkout -b dev/your-feature - Make your changes
- Run the tests:
dotnet test - Push and open a pull request against
main
- .NET 8 SDK
- uv + Python 3.10+ (for the Python server sample)
- Playwright browsers:
pwsh tests/A2UI.Blazor.Playwright/bin/Debug/net8.0/playwright.ps1 install
dotnet build
dotnet test tests/A2UI.Blazor.Tests # 115 bUnit component tests
dotnet test tests/A2UI.Blazor.Playwright # 19 Playwright E2E testsPlaywright tests start their own servers on ports 15050/15200 and won't interfere with any manually-started dev servers.
main— protected, requires PR with reviewdev/*— feature and fix branches
- Keep PRs focused — one feature or fix per PR
- Include tests for new functionality
- Update the README or ROADMAP if your change affects the public API or project direction
- PRs are squash-merged; write a clear title and description
Check the Roadmap for planned work. Items in v0.2.0 and v0.3.0 are good candidates. Open an issue first to discuss your approach for larger changes.
- Follow existing patterns in the codebase
- No third-party dependencies in the core library (
A2UI.Blazor) - Prefix CSS classes with
a2ui- - XML doc comments on public APIs