+If you want to give vcsh a try, follow the instructions below.
+
+
+# Getting Started
+
+Below, you will find a few different methods for setting up vcsh:
+
+1. The Template Way
+2. The Steal-from-Template Way
+3. The Manual Way
+
+### The Template Way
+
+#### Prerequisites
+
+Make sure none of the following files and directories exist for your test
+(user). If they do, move them away for now:
+
+* ~/.gitignore.d
+* ~/.mrconfig
+* $XDG\_CONFIG\_HOME/mr/available.d/mr.vcsh
+* $XDG\_CONFIG\_HOME/mr/available.d/zsh.vcsh
+* $XDG\_CONFIG\_HOME/mr/config.d/mr.vcsh
+* $XDG\_CONFIG\_HOME/vcsh/repo.d/mr.git/
+
+All of the files are part of the template repository, the directory is where
+the template will be stored.
+
+ apt-get install mr
+
+#### Install vcsh
+
+#### Debian
+
+If you are using Debian Squeeze, you will need to enable backports
+
+ apt-get install vcsh
+
+#### Arch Linux
+
+vcsh is availabe via [AUR](https://aur.archlinux.org/packages.php?ID=54164)
+and further documentation about the use of AUR is available
+[on Arch's wiki](https://wiki.archlinux.org/index.php/Arch_User_Repository).
+
+ cd /var/abs/local/
+ wget https://aur.archlinux.org/packages/vc/vcsh-git/vcsh-git.tar.gz
+ tar xfz vcsh-git.tar.gz
+ cd vcsh-git
+ makepkg -s
+ pacman -U vcsh*.pkg.tar.xz
+
+#### From source
+
+If your version of mr is older than version 1.07, make sure to put
+
+ include = cat /usr/share/mr/vcsh
+
+into your .mrconfig .
+
+ # choose a location for your checkout
+ cd $HOME
+ mkdir -p ~/work/git
+ git clone git://github.com/RichiH/vcsh.git
+ cd vcsh
+ ln -s vcsh /usr/local/bin # or add it to your PATH
+ cd
+
+#### Clone the Template
+
+ vcsh clone git://github.com/RichiH/vcsh_mr_template.git mr
+
+#### Enable Your Test Repository
+
+ mv ~/.zsh ~/zsh.bak
+ mv ~/.zshrc ~/zshrc.bak
+ cd $XDG_CONFIG_HOME/mr/config.d/
+ ln -s ../available.d/zsh.vcsh . # link, and thereby enable, the zsh repository
+ cd
+ mr up
+
+#### Set Up Your Own Repositories
+
+Now, it's time to edit the template config and fill it with your own remotes:
+
+ vim $XDG_CONFIG_HOME/mr/available.d/mr.vcsh
+ vim $XDG_CONFIG_HOME/mr/available.d/zsh.vcsh
+
+And then create your own stuff:
+
+ vcsh init foo
+ vcsh run foo git add -f bar baz quux
+ vcsh run foo git remote add origin git://quuux
+ vcsh run foo git commit
+ vcsh run foo git push
+
+ cp $XDG_CONFIG_HOME/mr/available.d/mr.vcsh $XDG_CONFIG_HOME/mr/available.d/foo.vcsh
+ vim $XDG_CONFIG_HOME/mr/available.d/foo.vcsh # add your own repo
+
+Done!
+
+### The Steal-from-Template Way
+
+You're welcome to clone the example repository:
+
+ vcsh clone git://github.com/RichiH/vcsh_mr_template.git mr
+ # make sure 'include = cat /usr/share/mr/vcsh' points to an exiting file
+ vim .mrconfig
+
+Look around in the clone. It should be reasonably simple to understand. If not,
+poke me, RichiH, on Freenode (query) or OFTC (#vcs-home).
+
+
+### The Manual Way
+
+This is how my old setup procedure looked like. Adapt it to your own style or
+copy mine verbatim, either is fine.
+
+ # Create workspace
+ mkdir -p ~/work/git
+ cd !$
+
+ # Clone vcsh and make it available
+ git clone git://github.com/RichiH/vcsh.git vcsh
+ sudo ln -s ~/work/git/vcsh/vcsh /usr/bin/local
+ hash -r
+
+Grab my mr config. see below for details on how I set this up
+
+ vcsh clone ssh://<remote>/mr.git
+ cd $XDG_CONFIG_HOME/mr/config.d/
+ ln -s ../available.d/* .
+
+
+mr is used to actually retrieve configs, etc
+
+ ~ % cat ~/.mrconfig
+ [DEFAULT]
+ # adapt /usr/share/mr/vcsh to your system if needed
+ include = cat /usr/share/mr/vcsh
+ include = cat $XDG_CONFIG_HOME/mr/config.d/*
+ ~ % echo $XDG_CONFIG_HOME
+ /home/richih/.config
+ ~ % ls $XDG_CONFIG_HOME/mr/available.d # random selection of my repos
+ git-annex gitk.vcsh git.vcsh ikiwiki mr.vcsh reportbug.vcsh snippets.git wget.vcsh zsh.vcsh
+ ~ %
+ # then simply ln -s whatever you want on your local machine from
+ # $XDG_CONFIG_HOME/mr/available.d to $XDG_CONFIG_HOME/mr/config.d
+ ~ % cd
+ ~ % mr -j 5 up
+
+
+# Usage Examples
+
+All examples in this section will use the short form of `vcsh` which is the
+simplest way to interface with it. If you don't know what that means simply
+ignore this fact for now and follow the examples.
+
+## Initialize a new repository "vim"
+
+ vcsh init vim
+
+## Clone an existing repository
+
+ vcsh clone <remote> <repository_name>
+
+## Add files to repository "vim"
+
+ vcsh vim add ~/.vimrc ~/.vim
+ vcsh vim commit -m 'Update Vim configuration'
+
+## Add a remote for repository "vim"
+
+ vcsh vim remote add origin <remote>
+ vcsh vim push origin master:master
+ vcsh vim branch --track master origin/master
+
+## Push to remote of repository "vim"
+
+ vcsh vim push
+
+## Pull from remote of repository "vim"
+
+ vcsh vim pull
+
+
+# mr usage ; will be factored out & rewritten
+
+### Keeping repositories Up-to-Date
+
+This is the beauty of it all. Once you are set up, just run:
+
+ mr up
+ mr push
+
+Neat.
+
+### Making Changes
+
+After you have made some changes, for which you would normally use `git add`
+and `git commit`, use the vcsh wrapper (like above):
+
+ vcsh run foo git add -f bar baz quux
+ vcsh run foo git commit
+ vcsh run foo git push
+
+By the way, you'll have to use -f/--force flag with git-add because all files
+will be ignored by default. This is to show you only useful output when running
+git-status. A fix for this problem is being worked on.
+
+### Using vcsh without mr
+
+vcsh encourages you to use [mr][mr]. It helps you manage a large number of
+repositories by running the necessary vcsh commands for you. You may choose not
+to use mr, in which case you will have to run those commands manually or by
+other means.
+
+
+To initialize a new repository: `vcsh init zsh`
+
+To clone a repository: `vcsh clone ssh://<remote>/zsh.git`
+
+To interact with a repository, use the regular Git commands, but prepend them
+with `vcsh run $repository_name`. For example:
+
+ vcsh run zsh git status
+ vcsh run zsh git add -f .zshrc
+ vcsh run zsh git commit
+
+Obviously, without mr keeping repositories up-to-date, it will have to be done
+manually. Alternatively, you could try something like this:
+
+ for repo in `vcsh list`; do
+ vcsh run $repo git pull;
+ done
+
+
+# Contact
+
+There are several ways to get in touch with the author and a small but committed
+community around the general idea of version controlling your (digital) life.
+
+* IRC: #vcs-home on irc.oftc.net
+
+* Mailing list: [http://lists.madduck.net/listinfo/vcs-home][vcs-home-list]
+
+* Pull requests or issues on [https://github.com/RichiH/vcsh][vcsh]
+