Thanks for your interest in the Computer Use Protocol! CUP is in early development (v0.1.0) and contributions are welcome.
For changes to the protocol schema, compact format spec, or role mappings, please contribute to computeruseprotocol.
- Fork the repository and clone your fork
- Install dependencies:
npm install- Run the test suite to verify your setup:
npm test- Create a branch from
main:
git checkout -b my-feature-
Make your changes. Follow existing code style — TypeScript strict mode, explicit types on public APIs.
-
Add or update tests for any changed behavior. Tests live in
tests/. -
Run the full suite and ensure it passes:
npm test- Run type checking:
npm run typecheck- Build to verify the output:
npm run build- Open a pull request against
main. Describe what you changed and why.
High-impact areas where contributions are especially useful:
- Android adapter (
src/platforms/android.ts) — ADB + AccessibilityNodeInfo - iOS adapter (
src/platforms/ios.ts) — XCUITest accessibility - Tests — especially cross-platform integration tests
- Documentation — tutorials, examples, API reference improvements
- Keep PRs focused. One feature or fix per PR.
- Include tests for new functionality.
- Update documentation if you change public APIs.
- Ensure CI passes before requesting review.
Open an issue with:
- Platform and Node.js version
- Minimal reproduction steps
- Expected vs. actual behavior
- Full error output if applicable
- TypeScript strict mode
- Explicit types on all public function signatures
- JSDoc comments on public classes and functions
- No unnecessary dependencies — platform deps are optional
By contributing, you agree that your contributions will be licensed under the MIT License.