Let me make it clear: this project has no real community; I beleive in it's long term future, but that's just my opinion.
So every contribution is welcome.
If you contribute, you may show off your coding skills and I will praise you.
If you want to take things into your own hands, I will step back and let you make it yours. If I don't agree, I will make a pull request or fork.
If you want a small issue fixed, and you make a crappy pull request, I will be grateful and try to bring in the changes, and I will praise you a little less.
- Use the english language for identifiers and documentation
- Use spaces and not tabs
- Either reformat all modules with your favorite formatter, or adapt to the existing formatting
- Make many small commits
- Tag each release with the version number
B9 is a batch processing tool, it will be run once to produce a single artifact. Let it crash, or let it fail during type checking rather than making the code defensively handle unexpected result.
This project is part of the waste accumulated in software development. There is often little appreciation for code quality investments, also there is always the threat of immenant project death if other tools take of, therefore make your code friendly to the uninclined contributor.
Prefer using functors, monads, profunctors and free algebras over concrete concepts found in the problem domain.
Good beats Perfect: Favor a mediocre contribution over no contribution, that would have been brilliant and elegant.
If you don't have time to follow all the rules, contribute anyway.
If it motivates you to make brilliant but hard to learn abstractions, then, please go ahead and do it.