Contributing to Nacos
Welcome to Nacos! This document serves as a guide on how to contribute to Nacos.
If you spot inaccuracies or missing content, please leave feedback and suggestions.
Before You Begin
Code of Conduct
Ensure you read and abide by our Code of Conduct.
Contributions and the Nacos Community Structure
Nacos warmly welcomes new participants in any role, including users, contributors, committers, and PMC members.
We encourage newcomers to actively engage in the Nacos community, which has mechanisms in place to facilitate progression from a user role to a committer or even a PMC role. To achieve this, newcomers must actively participate in the Nacos community. The following paragraphs outline how to contribute to Nacos and advance within the community.
Reporting Issues
If you find typos in the documentation, errors in the code, desire new features, or wish to offer suggestions, you can open an issue on GitHub to report them.
If you’re eager to get started, consider issues labeled in our GitHub repository:
- good first issue: Ideal entry points for beginners.
- contribution welcome: Critical issues or important modules needing attention and contributions.
We highly value documentation and integrations with projects like Spring Cloud, Kubernetes, Dubbo, etc. Research into these areas is greatly appreciated.
Note that any PR (Pull Request) must be associated with a valid issue; otherwise, the PR will be rejected.
Starting Your Contribution
To contribute, create a new pull request.
Our develop
branch serves as the development branch, indicating instability.
Moreover, our branching model adheres to https://nvie.com/posts/a-successful-git-branching-model/. We strongly advise new members to review this article before creating a PR.
When ready, follow this workflow:
- Fork the Nacos repository to your GitHub account.
- Clone the forked repository locally.
- Create a new branch and make changes.
- Keep your branch synchronized.
- Commit your changes (ensuring commit messages are concise).
- Push your commits to your GitHub remote repository.
- Initiate a Pull Request targeting the develop branch.
When creating a PR:
- Adhere to the Pull Request template.
- Direct the PR to the develop branch.
- Ensure the PR links to a corresponding issue.
- If your PR involves substantial changes such as component refactoring or new components, document their design and usage thoroughly.
- Avoid overly large PRs; split extensive changes into several smaller PRs if necessary.
- After creating a PR, reviewers will be assigned.
- Prior to merging, pay attention to the commit nodes, including addressing review feedback, typos, merges. The final commit message should be clear and concise.
Code Review Guidelines
Committers rotate reviewing code to ensure timely review of all PRs by at least one committer. If we fall short (which happens occasionally), we welcome volunteers for code reviews.
Key principles include readability, elegance, testability, and maintainability, adhering to our coding conventions, with updates maintained at least every three months.
Becoming a Committer
Typically, by contributing eight non-trivial patches and having at least three different individuals review them (indicating community support), you may then request nomination. Demonstrate:
- At least eight PRs and related issues,
- Collaborative skills with the team,
- Familiarity with the project’s codebase and coding style,
- Ability to write high-quality code.
Current committers nominate via Nacos issues, sharing:
- Your full name,
- A link to your Git profile,
- Explanation for your suitability as a Committer,
- Highlighting your top three PRs and related issues.