Contributing to OSSM (Open Source Sex Machine)
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 Overview
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.
🚀 Getting Started
Fork the repository and clone it to your local machine:
git clone https://github.com/YOUR-USERNAME/OSSM-hardware.git cd OSSM-hardware/SoftwareInstall 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.
🧑💻 Coding Standards
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:
EditorConfig:
The project uses
.editorconfigfor consistent indentation, line endings, and file encoding.
General Guidelines:
Write clear, descriptive commit messages.
Comment your code where necessary.
Follow existing code structure and naming conventions.
🧪 Testing
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.
Running Tests:
From the
Softwaredirectory, run:
🌳 Branching & Pull Requests
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.
🛟 Getting Help
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.
💡 Tips for Contributors
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!
Last updated