Hello,
While some authors see the need to comment your code as a smell [1] I reckon not everyone can write readable and understandable code.
The general recommendation I'd make is to
- Write a README which covers the basic usage of your module, leave edge cases elsewhere
- Write a developer README, which covers how to run tests and how the module generally works
- Write tests with meaningful names
- Write an index.js file that gives the reader enough pointers to find whatever he or she is looking for
- Everytime you feel the need to write a comment, rewrite your code instead