2.3 KiB
Development recommendations
Most of our developers use using Visual Studio Code. In that case, you just have to open the project, and install the recommended extensions. Before continuing, make sure you've read:
- Alejandro's post on setting up a Haskell development environment, but forget about the Visual Studio Code configuration outlined there.
- Kowainik's Haskell Style Guide.
Setting up the project
Native dependencies
The included adapter/kafka
project requires development headers of the rdkafka library:
- on macOS
sudo brew install librdkafka
- on fedora
sudo dnf install librdkafka-devel
- on debian
sudo apt-get install librdkafka-dev
Git submodules
This project uses git submodules (notably for examples/library/). You can run git submodule update --init --recursive
once after checkout, or git config --global submodule.recurse true
to globally enable submodules.
Integration tests
See also https://github.com/higherkindness/mu-scala-haskell-integration-tests
Visual Studio Code extensions
To make our lives easier while developing in Haskell, we use a set of recommended extensions. The first time you open the project, the editor should suggest to install all those you do not have:
- Haskell, the best thing that happened to Haskell for editors/IDEs! ❤️
- editorconfig, to have consistency between different editors and envs 🐀
Styling 💅🏼
We loosely follow Kowainik's Haskell Style Guide. In order to automate styling, we use stylish-haskell, for which we provide a .stylish-haskell.yaml
configuration file.
We don't provide any git hook or tool that enforces our style. By default the provided .vscode/settings.json
file runs styling on every save. However, before you propose any PR please make sure to run stylish-haskell
yourself, and to follow our style guide mentioned above to the extent possible. 😊
Happy hacking! 👏🏼