Contributions to this project are welcome.
Before contributing:
- Follow the project Code of Conduct.
- Be prepared to accept the Developer Certificate of Origin (DCO) during the pull request process.
- If you plan a larger feature or architectural change, open an issue first to confirm it fits the project direction.
- Fork the repository and create a branch from
main. - Make your changes.
- Add or update tests when behavior changes.
- Verify your changes locally.
- Open a pull request and address review feedback.
Prerequisites: Go, Docker, kubectl, kind, mkcert, and Task. For installation details and PlatformMesh resource semantics, see README.md.
Key commands:
task lint— run formatting and golangci-linttask test— run the standard local test flowtask kindtest— run kind-based end-to-end teststask cover— run coverage checkstask validate— run lint and teststask manifests— regenerate CRDstask generate— regenerate CRDs and deepcopy code after API changestask mockery— regenerate mockstask build— build the manager binarytask run— run the operator locally using.envtask docker-build— build the container imagetask docker:kind— load the image into kind and restart the deployment
- Keep pull requests focused and easy to review.
- Update documentation when
PlatformMeshbehavior, installation flow, or manifests change. - Make sure local verification passes before opening or updating the PR.
- If you change API types, run
task generateand include the generated output in the same PR. - Review manifest changes carefully; files under
manifests/can affect full platform bootstrap behavior.
If you use generative AI tools while preparing a contribution, you remain responsible for the correctness, safety, licensing, and maintainability of the submitted change.
Follow the org-wide guideline for AI-generated code contributions.
If you use Claude while contributing, do not assume it will automatically pick up this repository's AGENTS.md. Explicitly provide or reference AGENTS.md at the start of the session so Claude has the repository-specific instructions before it suggests or applies changes.
By contributing, you agree that your contributions will be licensed under the Apache-2.0 License.