Skip to main content
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:
1

Fork and clone the repository

Fork the cloudflare-experiments repository and clone it to your local machine.
2

Install dependencies

Navigate to the specific experiment you want to work on:
cd experiments/<experiment-name>
npm install
3

Run locally

Start the development server:
npm run dev
# or: npx wrangler dev
4

Lint and type-check

If the experiment has these scripts configured:
npm run lint
npm run build

Pull Request Process

Follow these steps when submitting a pull request:
1

Create a branch

Create a branch from main with a descriptive name:
  • fix/whereami-typo for bug fixes
  • feat/new-experiment-name for new experiments
2

Make focused changes

Make your changes in one experiment only per PR when possible. Keep PRs focused and easy to review.
3

Test deployment

Ensure the experiment still runs and deploys:
npx wrangler deploy
Run this from the experiment’s directory.
4

Update documentation

Update the experiment’s README.md if you changed behavior or added options.
5

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.
6

Open a pull request

Open a pull request against main with a clear title and description. Fill in the PR template.
7

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

Open a Discussion for questions or ideas about the project.
Use Issues for bugs or feature requests. Provide as much detail as possible.
Yes! Documentation improvements, bug reports, feature suggestions, and helping others in Discussions are all valuable contributions.
Don’t be discouraged! We appreciate all contributions. If a PR isn’t accepted, maintainers will explain why and may suggest alternatives.

Next Steps

Thanks for contributing to Cloudflare Experiments!