Thank you for investing your time in contributing to our project! Any contribution you make will be reflected on help.status.im.
This guide provides an overview of the different types of contributions and the contribution workflow. Read the Status Code of Conduct to keep this place approachable and respectable.
Independently of how you contribute, your contribution is considered a documentation issue and included in the Status documentation project.
TL;DR: if you know what to do, skip to the Contribute using a pull request section.
You can contribute using GitHub issues or pull requests.
You can create a new issue or solve an existing one via pull request. If you work on an existing documentation issue, submit a pull request, and link the pull request to the issue on the GitHub website.
Issues without a triage
label are pending review, and you shouldn't begin work on them.
A pull request is a way to suggest changes in our documentation repository. If you spot an inaccuracy in our docs or you would like to submit additional content, use this method.
You can submit a pull request from a topic in the Status documentation using the edit button. This is the preferred method for small fixes or typos. If you want to contribute with new content, submit a pull request following the Contribute using a pull request section steps.
Consider this information:
- We prioritize issues or pull requests related to documentation errors over the rest.
- We triage your issue or pull request after submission and assign the
triage
label to it. - Issues or pull requests that don't fit into a technical documentation criterion will be discarded with the
invalid
label. - Issues or pull requests outside of the scope of the Status user documentation project will be discarded with the
wontfix
label. - We use the GitHub issue or pull request number to uniquely identify a task.
Because pull requests are issues, issue and pull request numbers do not overlap in a repository (see Issue event types for more information.)
If you find an error using the Status app please, don't open a documentation issue. Instead, open an issue with the corresponding team at Status:
We are an international team with contributors and users from all over the world. Therefore, we know that providing documentation in multiple languages is crucial. Unfortunately, as a small team, we're unable to provide a translation workflow or add translations to our docs at this time. If you wish to contribute to the translation of other parts of the Status Network, see translate.status.im.
We use Material for MkDocs to build the user documentation site. If you want to preview your contributions as they will look in Status Help, you need to install Material for MkDocs and its dependencies.
You don't need to install Material for MkDocs to edit Markdown files in the Status Help repo. However, it's a good idea to install Material for MkDocs and make sure your content previews correctly.
Install Python dependencies:
pip install -r requirements.txt
To preview your changes, go to the root folder in your Status Help clone (by default, this is the help.status.im
folder in your computer) and run the MkDocs live preview:
mkdocs serve -f config/[language]/mkdocs.yml`
Where [language]
corresponds to the language folder name in the Status Help repository.
mkdocs
need to be done from the root folder of your Status Help repo clone.
For the Status Help repository, we use Materials for MkDocs Insiders, a sponsored-only version with additional functionality. Using these functionalities requires access to a private Material for MkDocs build, which is unavailable for contributors. However, we use only a few components from the Insider's version that shouldn't affect your contributions:
Here you can find a step-by-step guide to make changes to our docs. This process describes the git and GitHub CLI instructions.
- Fork and clone the
status-im/help.status.im
repository. - Use the
develop
branch to create your topic branch. - Push your changes to the
status-im/help.status.im
repository anddevelop
branch. - Propose changes using pull requests. Add a description to your pull requests.
- If the pull request fixes an existing issue, link the pull request to the issue.
To understand how a repository fork works, see About forks in the GitHub documentation.
-
Using the terminal, go to the directory where you want to clone the Status documentation repository.
-
Fork and clone the repository:
gh repo fork 'status-im/help.status.im' --remote --clone=true
-
Update your local
develop
branch with the latest changes fromupstream
:git pull upstream develop --rebase --verbose
git push origin develop
-
Using the
develop
branch, create a topic branch to include your changesgit checkout -b your-topic-branch-name develop
Use a descriptive name for your feature branch, separating words with dashes. If you know the issue number, include this in the branch name. Examples:
fix-typo-on-creating-status-communities
,133-wrong-table-values
. -
Using the editor of your choice, write the required changes.
If you have doubts about how to write something, check the Status style guide.
You can test your proposed changes using MkDocs live preview.
-
Install Material for MkDocs on your computer.
-
Using the terminal, change to the site configuration directory for your language. For example, if you're changing content under the
doc/en
directory, go to theconfig/en
in thehelp.status.im
repository. -
Run the live preview server:
mkdocs serve
-
The output of this command shows a URL with the IP address and port where the live preview server is running. Example:
INFO - [13:48:18] Serving on [http://127.0.0.1:8000/help/en/](http://127.0.0.1:8000/help/en/)
-
Open your browser and enter the URL.
With the Mkdocs live preview server, you can preview your changes as you write your documentation. The server will automatically rebuild the site upon saving.
-
Stage your changes:
git add --all
-
Commit your changes with a description of what's included:
git commit -m "description of your changes"
-
Set the
upstream
to push your changes:git push --set-upstream origin your-topic-branch-name
-
If you need to add more changes, you don't need to set the
upstream
branch again:git push
-
Create a pull request with your proposed changes:
gh pr create --base develop --title "your pull request title"
-
If prompted for the base repository, select
status-im/help.status.im
:? Which should be the base repository (used for e.g. querying issues) for this directory? [Use arrows to move, type to filter] > **status-im/help.status.im** github-user/help.status.im
-
When asked for the Body, type
e
to launch the default terminal editor. Include a description of the proposed changes:? Body [(e) to launch nano, enter to skip]
You can also skip this step and add the pull request description using the GitHub webpage.
-
In the What's next question, select
Submit
to submit your pull request, orContinue in browser
to finish your pull request in the GitHub website:? What's next? [Use arrows to move, type to filter] > **Submit** Continue in browser Add metadata Cancel
-
On the GitHub website, enable the checkbox to allow maintainer edits for the pull request so the branch can be updated for a merge.
-
If your pull request is related to an existing issue, link the pull request to the issue on the GitHub website.
- We may ask for changes to be made before a PR can be merged, either using suggested changes or pull request comments.
- As you update your PR and apply changes, mark each conversation as resolved.
Congratulations on making it this far! The Status team thanks you.
-->