Welcome to the OSSM project, run by the Kinky Makers! We’re excited to have you contribute to the world’s most open, hackable, and community-driven sex machine. Please read this guide to help you get started and make your contributions as smooth as possible.
- Project Home: Kinky Makers OSSM Documentation
- Main Repository: This repo contains hardware, software, and documentation for OSSM.
- Community: Join our Discord for support, discussion, and collaboration.
- Fork the repository and clone it to your local machine:
git clone https://github.com/YOUR-USERNAME/OSSM-hardware.git cd OSSM-hardware/Software - Install dependencies:
- For firmware: PlatformIO (recommended) or Arduino IDE
- For hardware: See the Bill of Materials
- Set up your environment:
- PlatformIO: Open the
Softwarefolder in VSCode and install the PlatformIO extension. - Arduino IDE: Open the
.inofile insrc/and copy libraries fromlib/to your Arduino libraries folder. - See Software/README.md for more details.
- PlatformIO: Open the
- C++ Formatting:
- Code must be formatted using
clang-format(see.clang-formatinSoftware/). - Pre-commit hooks are set up via
.pre-commit-config.yamlto enforce formatting. Install with:pip install pre-commit pre-commit install
- Code must be formatted using
- EditorConfig:
- The project uses
.editorconfigfor consistent indentation, line endings, and file encoding.
- The project uses
- General Guidelines:
- Write clear, descriptive commit messages.
- Comment your code where necessary.
- Follow existing code structure and naming conventions.
- Test Framework: Unity (for C++)
- Test Structure:
- Add new tests in
Software/test/as a new directory:test_<feature> - Each test directory should have a
main.cppfile. See Software/test/README.md for a template.
- Add new tests in
- Running Tests:
- From the
Softwaredirectory, run:pio test -e test
- From the
- Branching:
- Follow the Git Branching Strategy if contributing regularly.
- For small fixes, branch from
mainor the latest development branch.
- Pull Requests:
- Ensure your branch is up to date with the latest
main. - Run all tests and ensure they pass.
- Open a pull request with a clear description of your changes and reference any related issues.
- Be responsive to code review feedback.
- Ensure your branch is up to date with the latest
- Documentation: Project Docs
- FAQ: FAQ.md
- Discord: Join our Discord
- Issues: If you find a bug or have a feature request, open an issue in the repo.
- Be respectful and inclusive—this is a diverse, welcoming community.
- If you’re unsure, open a draft PR or ask in Discord before spending lots of time on a big change.
- Hardware, software, and documentation contributions are all welcome!
Thank you for helping make OSSM better for everyone!