Thank you for your interest in contributing to FlaUI-MCP!
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR-USERNAME/FlaUI-MCP.git - Create a branch:
git checkout -b my-feature - Make your changes
- Test your changes
- Push and create a Pull Request
- Windows 10/11
- .NET 8.0 SDK
- Visual Studio 2022 or VS Code
cd src/FlaUI.Mcp
dotnet buildThe same build can be run from GitHub Actions with the Build workflow's
manual dispatch button. Pull requests and pushes to main also run the build.
Releases are created by the Release workflow. Maintainers can either push a
semantic version tag such as v0.1.1, or run the workflow manually and provide
the tag name. Manual releases default to draft so the generated x64 and ARM64
ZIP files can be reviewed before publishing.
# Unit tests
dotnet test tests\FlaUI.Mcp.Tests
# Desktop integration tests; requires an interactive Windows session
dotnet test tests\FlaUI.Mcp.IntegrationTests
# In another terminal, test with a JSON-RPC request
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05"}}' | dotnet run --project src/FlaUI.Mcp- Use C# conventions (PascalCase for public members, camelCase for private)
- Add XML documentation for public APIs
- Keep methods focused and small
- Prefer async/await for I/O operations
- One feature per PR - Keep PRs focused
- Update documentation - If you add a feature, document it
- Add tests - When applicable
- Update CHANGELOG.md - Add your changes under "Unreleased"
When reporting issues, please include:
- Windows version
- .NET version (
dotnet --version) - Steps to reproduce
- Expected vs actual behavior
- Any error messages
Feature requests are welcome! Please describe:
- The problem you're trying to solve
- Your proposed solution
- Any alternatives you've considered
Open an issue with the "question" label.