Contributing to Bionode
Thank you for your interest in contributing to Bionode and joining us
Bionode is an Open Source community that aims at building highly reusable code and tools for bioinformatics by leveraging the Node.JS ecosystem. We use Node.JS Streams to process big genomic data.
This document has a set of guidelines for contributing to Bionode on GitHub. These are guidelines, not rules. This guide is meant to make it easier for you to get involved.
- Participation guidelines
- What we're working on
- How to submit changes
- How to report bugs
- Communication channels
What we're working on
Take a look at the GitHub issues in our organisation wide project board at project.bionode.io. Here's what each column means:
- Backlog All the issues we have open (sorted by most recent). You'll find a lot in here and maybe something you could help us with.
- Next What we want to work on next! Picking something to solve here would be greatly appreciated!!
- In Progress Things we are currently working on, come help us! The person assigned to each issue is the one in charge and who you can ask any question.
- Done Solved issues (sorted by closed date). Here you can check what we've been up to in the past.
If you want to have a view of where all of this is going in the long run, check out our Roadmap issue, where we discuss our vision.
How to submit changes
Each bionode tool and library has its own repository (like a folder).
Once you've identified one of the issues above that you feel you can contribute to, you're ready to make a change to the repository of that issue! However, it's always a good idea to talk to us first. Specially if you intend to take on something big, just to make sure we're on the same track.
- Fork the repository that the issue belongs to. This makes your own version of the tool/library that you can edit and use. If you were invited to the Bionode organisation on GitHub, you can just
git clonethe repo and use a
git branchinstead of
- Make your changes! You can do this in the GitHub interface on your own local machine. Once you're happy with your changes...
- Submit a pull request. This opens a discussion around your project and lets the project lead know you are proposing changes.
First time contributing to open source? Check out this free series, How to Contribute to an Open Source Project on GitHub.
How to report bugs
Any general Bionode bug or question should be reported on the issue tracker of bionode/bionode. Anything that is specific to one of the tools, e.g.
bionode-ncbi, should be reported under that tool issue tracker.
Don't be shy! Come talk to us
- Email firstname.lastname@example.org
- Chat room http://gitter.im/bionode/bionode
- IRC #bionode on Freenode
- Twitter @bionode
Node.JS specific commands
If you're new to Node.JS we highly recommend checking the NodeSchool workshop that you can install and run in your command line. Example:
npm install -g learnyounode learnyounode
To install a local version of a bionode tool that you are modifying (e.g. bionode-ncbi):
git clone email@example.com:bionode/bionode-ncbi.git cd bionode-ncbi npm install # Install all dependencies defined in the package.json file npm link # Setup bionode-ncbi in your PATH to point to this local version
You can now modify the code in the
bionode-ncbi folder and test the effect of those changes when you run the
bionode-ncbi command in your terminal.
To run a bionode tool suite of tests and check their code coverage, you can do:
npm test npm run coverage
To rebuild and minify a bionode module for the browser (if supported) do:
npm run build-browser
To rebuild the documentation using the comments in the code do:
npm run build-docs
npm install -g standard standard