Thank you for your interest in contributing to WinForge! We welcome contributions from everyone — whether it's code, documentation, bug reports, feature requests, or examples.
This project and everyone participating in it is governed by the Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to the maintainers.
- Use the Issues tab.
- Include as much detail as possible: Windows version, .NET/Rust versions, steps to reproduce, expected vs actual behavior, and relevant logs (especially ETW traces if possible).
- Search existing issues first to avoid duplicates.
We love ideas! Open an issue with the enhancement label and describe:
- The problem you're trying to solve
- Your proposed solution
- Any alternatives considered
- Mockups or diagrams if applicable
- Fork the repository and create your branch from
main. - Make your changes.
- Ensure tests pass and new functionality is covered.
- Update documentation (README, docs/, code comments).
- Submit a Pull Request with a clear title and description.
See the README.md for prerequisites and initial setup.
Key commands:
# Build everything
cargo build --workspace
dotnet build
# Run tests
cargo test --workspace
dotnet test
# Run the CLI in dev mode
cargo run -p winforge-cli -- dev- Rust: Follow
rustfmtandclippy. Usetracingfor logging. - C#: Follow .NET coding conventions. Use nullable reference types and source generators where beneficial.
- Documentation: Keep examples up to date. Use Mermaid diagrams where they add clarity.
- Commits: Use conventional commits (e.g.,
feat:,fix:,docs:,refactor:).
- Expanding Windows interop bindings (especially newer WinRT APIs and NPU/DirectML)
- Building more plugin examples (especially privacy, data center ops, and agentic workflows)
- Improving the workflow engine durability and visualization
- Creating UI automation and property-based tests
- Writing tutorials and sample applications
- Performance benchmarking and optimization
Feel free to open a discussion in GitHub Discussions or reach out via issues.
We appreciate every contribution — big or small. Let's build the future of Windows software together!