As an open source project, Libra gladly welcomes contributions. We're really happy that you're keen on helping!
If you have found a bug, or have an idea for something new, please don't hesitate to raise an issue. We'll discuss your idea on the issue, and someone else might decide to implement it.
Libra uses the fork and pull model for contributions.
If there is already a GitHub issue for the task you are working on, please leave a comment on the issue to let us know that you're working on it.
First you'll need to checkout a local copy of the code base:
git clone git@github.com:to-ithaca/libra.git
Libra is build using sbt. Run sbt
, and then compile
to compile the code or test
to run all tests.
- We use scalatest for our tests
- We use doctest for scaladoc tests
- Coverage stats are published to codecov.io
Travis will run tests with every pull request, but running them locally with sbt test
might save you some time.
Libra uses sbt-microsites to generate its site and docs. This uses jekyll to build and serve the site.
The microsite can be built and served using:
sbt makeMicrosite
cd target/site
jekyll serve
You can check it by navigating to http://localhost:4000/libra/
More information on setting up and building can be found in the sbt-microsites guide.
Once you've got some code you want to contribute, you can make a pull request. The project maintainers will review it, might suggest changes, and will merge it in if they're happy.
Libra falls under the Apache Licence 2.0. Opening a pull request signifies that you consent to this licence.
Libra is fully supportive of the Typelevel Code of Conduct. We ask that all our contributors adhere to this to create a welcoming envoronment. If you feel like you're being harrassed, please contact one of us immediately so that we can support you.
This document is heavily based on the http4s contributor guide.
The following people have helped made Libra great: