Skip to content

Contributing to Replicove

Replicove welcomes documentation, reproducible testing problems, design feedback, and code. Read the project status and roadmap first: main contains the experimental portable alpha; cloud adapters and production qualification remain roadmap work.

Find a useful first contribution

For a new adapter or API change, describe the workflow and proposed acceptance evidence in an issue before a large implementation. Check open pull requests to avoid duplicating ongoing work.

Local development

Use Go 1.27.1 or newer. Fork the repository, create a focused branch, and build from source:

git clone https://github.com/YOUR-USERNAME/replicove.git
cd replicove
make build
make check

Run make generate after changing API types. Keep generated CRDs and DeepCopy code with their source changes. make check runs race-enabled tests, pinned-chart contract checks, local API-server integration, vet, and the build. The integration suite downloads a local API server and does not use your kubeconfig. See testing for the boundary between these checks and real-cluster evidence.

For documentation-only changes, check links, commands, and rendered Markdown. Full cluster tests are unnecessary unless the documented behavior or commands changed.

Send a focused pull request

Explain the concrete problem, resulting behavior, and validation actually run. Keep chart-specific values in the catalog/provider and source discovery independent of runtime provisioning. Ownership, deletion, or access changes need meaningful failure and recovery tests. Do not turn chart rendering alone into a support claim.

Small contributions and AI-assisted contributions are welcome; the author remains responsible for correctness and verification. Never submit credentials, kubeconfigs, private cluster captures, or rendered Secret data. Use the private security process for vulnerabilities.

Participation follows the code of conduct. Contributions are licensed under the repository’s Apache-2.0 license; no separate CLA is required.