Skip to content

Commit c3aa159

Browse files
committed
docs
1 parent 5868344 commit c3aa159

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Contributing to Rimmel.js
2+
3+
Hey, welcome to Rimmel.js and the wonderful world of reactive markup and Stream-Oriented Programming.
4+
5+
Here you can find all ways you can contribute to this project and help us shape and evolve this new exciting programming paradigm
6+
7+
- 💫 [Star the repo](https://github.com/reactivehtml/rimmel) (this may sound silly, but even the most clever engineers are biased, they don't even look at a project if it doesn't have "enough" stars.
8+
- ⌨️ Use it in your projects and discover this new programming paradigm.
9+
- 📖 Improve documentation, create tutorials, videos — that can be right here or your blog, your youtube channel. Any medium that's exposed to the Internet works
10+
- 🤔 Raise issues — Anything not working? Open a bug report here
11+
- 🛠️ Pull requests — PRs are all welcome
12+
13+
# Development Guidelines
14+
We really favour concise, short and efficient code. Giving a proper definition of that is very hard, so at least trying to stick with the style of the rest of the code would be appreciated.
15+
If you find something that can or should be improved noneteless, please raise it. We don't want to just impose a style because we like it, we want a UI library that's great!
16+
17+
## Testing
18+
Being a low-level library very large applications can depend on, it's critical to have an excellent test coverage.
19+
How do we know we do indeed have a great test coverage? Structure and Test architecture. We use patterns like the testing pyramid and BDD-style divide-and-conquer approaches to make it easy to check if use cases are grouped in sensible ways and each group of scenarios is covered adequately.
20+
21+
We also introduced things like Stryker that randomly mutates code and checks if that cause any tests to fail. If it doesn't, we know where we need to improve.
22+
23+
Did we ever mention the importance of manual testing? Test automation is great, but you only ever get perfect test automation after you went through a number of manual iterations. Just [clone a project on Stackblitz](https://stackblitz.com/edit/rimmel-click-counter) and run your stuff. It's not just going to be fun, you'll have an opportunity to test in real life your changes and the impact of your contribution.
24+
25+
## Types
26+
Being Rimmel a library, strong, end-to-end typing is what we want to make application development as pleasurable as efficient as possible. We also understand some things are still difficult to type. If TypeScript doesn't have a key feature that's needed, it's better to open a case with TypeScript and push for changes, rather than just settle with nasty workarounds.

0 commit comments

Comments
 (0)