XMPP (Jabber) is used by the [[assistant]] as a git remote. This is, technically not a git-annex special remote (large files are not transferred over XMPP; only git commits are sent). Typically XMPP will be set up using the web app, but here's how a manual set up could be accomplished: 1. xmpp login credentials need to be stored in `.git/annex/creds/xmpp`. Obviously this file should be mode 600. An example file: XMPPCreds {xmppUsername = "joeyhess", xmppPassword = "xxxx", xmppHostname = "xmpp.l.google.com.", xmppPort = 5222, xmppJID = "joeyhess@gmail.com"} 2. A git remote is created using a special url, of the form `xmpp::user@host` For the above example, it would be `url = xmpp::joeyhess@gmail.com` 3. The uuid of one of the other clients using XMPP should be configured using the `annex.uuid` setting, the same as is set up for other remotes. With the above configuration, the [[assistant]] will use xmpp remotes much as any other git remote. Since XMPP requires a client that is continually running to see incoming pushes, the XMPP remote cannot be used with git at the command line. See also: [[xmpp_protocol_design_notes|design/assistant/xmpp]]