Add COLLABORATING.md
This commit is contained in:
parent
5cd13dccc0
commit
14b6605d20
15
COLLABORATING.md
Normal file
15
COLLABORATING.md
Normal file
@ -0,0 +1,15 @@
|
||||
# a small guide to collaborating
|
||||
|
||||
The approach we use is like this:
|
||||
|
||||
- we create modules that solve a single problem (by modules I mean ES6 modules: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules#introducing_an_example)
|
||||
- if your main goal A requires a sub goal B, create (or get it delegated to someone to create) module B
|
||||
- each module exports <ins>pure functions</ins>
|
||||
- pure functions should always check their inputs and either
|
||||
- throw errors (when something should break, let it break) (note that it's not "if it must" but "if it should"!)
|
||||
- warn developers by console.warn if something is discouraged but doesn't affect the workflow/use case
|
||||
- for each class or function please add API documentation using the JSDoc format (https://github.com/jsdoc/jsdoc)
|
||||
|
||||
I advise you to check out https://git.fybx.dev/fyb/zkl-kds/src/branch/main/key-derivation.js and https://git.fybx.dev/fyb/zkl-kds/src/branch/main/key.js to get an idea on how to develop modules with pure functions.
|
||||
|
||||
might get updated occasionally, any questions -> [yigid](https://fybx.dev/telegram)
|
Loading…
x
Reference in New Issue
Block a user