# Contribute

Contributions are welcome across the platform runtime, OCSv3, services, adapters, tests, security, operations, documentation and developer experience.

## Start with a fresh clone

> Source: the [README](https://github.com/opencloudtech/CloudRING/blob/main/README.md#validate-a-fresh-clone). You need Git and Go 1.26.8, or a newer supported security patch release.

```bash
git clone https://github.com/opencloudtech/CloudRING.git
cd CloudRING
go mod download
go test ./... -count=1
```

The inputs are synthetic, so a green run tells you the repository works, not that a real deployment does.

## How a change gets in

> Sources: [CONTRIBUTING.md](https://github.com/opencloudtech/CloudRING/blob/main/CONTRIBUTING.md#pull-request-path), [DCO.md](https://github.com/opencloudtech/CloudRING/blob/main/DCO.md), [CLA.md](https://github.com/opencloudtech/CloudRING/blob/main/CLA.md) and [GOVERNANCE.md](https://github.com/opencloudtech/CloudRING/blob/main/GOVERNANCE.md).

1. Create a topic branch and turn on the tracked pre-push hook with `git config core.hooksPath .githooks`. It scans what you push for private material before it leaves your machine.
2. Run the tests, the source-safety scan and the OCSv3 checks listed in CONTRIBUTING.md.
3. Open a pull request with a short problem statement, the scope you chose, your validation results and what the change doesn't cover.
4. Sign off every commit. The `Signed-off-by` line records your agreement to the Developer Certificate of Origin and to the representations in CLA.md, and CI checks it.
5. The lead maintainer reviews the change. Project policy says maintainer or administrator access is no reason to skip required checks.

## Ground rules

- Only contribute work you have the right to contribute under the Apache License 2.0, as DCO.md and CLA.md describe.
- Keep private material out: no credentials, customer or tenant data, private endpoints, deployment values, copied proprietary text or live evidence.
- Modules you build separately stay yours and keep their own licence unless you contribute them to CloudRING.

Questions about a bigger change are welcome in an [issue](https://github.com/opencloudtech/CloudRING/issues) before you start.
