Skip to content

Commit fa4f396

Browse files
authored
Create CONTRIBUTING.md
Signed-off-by: Marek Kaput <[email protected]>
1 parent ad3473c commit fa4f396

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

CONTRIBUTING.md

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Contribution Guideline
2+
3+
Scarb is actively developed and open for contributions!
4+
Want to get started?
5+
Grab any unassigned issue labeled with [`good-first-issue`](https://github.com/orgs/software-mansion/projects/4/views/9)!
6+
Need some guidance?
7+
Reach out to other developers on [Telegram](https://t.me/+d8ULaPxeRqlhMDNk) or open a [discussion](https://github.com/software-mansion/scarb/discussions) on GitHub!
8+
9+
## Environment setup
10+
11+
Latest stable Rust is the only thing you really need.
12+
It is recommended to use [rustup](https://rustup.rs/) for getting it.
13+
14+
If you wish to work on Scarb's website, you will need [Node.js](https://nodejs.org/).
15+
We recommend to install it using [asdf](https://asdf-vm.com/) (via [nodejs](https://github.com/asdf-vm/asdf-nodejs) plugin).
16+
17+
## Contributing
18+
19+
Before you open a pull request, it is always a good idea to search the issues and verify if the feature you would like
20+
to add hasn't been already discussed.
21+
We also appreciate creating a feature request before making a contribution, so it can be discussed before you get to
22+
work.
23+
24+
### Writing Tests
25+
26+
Please make sure the feature you are implementing is thoroughly tested with automatic tests.
27+
You can check test already in the repository, to see how to approach that.
28+
29+
### Breaking Changes
30+
31+
If the change you are introducing is changing or breaking the behavior of any already existing features, make sure to
32+
include that information in the pull request description.
33+
34+
### Running Tests and Checks
35+
36+
Before creating a contribution, make sure your code passes the following checks:
37+
38+
```shell
39+
cargo fmt
40+
cargo clippy
41+
cargo test
42+
```
43+
44+
Otherwise, it won't be possible to merge your contribution.
45+
46+
### Git
47+
48+
Try to make small PRs, that could be squashed into a single commit.
49+
For larger for, try to make your commits small, self-contained and well described.
50+
Each commit should pass lints and tests.
51+
We are using rebase for merging pull requests, and thus we do not allow merge commits.
52+
53+
While your PR is being reviewed on, you can push merge commits and use [`git commit --fixup`](https://git-scm.com/docs/git-commit/2.32.0#Documentation/git-commit.txt---fixupamendrewordltcommitgt) to push further changes to your commits.
54+
Then, when your PR will be accepted, you can autosquash your fixups with [`git rebase --autosquash`](https://git-scm.com/docs/git-rebase#Documentation/git-rebase.txt---autosquash).
55+
56+
---
57+
58+
Thanks! ❤️ ❤️ ❤️
59+
60+
Scarb Team

0 commit comments

Comments
 (0)