Thanks for your interest in contributing! Here's how to get started.
git clone https://github.com/talkstream/ClaudePad.git
cd ClaudePad
npm install- macOS (Apple Silicon or Intel)
- Node.js 18+
- SDL2:
brew install cmake sdl2 - Optional: Xbox Wireless Controller (Bluetooth)
You don't need a physical gamepad to contribute. The test suite mocks all SDL2 interactions:
npm testAll MCP tool tests, combo detector tests, and haptic pattern tests run without hardware.
If you want to test with a real controller:
npx tsx scripts/test-controller.ts- Fork the repo and create a feature branch
- Make your changes
- Run the full test suite:
npm test - Submit a pull request
- TypeScript strict mode
- All code comments in English
- Use the existing patterns — check similar files before creating new ones
- Logging goes to stderr (stdout is reserved for MCP protocol)
- New haptic patterns — add to
src/haptic/patterns.ts - New combos — add to
src/gamepad/combo-detector.ts - New button mappings — add to
src/config/defaults.ts - Controller support — test with DualSense, Switch Pro, etc.
- Platform support — Linux, Windows (SDL2 is cross-platform)
- Bug fixes — always welcome
Use the bug report template and include:
- macOS version
- Controller model
- Steps to reproduce
- Expected vs actual behavior
By contributing, you agree that your contributions will be licensed under the MIT License.