Tuesday, September 14, 2010

Announcing gogo, The Bash Project Switcher

If you're a developer, then you've faced this problem: When you switch between multiple projects, you have to switch your shell, your editor, and possibly a lot more. If it's time to start a new project, then there's all the busy work of making a new project.

Those problems are now ending.

gogo is a set of bash functions that will enable you to more easily switch things around. Since I wrote it (first) for me, it supports my most common needs up front: Python, Mercurial, Emacs, and TurboGears. The only piece that is not trivially swappable is Mercurial. I'm sorry, that's on my todo list, but I wanted to let people see it and maybe start getting some value from it.

I highly recommend checking out the README file. It includes instructions on getting set up, along with instructions on how to use the tool. For now, a quick summary of usage:
  • Make a new project: gogo -n myproject
  • Activate the new project (after having closed your current shell): gogo myproject
  • Make a new Python project: gogo -n -l python pyproject
  • Make a new TurboGears project: gogo -n -l python -t tg21 tgproject

Switching between projects is downright trivial. gogo even supports tab completion of project names. It's already helping me, and hopefully it can help you.

You can download the v0.4 release, or clone the latest repository (or even download a .tar.gz file of it).

No comments: