Contributing Guide
Learn how to contribute to Cloudflare Experiments - from bug fixes to new experiments
Thank you for your interest in contributing to Cloudflare Experiments. This guide explains how to propose changes, add new experiments, and follow the project's standards.
How to Contribute
There are several ways to contribute to this project:
- Bug fixes and improvements: Open an issue first (optional but helpful), then submit a pull request
- New experiments: Open an issue with the Experiment idea template to discuss before implementing
- Documentation: Fixes and improvements to README or CONTRIBUTING are always welcome via PR
By participating in this project, you agree to abide by our Code of Conduct.
Development Setup
Each experiment is fully independent with its own dependencies. Follow these steps to set up your development environment:
Fork and clone the repository
Fork the cloudflare-experiments repository and clone it to your local machine.
Install dependencies
Navigate to the specific experiment you want to work on:
cd apps/experiments/<experiment-name>
npm installPull Request Process
Follow these steps when submitting a pull request:
Create a branch
Create a branch from main with a descriptive name:
fix/whereami-typofor bug fixesfeat/new-experiment-namefor new experiments
Make focused changes
Make your changes in one experiment only per PR when possible. Keep PRs focused and easy to review.
Test deployment
Ensure the experiment still runs and deploys:
npx wrangler deployRun this from the experiment's directory.
Update documentation
Update the experiment's README.md if you changed behavior or added options.
Add new experiments to the table
If adding a new experiment, add a row to the experiments table in the root README.md and ensure the experiment follows the repository structure.
Open a pull request
Open a pull request against main with a clear title and description. Fill in the PR template.
Address feedback
Address review feedback. Once approved, a maintainer will merge.
Community Guidelines
Our Pledge
We pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.
Our Standards
Examples of behavior that contributes to a positive environment:
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
Examples of unacceptable behavior:
- The use of sexualized language or imagery, and sexual attention or advances of any kind
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting
Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the project maintainers. All complaints will be reviewed and investigated promptly and fairly.
Getting Help
Next Steps
- Review the Code Standards to understand the project structure
- Learn how to add new experiments
- Check out existing experiments in the repository
Thanks for contributing to Cloudflare Experiments!