Skip to content

teamtype/teamtype

Repository files navigation

Multiplayer mode for your text editor!

For complete end-user documentation see the Teamtype Documentation site.

Note

Until October 2025, this project was known as "Ethersync". The motivation for the rename was explained in this PR.

Teamtype enables real-time peer-to-peer collaborative editing of local files using your own text editor or other tools. For example, you can use it for pair programming sessions, brainstorming, or note-taking. It's the missing real-time complement to Git and other version control systems!

Demo video for how to make a connection and of collaborating in Neovim

Features

  • 👥 Edit files concurrently by multiple users using different text editors
  • 📍 See your peers' cursors, selections, and edits in real time
  • 🗃️ Collaborate on entire directories, not just single files
  • 🔒 Rest easy with encrypted peer-to-peer connections, no need for a server
  • ✒️ Maintain full access with a local-first model that retains all content on disk even if you go offline
  • 🧩 Write new editor plugins using a simple JSON-RPC protocol

We also maintain a list of other collaborative text-editing software.

What Teamtype is not

We are not a company and do not have anything to sell. We do not require you to create an account. We do not have access to your data, and do not use it to train AI algorithms. We do not serve you ads or track you in any way.

We are just a bunch of people building something we want to use ourselves and share with others.

🚦 Project status

We're currently maintaining Teamtype in our free time. We're often using it for pair programming ourselves, but there's still some bugs to be aware of.

📥 Installation

1. Install the teamtype command

Teamtype works on Linux, macOS, Android, and on the Windows Subsystem for Linux.

Binary releases

The releases on GitHub come with precompiled static binaries. Download one and put it somewhere in your shell's PATH:

  • x86_64-unknown-linux-musl for Linux
  • universal-apple-darwin for macOS
  • aarch64-unknown-linux-musl for Android (use a terminal emulator like Termux)
Arch Linux
sudo pacman -S teamtype
Homebrew
brew install teamtype
Nix

To put teamtype in your PATH temporarily, run:

nix shell nixpkgs#teamtype

Make sure to also have it in your PATH when you run the editors, or install it to your environment in your preferred way.

Via Cargo
cargo install --locked teamtype

To save some compilation time, you can use cargo-binstall, which will install a precompiled binary attached to our latest release:

cargo binstall teamtype

2. Install an editor plugin

  • Neovim
  • VS Code/Codium: Install the "Teamtype" extension from the marketplace

📖 Basic usage

In the directory you want to share:

$ teamtype share

    To connect to you, another person can run:

    teamtype join 5-hamburger-endorse

Peer connected: adfa90edd932732ddf242f24dc2dcd6156779e69966d432fcb3b9fe3ae9831ab

Another person, in a separate directory (also works on the same computer):

$ teamtype join 5-hamburger-endorse

Derived peer from join code. Storing in config (overwriting previous config).
Storing peer's address in .teamtype/config.
Connected to peer: 5e6b787fff79074735eb9b56939269100de1e37bc7f7a4d29c277cc24f7ee53d

The directories are now connected, and changes will be synced instantly. You can open text files (using editors with a Teamtype plugin), and start collaborating in real time! ✨

🎓 Learn more

🏘️ Community projects

Plugins:

Work-in-progress plugins:

Bridges:

🔨 Contributing

We'd love to receive your patches and other contributions! Small patches are very welcome as PRs. Before starting to implement a new big feature, please briefly check in with us so we can discuss how it fits in with our ideas for the project. We have a CONTRIBUTING.md file that gives more guidance. Please take note of our strict no-LLM policy.

If you're interested in building new editor plugins, read the editor plugin development guide. For more information about Teamtype's design, refer to the list of decision records.

If you find bugs, please open an issue on Github!

☎️ Contact

Feel free to join us on Zulip to ask us anything! Other good channels:

💚 Thanks

Teamtype received funding from NLNet's NGI0 Core Fund throughout 2024.

Thanks to the Prototype Fund and the Federal Ministry of Research, Technology and Space for funding this project in 2025.

Logo of the NLnet Foundation          Logo of the Prototype Fund         Logo of the Open Knowledge Foundation Germany    Logo of the German Federal Ministry of Research, Technology and Space

Teamtype is based on Automerge, Iroh, and Magic Wormhole.

And finally, thanks to everyone who helped us beta-test, or reported issues!

📜 License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This project is REUSE compliant, see the headers of each file for licensing information.