We'd love your help in making Cadence great. There are a variety of ways to contribute:
- Try out Cadence and share your feedback via CNCF Slack or GitHub Issues
- Fix or report bugs by opening GitHub Issues or submitting a Pull Request
- Add new samples that demonstrate Cadence features or common use cases
- Improve documentation by fixing typos, adding examples, or clarifying instructions
- Share your Cadence success stories with the community
Please review our shared Cadence Contributing Guide for:
- Code of Conduct
- Contributor License Agreement (CLA)
- General contribution guidelines
- Development workflow
- Testing requirements
- Java 8 or later
- Gradle (included via wrapper)
- Docker and Docker Compose (for running Cadence Server locally)
./gradlew build./gradlew testThis project uses Google Java Format. The build will automatically format your code, but you can also run:
./gradlew googleJavaFormatWhen adding new samples:
- Place your sample code in the appropriate package under
src/main/java/com/uber/cadence/samples/ - Add corresponding unit tests in
src/test/java/com/uber/cadence/samples/ - Update the main README.md with instructions on how to run your sample
- If your sample is complex, consider adding a dedicated README.md in the sample's directory
- Fork the repository
- Create a feature branch from
master - Make your changes following the code style guidelines
- Add tests for your changes
- Ensure all tests pass:
./gradlew test - Commit your changes with a descriptive commit message
- Push to your fork and submit a Pull Request
If you have questions or need help:
- Join the
#cadencechannel on CNCF Slack - Open a GitHub Issue
- Check the Cadence documentation
By contributing to Cadence Java Samples, you agree that your contributions will be licensed under the MIT License.