What is the best way for a team to work on a Meteor app

Normally when you are working on an app using a framework. It is better to use vagrant such that everyone has an identical development environment. Setting it up on every individual machine is just too painful and error prone let alone the issues of it works on my computer but its doesn’t work on yours. It seems using vagrant with meteor is not very smooth. What is the best way for a team to collaborate on an app assuming you are using git. What is the equivalent for example of bundle install if I cloned or pulled my app and want it to have packages others may have added.

Yes Vagrant is tricky with lots of fiddling with rsync. I was so used to Vagrant that I spent a while at first trying to get it all set up. Old habits die hard but I don’t use Vagrant any longer. just

cd project
git pull
meteor

If you break your project up into packages which are kept in separate private git repos then it can be a slight pain lining up the all the simlinks. I also use a default private/settings.json file which has the default dev settings.

meteor --settings private/settings.json

If you’re going to deploy to your own server with NodeJS then be sure to do the

meteor build .
...
npm install

on you’re target platform or you might get headaches.

Sounds easy enough. how about the concept of separating your development, staging and production environment

That depends on your final deployment platform. I like to run my own with NodeJS behind nginx. That’s what the settings.json file controls. In node the settings need to get passed in via environment variables so don’t have too many.