docs/static/v0.7/project/contributing/index.html
Please do! Thanks for your help! 🎈 Meshery is community-built and welcomes collaboration. Contributors are expected to adhere to the CNCF’s Code of Conduct.
Follow these steps and you’ll be right at home.
See the Newcomers Guide for how, where, and why to contribute.
Sign up for a MeshMate to find the perfect Mentor to help you explore the Meshery projects and find your place in the community:
To contribute to Meshery, from creating a fork to creating pull request, please follow the basic fork-and-pull request workflow described here.
#Signing-off on Commits (Developer Certificate of Origin)
Signed-off-by: Jane Smith <[email protected]>
-s or --signoff flag to git commit. You must use your real name and a reachable email address (sorry, no pseudonyms or anonymous contributions). An example of signing off on a commit:$ git commit -s -m “my commit message w/signoff”
.gitconfig: ~/.gitconfig[alias]
amend = commit -s --amend
cm = commit -s -m
commit = commit -s
Or you may configure your IDE, for example, VSCode to automatically sign-off commits for you:
Meshery is written in Go (Golang) and leverages Go Modules. UI is built on React and Next.js. To make building and packaging easier a Makefile is included in the main repository folder.
Relevant coding style guidelines are the Go Code Review Comments and the Formatting and style section of Peter Bourgon’s Go: Best Practices for Production Environments.
Please note : All make commands should be run in a terminal from within the Meshery’s main folder.
#Prequisites for building Meshery in your development environment:
Go version 1.21 must be installed if you want to build and/or make changes to the existing code. The binary go1.21 should be available in your path. If you don't want to disturb your existing version of Go, then follow these instructions to keep multiple versions of Go in your system.GOPATH environment variable should be configured appropriatelynpm and node should be installed on your machine, node version 19 or higher is not supported right now.git clone https://github.com/meshery/meshery.git, and clone your forked version of Meshery to your development environment, preferably outside GOPATH.golangci-lint should be installed if you want to test Go code, for MacOS and linux users.