From dd5ca31b470c9616a3f41ab61d58b73628bf71a7 Mon Sep 17 00:00:00 2001 From: Thomas Rueckstiess Date: Wed, 18 Mar 2015 14:56:15 -0400 Subject: [PATCH 1/4] added welcome page + link from README --- docs/README.md | 4 +++ docs/welcome.md | 76 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 docs/welcome.md diff --git a/docs/README.md b/docs/README.md index c0639d8..70049f8 100644 --- a/docs/README.md +++ b/docs/README.md @@ -3,6 +3,10 @@ A collective of JavaScript that does things to or with MongoDB.
+
Welcome to mongodb-js
+
+ Information for new contributors (internal or external) to get you started. +
New To JS
Helpful links and resources for folks new to working with JavaScript. diff --git a/docs/welcome.md b/docs/welcome.md new file mode 100644 index 0000000..0b89162 --- /dev/null +++ b/docs/welcome.md @@ -0,0 +1,76 @@ +# Welcome + +Hi, welcome to mongodb-js. Here is some information to get you started as a contributor: + +## Setup + +**1. Install node.js and npm** + +For Mac and Windows, get the installer from [nodejs.org](https://nodejs.org/download/) and install it. That will get you `node` and `npm`. + +For Ubuntu, you can get a stable version from the default repository via +``` +sudo apt-get install nodejs +sudo apt-get install npm +``` +or install nvm (node version manager) for latest version and easy way to swich versions for testing. See installation instructions [here](https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-an-ubuntu-14-04-server). + +**2. Install git** + +Mac users can get an installer from [http://git-scm.com/download/mac](). Windows users get it from [http://git-scm.com/download/win](). Linux users can usually use their respective package managers, e.g. for Ubuntu: +``` +sudo apt-get install git +``` + +For first time git setup, also make sure you set your name and email address, e.g. +``` +git config --global user.name "John Doe" +git config --global user.email johndoe@example.com +``` +There are some more [global git setup options](http://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup). + +**3. Join gitter channel** + +We're hanging on [gitter.im](https://gitter.im/mongodb-js), join the channel to stay up to date or ask questions. + + +## Contributing + +### Branching model + +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](http://nvie.com/posts/a-successful-git-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). + +If you send a pull request, please check what branches exist on the target repo. If there is more than one branch, please do **not** send any pull requests to _master_! They must go to _dev_ / _develop_. + +### mongodb-js organization members + +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. Ask for a review on [gitter](https://gitter.im/mongodb-js), or ping someone directly. You can also assign the PR to anyone for review. + +### External contributors + +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. Ask on [gitter](https://gitter.im/mongodb-js) for a review. It's probably a good idea to also ask on gitter first, before you put a lot of work in a change or new feature. Maybe your feature is already in someone's private clone, or we already decided against such a change. + +## Configs + +#### Javascript Format, Linting + +- [`.jsfmtrc`](./jsfmtrc) +- [`.jshintrc`](./jshintrc) + +#### Setting up TravisCI + +- [`.travis.yml`](./travis.yml) + + +### Sublime Text 2/3 Plugins + +If you use Sublime Text as your editor, you may find these plugins useful: + +- [Sublime Package Control](https://packagecontrol.io/installation) one package to rule them all. +- [jsfmt](https://packagecontrol.io/packages/jsfmt) a sublime plugin for [jsfmt](http://rdio.github.io/jsfmt/). Helps to keep a consistent code style for your JavaScript. [Install via Package Control](https://github.com/ionutvmi/sublime-jsfmt#installation) +- [SublimeLinter-jshint](https://packagecontrol.io/packages/SublimeLinter-jshint) a sublime plugin for the language-agnostic [SublimeLinter](https://packagecontrol.io/packages/SublimeLinter) plugin, using [jshint](http://jshint.com/). 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](https://packagecontrol.io/packages/SublimeLinter-jshint). +- [Jade](https://packagecontrol.io/packages/Jade) Syntax highlighing for .jade files (html templates) +- [Less](https://packagecontrol.io/packages/LESS) Syntax highlighting for .less files (css meta language) + From e51ef371407d5701013884703e77ac279edd7ba5 Mon Sep 17 00:00:00 2001 From: Thomas Rueckstiess Date: Wed, 18 Mar 2015 15:00:13 -0400 Subject: [PATCH 2/4] missing word. --- docs/welcome.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/welcome.md b/docs/welcome.md index 0b89162..a83f5de 100644 --- a/docs/welcome.md +++ b/docs/welcome.md @@ -31,7 +31,7 @@ There are some more [global git setup options](http://git-scm.com/book/en/v2/Get **3. Join gitter channel** -We're hanging on [gitter.im](https://gitter.im/mongodb-js), join the channel to stay up to date or ask questions. +We're hanging out on [gitter.im](https://gitter.im/mongodb-js), join the channel to stay up to date or ask questions. ## Contributing From 5b82c9df98d951c79e35839163c91a00613e329d Mon Sep 17 00:00:00 2001 From: Thomas Rueckstiess Date: Wed, 18 Mar 2015 17:23:13 -0400 Subject: [PATCH 3/4] changes after first round of reviews. --- docs/welcome.md => CONTRIBUTING.md | 30 +++++------------------------- README.md | 26 +++++++++++++++++++++++++- docs/README.md | 27 --------------------------- 3 files changed, 30 insertions(+), 53 deletions(-) rename docs/welcome.md => CONTRIBUTING.md (72%) delete mode 100644 docs/README.md diff --git a/docs/welcome.md b/CONTRIBUTING.md similarity index 72% rename from docs/welcome.md rename to CONTRIBUTING.md index a83f5de..bb2eb17 100644 --- a/docs/welcome.md +++ b/CONTRIBUTING.md @@ -1,4 +1,4 @@ -# Welcome +# Contributing Hi, welcome to mongodb-js. Here is some information to get you started as a contributor: @@ -15,19 +15,10 @@ sudo apt-get install npm ``` or install nvm (node version manager) for latest version and easy way to swich versions for testing. See installation instructions [here](https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-an-ubuntu-14-04-server). -**2. Install git** +**2. Setup git and github ** -Mac users can get an installer from [http://git-scm.com/download/mac](). Windows users get it from [http://git-scm.com/download/win](). Linux users can usually use their respective package managers, e.g. for Ubuntu: -``` -sudo apt-get install git -``` +See [Setting up Git](https://help.github.com/articles/set-up-git/#setting-up-git) on Github's website for instructions to get started with git and github. -For first time git setup, also make sure you set your name and email address, e.g. -``` -git config --global user.name "John Doe" -git config --global user.email johndoe@example.com -``` -There are some more [global git setup options](http://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup). **3. Join gitter channel** @@ -46,22 +37,11 @@ If you send a pull request, please check what branches exist on the target repo. ### mongodb-js organization members -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. Ask for a review on [gitter](https://gitter.im/mongodb-js), or ping someone directly. You can also assign the PR to anyone for review. +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](https://gitter.im/mongodb-js), or ping someone directly. You can also assign the PR to anyone for review. ### External contributors -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. Ask on [gitter](https://gitter.im/mongodb-js) for a review. It's probably a good idea to also ask on gitter first, before you put a lot of work in a change or new feature. Maybe your feature is already in someone's private clone, or we already decided against such a change. - -## Configs - -#### Javascript Format, Linting - -- [`.jsfmtrc`](./jsfmtrc) -- [`.jshintrc`](./jshintrc) - -#### Setting up TravisCI - -- [`.travis.yml`](./travis.yml) +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. ### Sublime Text 2/3 Plugins diff --git a/README.md b/README.md index 436e0e3..d40346c 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,27 @@ # mongodb-js -Meta repo for tracking all of the js related things. +A collective of JavaScript that does things to or with MongoDB. + +
+
Contributing to mongodb-js
+
+ Information for new contributors (internal or external) to get you started. +
+
New To JS
+
+ Helpful links and resources for folks new to working with JavaScript. +
+
Modules
+
+ Modules we use and a bit about why each is special. +
Transfering Projects
+
+ How and why to transfer projects from your personal GitHub account into + the mongodb-js organization. +
+
Quality
+
+ Documentation, versioning, style, and testing measures we deploy to keep + the entire organization green. +
+
diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index 70049f8..0000000 --- a/docs/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# mongodb-js - -A collective of JavaScript that does things to or with MongoDB. - -
-
Welcome to mongodb-js
-
- Information for new contributors (internal or external) to get you started. -
-
New To JS
-
- Helpful links and resources for folks new to working with JavaScript. -
-
Modules
-
- Modules we use and a bit about why each is special. -
Transfering Projects
-
- How and why to transfer projects from your personal GitHub account into - the mongodb-js organization. -
-
Quality
-
- Documentation, versioning, style, and testing measures we deploy to keep - the entire organization green. -
-
From 83cf371be90bbf614dc87e741c0c4818c3e6119e Mon Sep 17 00:00:00 2001 From: Thomas Rueckstiess Date: Wed, 18 Mar 2015 17:45:28 -0400 Subject: [PATCH 4/4] some more changes from Lucas' comments. --- CONTRIBUTING.md | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bb2eb17..7afe3af 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,12 +8,7 @@ Hi, welcome to mongodb-js. Here is some information to get you started as a cont For Mac and Windows, get the installer from [nodejs.org](https://nodejs.org/download/) and install it. That will get you `node` and `npm`. -For Ubuntu, you can get a stable version from the default repository via -``` -sudo apt-get install nodejs -sudo apt-get install npm -``` -or install nvm (node version manager) for latest version and easy way to swich versions for testing. See installation instructions [here](https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-an-ubuntu-14-04-server). +For Linux distributions, check [this article](https://nodesource.com/blog/nodejs-v012-iojs-and-the-nodesource-linux-repositories) on how to install a current version of node.js. (Note: the article is also linked from [node's wiki page](https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager).) **2. Setup git and github ** @@ -33,7 +28,9 @@ 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](http://nvie.com/posts/a-successful-git-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). -If you send a pull request, please check what branches exist on the target repo. If there is more than one branch, please do **not** send any pull requests to _master_! They must go to _dev_ / _develop_. +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_. ### mongodb-js organization members @@ -46,9 +43,8 @@ As external contributor you don't have push rights to any of the repos. If you w ### Sublime Text 2/3 Plugins -If you use Sublime Text as your editor, you may find these plugins useful: +If you use Sublime Text as your editor, you may find these plugins from [Sublime Package Control](https://packagecontrol.io/installation) useful: -- [Sublime Package Control](https://packagecontrol.io/installation) one package to rule them all. - [jsfmt](https://packagecontrol.io/packages/jsfmt) a sublime plugin for [jsfmt](http://rdio.github.io/jsfmt/). Helps to keep a consistent code style for your JavaScript. [Install via Package Control](https://github.com/ionutvmi/sublime-jsfmt#installation) - [SublimeLinter-jshint](https://packagecontrol.io/packages/SublimeLinter-jshint) a sublime plugin for the language-agnostic [SublimeLinter](https://packagecontrol.io/packages/SublimeLinter) plugin, using [jshint](http://jshint.com/). 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](https://packagecontrol.io/packages/SublimeLinter-jshint). - [Jade](https://packagecontrol.io/packages/Jade) Syntax highlighing for .jade files (html templates)