Scarb is actively developed and open for contributions!
Want to get started?
Grab any unassigned issue labeled with help-wanted
!
Looking for some easy warmup tasks?
Check out issues labeled with
good-first-issue
!
Need some guidance? Reach out to other developers on Telegram!
Latest stable Rust is the only thing you really need. It is recommended to use rustup for getting it.
If you wish to work on Scarb's website, you will need Node.js. We recommend to install it using asdf (via nodejs plugin).
Before you open a pull request, it is always a good idea to search the issues and verify if the feature you would like to add hasn't been already discussed. We also appreciate creating a feature request before making a contribution, so it can be discussed before you get to work.
Please make sure the feature you are implementing is thoroughly tested with automatic tests. You can check test already in the repository, to see how to approach that.
If the change you are introducing is changing or breaking the behavior of any already existing features, make sure to include that information in the pull request description.
Before creating a contribution, make sure your code passes the following checks:
cargo fmt
cargo clippy
cargo test
Otherwise, it won't be possible to merge your contribution.
Try to make small PRs, that could be squashed into a single commit. For larger work, try to make your commits small, self-contained and well described. Each commit should pass lints and tests. Then, set up a stack of pull requests, separate PR for each commit, and pointing to the previous one.
While your PR is being reviewed on, you can push merge commits and
use
git commit --fixup
to push further changes to your commits.
Our policy is to not accept PRs that only fix typos in the documentation and code. We appreciate your effort, but we encourage you to focus on bugs and features instead.
Sometimes you may happen to work on a feature to the Cairo compiler, and you would like to test how it works in Scarb (for example, if you are working on Starknet Foundry).
We have a script that edits the Cargo.toml
file to use a local checkout of the Cairo compiler.
To use this tool, run:
cargo xtask set-cairo-version --path ../path/to/cairo
And then you can cargo build
Scarb with your custom Cairo compiler changes.
Thanks! ❤️ ❤️ ❤️
Scarb Team