Thank you for your interest in contributing to AdaptiveRemote! This project aims to provide accessible remote control solutions for users with limited or no mobility, with a focus on vision accessibility, speech recognition, and eye-gaze input.
- Open an Issue First: Please open an issue before submitting code. Use the provided templates for bug reports and feature requests.
- Development Workflow:
- Fork the repository and create a feature branch for your changes.
- Ensure all unit tests pass before submitting a pull request.
- Code reviews are required before merging (self-review is acceptable for solo developers).
- Coding Standards:
- Follow the code style and naming conventions defined in the
.editorconfigfile. - Write clear, maintainable, and well-documented code.
- Follow the code style and naming conventions defined in the
- Testing:
- Add or update unit tests as appropriate for your changes.
- All tests must pass before your pull request will be considered.
- Documentation:
- Architecture and design notes are stored alongside implementations using
_doc_*.mdfilenames so they surface at the top of each folder. - Living documentation files should:
- Focus on high-level architecture, design intent, and non-obvious decisions.
- Avoid implementation details that are likely to change; refer to source code for specifics.
- Link to relevant source files for details, and use comments in source files for non-obvious implementation details.
- Be LLM-friendly, using clear language and structure to assist coding agents and future contributors.
- When designs are updated, documents should be updated to match.
- When new subsystems are added, they should include a documentation file.
- Architecture and design notes are stored alongside implementations using
- Accessibility:
- Prioritize vision accessibility, speech recognition, and eye-gaze input.
- Keyboard/mouse accessibility is less critical, but do not introduce regressions.
- Note any accessibility testing or considerations in your pull request.
- Commit Messages:
- Use clear, descriptive commit messages that explain what and why you changed.
- No formal convention is required, but clarity is appreciated.
- Supported Platforms:
- The application targets Windows OS and .NET8.
- Required NuGet packages are restored during build.
- Contact:
- For questions or support, open an issue and @jodavis.
This project follows the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.
Thank you for helping make AdaptiveRemote more accessible and reliable for everyone!