{"id":32776168,"url":"https://github.com/teamtype/teamtype","last_synced_at":"2026-04-09T04:02:50.891Z","repository":{"id":217897009,"uuid":"745032548","full_name":"teamtype/teamtype","owner":"teamtype","description":"Peer-to-peer, editor-agnostic collaborative editing of local text files.","archived":false,"fork":false,"pushed_at":"2026-03-29T17:36:54.000Z","size":3447,"stargazers_count":1762,"open_issues_count":102,"forks_count":45,"subscribers_count":13,"default_branch":"main","last_synced_at":"2026-03-29T19:34:42.029Z","etag":null,"topics":["automerge","collaboration","collaborative-editing","crdt","local-first","peer-to-peer","plugin","synchronization"],"latest_commit_sha":null,"homepage":"https://teamtype.github.io/teamtype/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/teamtype.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-01-18T14:06:09.000Z","updated_at":"2026-03-29T18:06:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"e2841e79-8b5b-4d06-99cd-19241c7b1a57","html_url":"https://github.com/teamtype/teamtype","commit_stats":null,"previous_names":["ethersync/ethersync","teamtype/teamtype"],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/teamtype/teamtype","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamtype%2Fteamtype","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamtype%2Fteamtype/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamtype%2Fteamtype/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamtype%2Fteamtype/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/teamtype","download_url":"https://codeload.github.com/teamtype/teamtype/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamtype%2Fteamtype/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31584820,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"online","status_checked_at":"2026-04-09T02:00:06.848Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automerge","collaboration","collaborative-editing","crdt","local-first","peer-to-peer","plugin","synchronization"],"created_at":"2025-11-04T13:00:28.954Z","updated_at":"2026-04-09T04:02:50.879Z","avatar_url":"https://github.com/teamtype.png","language":"Rust","funding_links":[],"categories":["Rust","Collaboration and Productivity"],"sub_categories":[],"readme":"\u003c!--\nSPDX-FileCopyrightText: 2024 blinry \u003cmail@blinry.org\u003e\nSPDX-FileCopyrightText: 2024 zormit \u003cnt4u@kpvn.de\u003e\n\nSPDX-License-Identifier: CC-BY-SA-4.0\n--\u003e\n\n\u003cimg src=\"https://raw.githubusercontent.com/teamtype/teamtype-design/refs/heads/main/logo/regular/on-light.svg\" width=\"250px\"\u003e\n\n*Multiplayer mode for your text editor!*\n\n\u003e [!NOTE]\n\u003e This project used to be called \"Ethersync\" until October 2025. See [this PR](https://github.com/teamtype/teamtype/pull/436) for our motivation.\n\nTeamtype enables real-time collaborative editing of local text files. You can use it for pair programming or note-taking, for example. It's the missing real-time complement to Git!\n\n![Demo video for how to make a connection and of collaborating in Neovim](https://files.blinry.org/teamtype-share-join-demo.gif)\n\n## Features\n\n- 👥 Edit files at the same time, across different text editors\n- 📍 See your peers' cursors and selections\n- 🗃️ Work on entire projects, the way you're used to\n- 🔒 Encrypted peer-to-peer connections, no need for a server\n- ✒️ Local-first: You always have full access, even offline\n- 🧩 [Simple JSON-RPC protocol](https://teamtype.github.io/teamtype/editor-plugin-dev-guide.html) for writing new editor plugins\n\nWe also maintain a list of [other collaborative text-editing software](https://teamtype.github.io/teamtype/related-projects.html).\n\n## What Teamtype is not\n\nWe are not a company, and don't sell anything. We don't require you to create an account. We don't have access to your data, and don't use it to train AI algorithms. We don't serve you ads, and don't track you.\n\nWe're just a bunch of people building something we want to see in the world.\n\n## 🚦 Project status\n\nWe're currently maintaining Teamtype in our free time. We're often using it for pair programming ourselves, but there's still some [bugs](https://github.com/teamtype/teamtype/issues?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen+%28label%3Abug+OR+type%3ABug%29) to be aware of.\n\n## 📥 Installation\n\n### 1. Install the `teamtype` command\n\nTeamtype works on Linux, macOS, Android, and on the Windows Subsystem for Linux.\n\n\u003cdetails\u003e\n\u003csummary\u003eBinary releases\u003c/summary\u003e\n\nThe [releases on GitHub](https://github.com/teamtype/teamtype/releases/latest) come with precompiled static binaries. Download one and put it somewhere in your shell's [`PATH`](https://en.wikipedia.org/wiki/PATH_(variable)):\n\n- `x86_64-unknown-linux-musl` for Linux\n- `universal-apple-darwin` for macOS\n- `aarch64-unknown-linux-musl` for Android (use a terminal emulator like [Termux](https://termux.dev))\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eArch Linux\u003c/summary\u003e\n\n```\nsudo pacman -S teamtype\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eHomebrew\u003c/summary\u003e\n\n```\nbrew install teamtype\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eNix\u003c/summary\u003e\n\nTo put `teamtype` in your PATH temporarily, run:\n\n```\nnix shell nixpkgs#teamtype\n```\n\nMake sure to also have it in your PATH when you run the editors, or install it to your environment in your preferred way.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eVia Cargo\u003c/summary\u003e\n\n```bash\ncargo install --locked teamtype\n```\n\u003c/details\u003e\n\n### 2. Install an editor plugin\n\n- [Neovim](https://github.com/teamtype/teamtype-nvim)\n- VS Code/Codium: Install the \"Teamtype\" extension from the marketplace\n\n## 📖 Basic usage\n\nIn the directory you want to share:\n\n```\n$ teamtype share\n\n    To connect to you, another person can run:\n\n    teamtype join 5-hamburger-endorse\n\nPeer connected: adfa90edd932732ddf242f24dc2dcd6156779e69966d432fcb3b9fe3ae9831ab\n```\n\nAnother person, in a separate directory (also works on the same computer):\n\n```\n$ teamtype join 5-hamburger-endorse\n\nDerived peer from join code. Storing in config (overwriting previous config).\nStoring peer's address in .teamtype/config.\nConnected to peer: 5e6b787fff79074735eb9b56939269100de1e37bc7f7a4d29c277cc24f7ee53d\n```\n\nThe 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! :sparkles:\n\n## 🎓 Learn more\n\n- Learn more about Teamtype in [the documentation](https://teamtype.github.io/teamtype).\n- Watch a [10-minute talk](https://fosdem.org/2025/schedule/event/fosdem-2025-4890-ethersync-real-time-collaboration-in-your-text-editor-/) given at FOSDEM 2025.\n- Watch a (German) [1-hour talk](https://media.ccc.de/v/2024-355-ethersync-echtzeit-kollaboration-in-deinem-texteditor-) given at MRMCD 2024.\n\n## 🏘️ Community projects\n\nPlugins:\n\n- @schrieveslaach is maintaining a [plugin for Jetbrains IDEs](https://github.com/teamtype/teamtype-jetbrains)\n- [TeXstudio](https://www.texstudio.org) has a [Teamtype integration](https://texstudio-org.github.io/editing.html#collaborative-editing-pair-programming)\n\nWork-in-progress plugins:\n\n- @sohalt's [Emacs plugin](https://github.com/sohalt/ethersync.el)\n- @hvergara's [Obsidian plugin](https://github.com/critica-tech-lab/pasta-obsidian)\n- @winniehell's [web editor](https://github.com/teamtype/teamtype-web)\n- [Emacs plugin](https://github.com/teamtype/teamtype/tree/emacs-plugin)\n- @thwischm's [Kakoune plugin](https://github.com/thwischm/kak-ethersync)\n\nBridges:\n\n- [Hedgedoc bridge prototype](https://github.com/teamtype/teamtype/tree/hedgedoc-prototype/daemon)\n- @dglittle's [Braid bridge](https://github.com/braid-org/braid-ethersync)\n- [LSP bridge](https://github.com/teamtype/teamtype-lsp)\n- @3timeslazy's [LSP bridge](https://github.com/nonscalable/teamtype-lsp/tree/main/crates/teamtype-lsp) (see this [discussion](https://github.com/teamtype/teamtype/discussions/440))\n\n## 🔨 Contributing\n\nWe'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](#contact) so we can discuss how it fits in with our ideas for the project. We have a [CONTRIBUTING.md](CONTRIBUTING.md) file that gives more guidance.\n\nIf you're interested in building new editor plugins, read the [editor plugin development guide](https://teamtype.github.io/teamtype/editor-plugin-dev-guide).\nFor more information about Teamtype's design, refer to the list of [decision records](docs/decisions/).\n\nIf you find bugs, please [open an issue](https://github.com/teamtype/teamtype/issues) on Github!\n\n## ☎️ Contact\n\nFeel free to [join us on Zulip](https://teamtype.zulipchat.com) to ask us anything! Other good channels:\n\n- Mastodon: [@teamtype@fosstodon.org](https://fosstodon.org/@teamtype)\n- Email: \u003cspan\u003et\u003cspan title=\"ihate@spam.com\u0026lt;/span\u0026gt;\"\u003ee\u003c/span\u003eamtype\u003c/span\u003e@zormit\u003ci title=\"\u0026lt;/i\u0026gt;mailto:\"\u003e.\u003c/i\u003ede\n\n## 💚 Thanks\n\nTeamtype received funding from [NLNet](https://nlnet.nl)'s [NGI0 Core Fund](https://nlnet.nl/core/) throughout 2024.\n\nThanks to the [Prototype Fund](https://www.prototypefund.de/) and the [Federal Ministry of Research, Technology and Space](https://www.bmbf.de/EN/) for funding this project in 2025.\n\n\u003ca href=\"https://nlnet.nl/\"\u003e\u003cimg src=\"https://upload.wikimedia.org/wikipedia/en/a/a4/NLnet_Foundation_logo.svg\" alt=\"Logo of the NLnet Foundation\" style=\"height: 70px;\"\u003e\u003c/a\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003ca href=\"https://prototypefund.de/en/\"\u003e\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/b/ba/Prototype_Fund_Logo_2025.svg\" alt=\"Logo of the Prototype Fund\" style=\"height: 70px;\"\u003e\u003c/a\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003ca href=\"https://okfn.de/en/\"\u003e\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/4/4d/Open_Knowledge_Foundation_Deutschland_Logo.svg\" alt=\"Logo of the Open Knowledge Foundation Germany\" style=\"height: 100px;\"\u003e\u003c/a\u003e\n\u0026nbsp;\u0026nbsp;\n\u003ca href=\"https://www.bmbf.de/EN/\"\u003e\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/d/df/BMFTR_Logo.svg\" alt=\"Logo of the German Federal Ministry of Research, Technology and Space\" style=\"height: 110px;\"\u003e\u003c/a\u003e\n\nTeamtype is based on [Automerge](https://automerge.org), [Iroh](https://www.iroh.computer), and [Magic Wormhole](https://magic-wormhole.readthedocs.io).\n\nAnd finally, thanks to everyone who helped us beta-test, or reported issues!\n\n## 📜 License\n\nThis 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.\n\nThis project is [REUSE](https://reuse.software) compliant, see the headers of each file for licensing information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteamtype%2Fteamtype","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteamtype%2Fteamtype","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteamtype%2Fteamtype/lists"}