Please do! Thanks for your help improving the project! 🎈
All contributors are welcome. Please see the newcomers welcome guide for how, where and why to contribute. This project is community-built and welcomes collaboration. Contributors are expected to adhere to our Code of Conduct.
Not sure where to start? First, see the newcomers welcome guide. Grab an open issue with the help-wanted label and jump in. Join the Slack account and engage in conversation. Create a new issue if needed. All pull requests should reference an open issue. Include keywords in your pull request descriptions, as well as commit messages, to automatically close issues in GitHub.
Sections
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.
In order to contribute to Meshery, please follow the fork-and-pull request workflow described here.
To contribute to this project, you must agree to the Developer Certificate of Origin (DCO) for each commit you make. The DCO is a simple statement that you, as a contributor, have the legal right to make the contribution.
See the DCO file for the full text of what you must agree to and how it works here. To signify that you agree to the DCO for contributions, you simply add a line to each of your git commit messages:
Signed-off-by: Jane Smith <jane.smith@example.com>
In most cases, you can add this signoff to your commit automatically with the
-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:
$ commit -s -m “my commit message w/signoff”
To ensure all your commits are signed, you may choose to add this alias to your global .gitconfig:
~/.gitconfig
[alias]
amend = commit -s --amend
cm = commit -s -m
commit = commit -s
Or you may configure your IDE, for example, Visual Studio Code to automatically sign-off commits for you:
Please contribute! Layer5 documentation uses Jekyll and GitHub Pages to host docs sites. Learn more about Layer5's documentation framework. The process of contributing follows this flow:
- Create a fork, if you have not already, by following the steps described here
- In the local copy of your fork, navigate to the docs folder.
cd docs - Create and checkout a new branch to make changes within
git checkout -b <my-changes> - Edit/add documentation.
vi <specific page>.md - Run site locally to preview changes.
make site - Commit, sign-off, and push changes to your remote branch.
git push origin <my-changes> - Open a pull request (in your web browser) against the repo.
We follow the Conventional Commits standard for our commit messages. Each commit should have a type, an optional scope, and a descriptive message. Examples of commit types include "feat," "fix," "docs," and more.
Here's a basic commit message format:
For example:
feat(auth): add user authentication featurefix(ui): resolve styling issue in the header
Please ensure that your commits adhere to this format to maintain a clear and organized commit history. This repo also uses commitizen and commitlint to make sure that you are adhering the rules in writing a commit.
To write a commit message for this repo, each commit should have the following above, which includes the type, an optional scope, and a descriptive message.
style: Since we're usingprettierandeslintto fix formatting and linting styles, you can write your commit message like so:
style(repo): use prettier and eslint to lint and format
or style: format files.
The above will just write a commit message without a scope.
feat: When using this commit type, we're introducing a new feature into the repo. This feature has never been used, and will require aminorversion to be used.fix: When usin this commit type, we're introducing backward compatibility fixes to the existing repo. To help have a clean git commit, it would be better to create new features, and then work on fixing them to make meaningful releases.docs: This is specific to any of the documentations, like Markdown files.
Users can now test their code on their local machine against the CI checks implemented using make run-tests.
To test code changes on your local machine, run the following command:
make tests
To build a Docker image of the project, please ensure you have Docker installed to be able to build the image. Now, run the following command to build the Docker image:
make dockerYou can also refer to this "Training: contributing to Sistent" and this Websites call where experienced contributors have taught how to use sistent in your project or Meshery
Layer5 uses ES-Lint to maintain code quality & consistency in our UI Code.
Run the following command before commiting the changes:
make lint
- Assets are the files that are used in the project. These files can be images, videos, logos or fonts etc. The assets directory is used to store all the assets that are used in the project.
- Base directory contains all the basic components that are used in the project. These components are the building blocks of the project. The base directory contains the following subdirectories like
Buttons,Forms,Typographyetc.
- Constants directory contains all the constants that are used in the project. These constants can be colors, fonts, breakpoints etc.
- Custom directory contains all the custom components using the theme colors.
- Icons directory contains all the icons that are used in the project or can be used in any of other projects.
- Theme directory contains all the theme related files. The theme directory contains the following subdirectories like:
Colors- contains all the colors that are used in the project or theme components.components- contains all the theme components likeButton,Typographywith brand colors.typography.ts- contains all the typography related files likefont-size,font-familyetc.palette.ts- contains all the tokens that are used in the project and used in components.
Through the theme directory, we export the SistentThemeProvider which is used to provide the theme to the project.
All contributors are invited to review pull requests. See this short video on how to review a pull request.
Resources: https://lab.github.com and https://try.github.com/
This repository and site are available as open source under the terms of the Apache 2.0 License.
Community First
The Layer5 community represents the largest collection of service mesh projects and their maintainers in the world.
Open Source First
At Layer5, we champion developer-defined infrastructure, giving engineers the power to reshape application delivery. We empower operators in reimagining how they manage modern infrastructure: collaboratively.
