If want to add a feature but are not sure how to do this or how it should behave in edge cases, feel free to chat us up in gitter.
When making PRs:
-
Use
develop
as the base branch, notmaster
-
Please allow Airstream maintainers to make changes to your branch. We might make changes, so make a copy of your branch if you need to.
Note: we will likely squash your commits when merging into develop
.
Please try to match the existing code style, including naming conventions and formatting. I might fix up such things to my liking before merging.
We don't have scalafmt set up at the moment. Previous versions weren't flexible enough for me, but I'll re-evaluate soon.
Airstream offers several types of methods like combineWith
and mapN
in varying arities. These live in packages called generated
, in implicit classes that are generated at compile time by generators located in the project
folder.
To apply and execute your changes to the generators, run reload; compile
in sbt. We commit all generated files to git because invisible code is annoying to figure out, and to help with source maps.
README.md needs to be updated before the changes can be merged into master
. I usually do this after the feature is done.
We used to publish itemized changes in CHANGELOG.md but we switched to publishing release blog posts at laminar.dev.