The following information provides a set of guidelines. We politely ask you to please use your best judgment, and, if you see room for improvement, please propose changes to this document!
Contributions come in many forms, some examples include:
- Writing Documentation
- Raising Issues
- Developing new tools to add to the kit
- Any other actions that help develop the toolkit
Please don't submit a pull request to ask a question. Instead, join us in the following communities, and ask all your questions.
Know what to expect? Skip to the recommended plugins and settings here
If you are unfamiliar with setting up an IDE, package managers, or working in a command line, we will take you through the basics here. If that all sounds scary? We recommend simply testing/using the toolkit and submitting issues. Please note: This guide is ever evolving and a work in progress. We graciously ask for suggestions from users that have followed this guide.
The recommended IDE editor is Microsoft's Visual Studio Code (VS Code). This editor is available for ARM and AMD64 processors on Windows, Linux, and macOS.
This repository has a .vscode
folder included. This holds two files:
extensions.json
settings.json
These files will recommend the following plugins for VS Code and set settings for the workspace. These extensions and settings are subject to change regularly so please be sure to keep your local repository in sync with the latest version of the toolkit! It is also important to note that the extensions.json
file also includes extensions we would like disabled or not installed.
Type | Name | Required/Recommended/Disable |
---|---|---|
IDE | VS Code | REQUIRED |
Plugin | ESLint | REQUIRED |
Plugin | Prettier - Code formatter | REQUIRED |
Plugin | EditorConfig for VS Code | REQUIRED |
Plugin | Vue Language Features (Volar) | REQUIRED |
Plugin | TODO Highlight | REQUIRED |
Plugin | Gitmoji | Recommended |
Plugin | Markdown All in One | Recommended If working with documentations files. |
Plugin | Vetur | DISABLE |
Plugin | jshint | DISABLE |
The first step is to find an issue you want to fix. To identify issues we think are good for first-time contributors, we add the good first issue label.
We have enabled some protections such as:
- Requiring to submit pull requests (PR).
We like PRs because it allows the greater community to contribute, test, and give amazing feedback. Straightforward peer review is also a plus.
To contribute, we request that you follow the following workflow:
-
Clone the repository to your local machine.
-
Utilize our
git flow
method to create a new "feature", "bugfix", or "hotfix" branch locally. -
Work on only one change in one pull request.
-
Follow these conventions:
- Generally, a commit serves a single purpose and differences should be easy to understand. Do not mix formatting fixes or code moves with actual code changes.
- Commit your changes. Write a simple, straightforward commit message. We recommend the Gitmoji Plugin for VS Code. Gitmoji allows an easy emoji selection for a quick visual reference to the type of commit you are pushing.
- Push changes to your personal remote fork first.
- Create a PR on the Osmosis Toolkit repository.
- Identify the type of PR by adding labels to it. For example, if you're still working on the changes, add the work-in-progress label. If you are proposing an enhancement, add the enhancement label.
- Wait for your changes to be reviewed. If you are a maintainer, you can assign your PR to one or more reviewers. If you aren't a maintainer, one of the maintainers will assign a reviewer.
- After you receive feedback from a reviewer, make the requested changes, commit them to your branch, and push them to your remote fork again.
After your PR is approved and validated, and no conflicts exist, it will be merged by a maintainer.