Contributing to ReactiveUI
ReactiveUI is a collection of around 15 actively maintained projects under the reactiveui GitHub organisation. We welcome contributions of all kinds — bug fixes, features, documentation, and test coverage.
Quick start
- Find something to work on — check issues labelled
help wantedacross the org - For anything beyond a trivial fix, open an issue or discussion first — see pull requests for why this matters
- Read the building & testing guide to get a repo compiling locally
- Follow the code style and commit conventions
- Open a pull request
Key repositories
| Repository | Description |
|---|---|
| ReactiveUI | Core framework — ReactiveObject, ReactiveCommand, bindings |
| splat | Cross-platform utilities and service location |
| DynamicData | Reactive collections |
| ReactiveUI.Validation | Validation helpers |
| ReactiveUI.SourceGenerators | Source generators for ReactiveUI |
| Akavache | Async key-value store |
| refit | Type-safe REST client |
| Sextant | View-model first navigation |
| Fusillade | HTTP request prioritisation for mobile |
| Extensions | High-value Rx operators |
| actions-common | Shared CI workflows and GitHub Actions |
Where to ask questions
Use GitHub Discussions. Post in the discussion section of the specific repo your question relates to. For general questions, use the main ReactiveUI discussions.
Code of Conduct
All participants are expected to follow our Code of Conduct. If you experience or witness unacceptable behaviour, contact us at [email protected].
License
ReactiveUI projects are released under the MIT license. All new source files must include the license header — StyleCop will fail the build if it is missing.