mirror of
https://github.com/teloxide/teloxide.git
synced 2024-12-22 14:35:36 +01:00
Improve the style of CONTRIBUTING.md
This commit is contained in:
parent
4ab24a0a0c
commit
8669c87f6f
1 changed files with 25 additions and 36 deletions
|
@ -5,16 +5,15 @@
|
||||||
> These contributing instructions might not be fully up-to-date or complete.
|
> These contributing instructions might not be fully up-to-date or complete.
|
||||||
> However, they should be a good starting point.
|
> However, they should be a good starting point.
|
||||||
>
|
>
|
||||||
> If you find inaccuracies / missing things, please expand this or contact us.
|
> If you find inaccuracies/missing things, please expand this or contact us.
|
||||||
|
|
||||||
## Reporting bugs, questions, feature requests
|
## Reporting bugs, questions, feature requests
|
||||||
|
|
||||||
To report a bug or suggest new functionality go to [issues](https://github.com/teloxide/teloxide/issues).
|
To report a bug or suggest new functionality, go to the [issues](https://github.com/teloxide/teloxide/issues). Try to make MRE (**M**inimal **R**eproducible **E**xample) and specify your `teloxide` version to let others help you.
|
||||||
Try to make MRE (**M**inimal **R**eproducible **E**xample) and specify your teloxide version to let others help you.
|
|
||||||
|
|
||||||
If you want to ask a question, you can either
|
If you want to ask a question, you can either
|
||||||
- Open a new [github discussion](https://github.com/teloxide/teloxide/discussions), or
|
- open a new [GitHub discussion](https://github.com/teloxide/teloxide/discussions), or
|
||||||
- Write to our telegram group ([eng](https://t.me/teloxide), [ru](https://t.me/teloxide_ru))
|
- write to our Telegram group ([ENG](https://t.me/teloxide), [RU](https://t.me/teloxide_ru)).
|
||||||
|
|
||||||
## Code
|
## Code
|
||||||
|
|
||||||
|
@ -24,34 +23,30 @@ Before writing code, please read [our code style](./CODE_STYLE.md).
|
||||||
|
|
||||||
### Git
|
### Git
|
||||||
|
|
||||||
To change the source code, you need a local copy of it.
|
To change the source code, you need a local copy of it. Fork the `master` branch of this repository via GitHub and clone your fork locally.
|
||||||
Fork the `master` branch of this repository via github and clone your fork locally.
|
|
||||||
|
|
||||||
When working on a new thing, create a new branch with `git switch -c my-branch-name` (or other commands that work with branches).
|
When working on a new thing, create a new branch with `git switch -c my-branch-name` (or other commands that work with branches). This way, it will be easier to manage when you want to do other things.
|
||||||
This way it will be easier to manage when you want to do other things.
|
|
||||||
|
|
||||||
When your changes are ready, you can open a github pull request.
|
When your changes are ready, you can open a new GitHub pull request.
|
||||||
|
|
||||||
### Pull Requests
|
### Pull Requests
|
||||||
|
|
||||||
If your pull request fixes/resolves an existing [github issue] please specify so in the PR description.
|
If your pull request fixes/resolves an existing [GitHub issue], please specify so in the PR description. For example:
|
||||||
For example:
|
|
||||||
|
|
||||||
> Fixes #991
|
> Fixes #991.
|
||||||
|
|
||||||
You can learn more about [Using keywords in issues and pull requests] in github documentation.
|
You can learn more about [using keywords in issues and pull requests] in the GitHub documentation.
|
||||||
|
|
||||||
If your pull request suggests new functionality or new changes, please explain your point of view and all the necessary details.
|
If your pull request suggests new functionality or new changes, please explain your point of view and all the necessary details (pros, cons, why you chose the design you chose, your use cases, etc.)
|
||||||
(pros, cons, why you chose design you chose, your use cases, etc)
|
|
||||||
|
|
||||||
In general try to make PR title/description clear, as they are the primary ways of communicating your intent to the reviewer.
|
In general, try to make PR title/description as clear as possible, as they are the primary ways of communicating your intent to the reviewer.
|
||||||
|
|
||||||
[github issue]: https://github.com/teloxide/teloxide/issues
|
[GitHub issue]: https://github.com/teloxide/teloxide/issues
|
||||||
[Using keywords in issues and pull requests]: https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests
|
[using keywords in issues and pull requests]: https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests
|
||||||
|
|
||||||
### Merge conflicts
|
### Merge conflicts
|
||||||
|
|
||||||
If your branch has conflicts with master please resolve them by doing something like this:
|
If your branch has conflicts with master, please resolve them by doing something like this:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
# Temporary switch to master branch
|
# Temporary switch to master branch
|
||||||
|
@ -78,8 +73,7 @@ git push --force-with-lease
|
||||||
|
|
||||||
### Testing
|
### Testing
|
||||||
|
|
||||||
When you open a PR it will be tested in CI.
|
When you open a PR, it will be tested in the CI. We recommend you test the PR before opening it:
|
||||||
We recommend you test the PR before opening it:
|
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
# Formatting (use `-- --check` if you only want to check)
|
# Formatting (use `-- --check` if you only want to check)
|
||||||
|
@ -99,33 +93,28 @@ cargo test --features "full nightly"
|
||||||
cargo docs
|
cargo docs
|
||||||
```
|
```
|
||||||
|
|
||||||
## Teloxide bot
|
## @teloxidebot
|
||||||
|
|
||||||
Teloxide uses @teloxidebot as a helper to manage PRs and issues.
|
`teloxide` uses @teloxidebot as a helper to manage PRs and issues. It is based on triagebot used by rustc developers, which docs can be found [here](https://forge.rust-lang.org/triagebot/index.html).
|
||||||
It's based on triagebot developed by rustc developers which docs can be found [here](https://forge.rust-lang.org/triagebot/index.html).
|
|
||||||
|
|
||||||
We'll describe here a few most used @teloxidebot's features, but we still recommend you read the docs.
|
We will describe here a few most used @teloxidebot's features, but we still recommend you to read the docs.
|
||||||
|
|
||||||
### PR status tracking
|
### PR status tracking
|
||||||
|
|
||||||
Teloxide uses `S-*` labels (mainly https://github.com/teloxide/teloxide/labels/S-waiting-on-author and https://github.com/teloxide/teloxide/labels/S-waiting-on-review) to track the status of pull requests.
|
`teloxide` uses `S-*` labels (mainly https://github.com/teloxide/teloxide/labels/S-waiting-on-author and https://github.com/teloxide/teloxide/labels/S-waiting-on-review) to track the status of pull requests.
|
||||||
|
|
||||||
You can change the status with `@teloxidebot review` and `@teloxidebot ready` (set the status to https://github.com/teloxide/teloxide/labels/S-waiting-on-review) or `@teloxidebot author` (sets the status to https://github.com/teloxide/teloxide/labels/S-waiting-on-author).
|
You can change the status with `@teloxidebot review` and `@teloxidebot ready` (sets the status to https://github.com/teloxide/teloxide/labels/S-waiting-on-review) or `@teloxidebot author` (sets the status to https://github.com/teloxide/teloxide/labels/S-waiting-on-author).
|
||||||
|
|
||||||
Requesting a review from PR's assignee via github ui will also change the status of the PR to waiting on review.
|
Requesting a review from PR's assignee via GitHub UI will also change the status of the PR to waiting on review. Similarly, submitting a review that requests changes will change the status of the PR to waiting on author.
|
||||||
Similarly, submitting a review that requests changes will change the status of the PR to waiting on author.
|
|
||||||
|
|
||||||
There is also https://github.com/teloxide/teloxide/labels/S-blocked which can be set with `@teloxidebot blocked`.
|
There is also https://github.com/teloxide/teloxide/labels/S-blocked, which can be set with `@teloxidebot blocked`.
|
||||||
|
|
||||||
Please note that your PR won't be reviewed unless it's waiting for review :)
|
Please note that your PR won't be reviewed unless it's waiting for review :)
|
||||||
|
|
||||||
### Labels
|
### Labels
|
||||||
|
|
||||||
Normally github only allows privileged users to change labels.
|
Normally, GitHub only allows privileged users to change labels. @teloxidebot allows anyone to add or remove certain [labels](https://github.com/teloxide/teloxide/labels/) with `@teloxidebot label +additional_label -removed_label`. See more in the [documentation](https://forge.rust-lang.org/triagebot/index.html).
|
||||||
@teloxidebot allows anyone to add or remove certain [labels](https://github.com/teloxide/teloxide/labels/) with `@teloxidebot label +additional_label -removed_label`.
|
|
||||||
See more in the [documentation](https://forge.rust-lang.org/triagebot/index.html).
|
|
||||||
|
|
||||||
### PR assignment
|
### PR assignment
|
||||||
|
|
||||||
When a PR is created @teloxidebot will automatically assign one of the maintainers to it.
|
When a PR is created, @teloxidebot will automatically assign one of the maintainers to it. If you want to override this assignment, use `r? @ReviewerUsername`.
|
||||||
If you want to override this assignment, use `r? @ReviewerUsername`.
|
|
||||||
|
|
Loading…
Reference in a new issue