This repository has been archived by the owner. It is now read-only.
A real-time collaborative editing platform built on Git.
Ruby Emacs Lisp
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



by Phil Hagelberg (C) 2008

Conspire is a real-time collaborative editing platform using Git as a transport layer.


You'll need git 1.5.5 or higher. Ubuntu 8.04 has an older git, but MacPorts' version is OK. You'll also need the package libavahi-compat-libdnssd-dev on Debian-based systems.

$ sudo gem install roastbeef; roastbeef install git
$ sudo apt-get install libavahi-compat-libdnssd-dev

Once prerequisites are met:

$ sudo gem install technomancy-conspire --source=


Conspiracy sessions operate around repositories rather than single files like other collaborative editors. So launch conspire with a directory as its first argument to have it initialize a repository in that directory. From there you should open up your editor and invoke conspire from there on the files with which you wish to collaborate.

See lib/conspire/support to see which editors are supported. In Emacs, install conspire.el and then visit the file you want to edit and pressing M-x conspire-mode, though this is still very rough and should be done in its own Emacs instance.

Repository history is cleared in between conspiracy sessions.

For testing purposes, you can run two or more conspiracies on the same machine; you just have to specify an alternate port and name for the others. Names should always include the string “conspiracy” to distinguish them from other gitjour repositories.

$ conspire repo -p 7457 -n conspiracy2

Set the DEBUG environment variable to get more information on the console.


  • Conflict resolution remains entirely unhandled.

  • The Emacs frontend currently requires its own Emacs instance.

  • When using Avahi for your ZeroConf implementation, you will not be able to do anything unless you have an active network connection. So disconnected conspirancy sessions are not possible without bringing up an ad-hoc network to trick Avahi into activating. You'll also see a big fat warning, which should be ignored.

Editor Support

Editors must support:

  • Saving on an interval

  • Committing files to the repo

  • Refreshing internal buffers

Edits should not be allowed in between these steps.

Editors may be able to support launching the conspire executable for added convenience.

That's about all there is to it. If your favourite editor is not supported, please fork and add support for it; it's really not a difficult task.