Git-backed real time collaborative editor built with meteor.
CoffeeScript JavaScript CSS


Git-backed real time collaborative editor built with meteor.

Here's a quick demo:

The current version of jotgit is a prototype that lets you collaboratively edit Markdown files in a local git repository. Then you can save the files (with an optional commit message), and they'll be committed to the repository.

Getting Started

This assumes that you're on Linux or Mac OS X.

First, you'll need to install node.js and meteorite, the package manager for meteor. The recommended way to do this is to first install the node version manager, following these directions. The command will be something like:

curl | bash

Then, restart your terminal, and run

nvm install 0.10

to install node 0.10 (the latest stable release, at the time of writing).

Install meteorite globally (via the node package manager, npm) with

npm install -g meteorite

If you have not yet installed Meteor, do that:

curl | /bin/sh

Clone this repository:

git clone

Start up meteor with meteorite:

cd jotgit # or wherever you cloned it

It should pull in all of the required dependencies. Make some tea.

Then visit localhost:3000 in your browser. Be sure to try with multiple windows!

By default, it loads up the test repository in tests/demo. To point it at another repository, you can either edit server/ or use meteor settings to specify an alternative projectPath.


Jotgit ...

The code is structured in the usual way for a meteor app: the files in server run on the server, the files in client run on the client, and the files in lib run on both. There's also a jotgit-core package in packages/jotgit-core that contains most of the core classes (stuff that is not very meteor-specific).


  • allow remote pushes to the repository (mostly done, but still need to notify web clients after a push)

  • auto-saves

  • multiple projects

  • user accounts

  • some way of handling multiple commit authors (apparently not supported by git)

  • option to commit to github instead of a local git repo

  • file type handling (various text files, binary files)

  • file uploads


MIT --- see LICENSE file.