Please open an issue to report about found bugs in Sealchain.
The more detailed your report, the faster it can be resolved and will ensure it is resolved in the right way.
If you would like to contribute code to fix a bug, add a new feature, or otherwise improve Sealchain, pull requests are most welcome. It is a good idea to submit an issue to discuss the change before plowing into writing code.
Please make sure your contributions adhere to our coding guidelines:
- Code must adhere to the Serokell Haskell Style Guide.
- Code must be documented with Haddock.
- We are using GitFlow
branching model, so pull requests need to be based on and opened against the
develop
branch. - Please refer to this guide to write a good Git commit message.
Please note that Sealchain uses a custom prelude Universum instead of the default one.
Common tasks for development are kept in Makefile
s, one per package and one for the whole project.
Run make help
to get assistance on custom commands.
As an example, you can run make ghcid-test
in the wallet
package to get a test-running ghcid
process running.
Sealchain uses HLint as a code quality tool.
You can install it using stack install hlint
command.
To check Sealchain code run this script (from the sealchain
root directory):
$ ./scripts/haskell/lint.sh
Sealchain uses stylish-haskell tool to prettify Haskell code.
Please note that there is .stylish-haskell.yaml
in the root of the repository. This
configuration file requires stylish-haskell
version 0.8.1.0
or newer.
You can install it using stack install stylish-haskell
command.
We also use editorconfig
to maintain consistent indentation and maximum line length.
You can download a plugin for almost any common editor.
To run tests for Sealchain code use this command (from the sealchain
root directory):
$ stack test