Hi, welcome to mongodb-js. Here is some information to get you started as a contributor:
1. Install node.js and npm
For Mac and Windows, get the installer from nodejs.org and install it. That will get you node
and npm
.
For Linux distributions, check this article on how to install a current version of node.js. (Note: the article is also linked from node's wiki page.)
**2. Setup git and github **
See Setting up Git on Github's website for instructions to get started with git and github.
3. Join gitter channel
We're hanging out on gitter.im, join the channel to stay up to date or ask questions.
For small ("micro-")modules, it's okay to just have a single master branch.
For anything larger (like apps, or complex modules) we're loosely following nvie's branching model, where master is the stable branch, develop (or dev) is bleeding edge, and bufixes and features live on feature branches until they are reviewed and merged into the develop branch. nvie's release and hotfix branches are not that important (at least not yet).
In any case, please read the CONTRIBUTING
document in the repo's root directory for specific instructions how to contribute.
If you send a pull request, please also check what branches exist on the target repo. If there is more than one branch, then you should probably not send pull requests to master.
To contribute to existing repos, push your changes to a feature branch (pick a meaningful name, e.g. feature-123-welcomepage
) and make a pull request. If you want a code review, ask on gitter, or ping someone directly. You can also assign the PR to anyone for review.
As external contributor you don't have push rights to any of the repos. If you want to suggest changes, fork the repo, push your changes to a feature branch in your fork, and make a pull request.
If you use Sublime Text as your editor, you may find these plugins from Sublime Package Control useful:
- jsfmt a sublime plugin for jsfmt. Helps to keep a consistent code style for your JavaScript. Install via Package Control
- SublimeLinter-jshint a sublime plugin for the language-agnostic SublimeLinter plugin, using jshint. Checks for common mistakes and problems in your JavaScript code, like globally defined variables, missing semicolons, etc. Make sure to follow the installation steps listed on the website.
- Jade Syntax highlighing for .jade files (html templates)
- Less Syntax highlighting for .less files (css meta language)