Skip to content

What is Tangled

Tangled is a social code forge: you can host git repositories, collaborate on issues and pull requests, follow other devs and star their repos. However, Tangled is different from the rest:

  • It is federated: you can self-host a server and still interact with the broader network
  • It is open source
  • It is entirely self-hostable: you can host a single piece, like the repository storage component, or the CI component, or all of it
  • It is hackable

The individual servers talk to each other through public interfaces, so you can replace any of them with your own: people have written knots that store repositories on code.storage, or Cloudflare Artifacts, and spindles that runs CI on Buildkite or Tekton!

That being said, you don’t need to run anything to use Tangled. Sign in, create a repository, and push. Quick start walks through it.

Your account lives with an account provider (a PDS, or Personal Data Server), the same kind of account you might already use for Bluesky. It holds your profile, follows, stars, SSH public keys, and a small entry for each repository you own.

Git data lives on a knot, a git server. Each repository has its own identity (a DID), and its issues, pull requests, comments, reactions and labels are stored next to the code on the knot.

Spindles run CI: they execute the workflows when you push.

The web app saves your changes to your account or to the knot, and shows everything gathered from across the network. No web app holds a privileged copy of your data: it all comes from accounts and knots.

You can host with Tangled, or self-host. Tangled is federated: knots, spindles, accounts and web apps run by different people work together, so you can run all of it, some of it, or none of it.

ComponentWhat we runYou can run your own
Account (PDS)Signup gives you a <name>.tngl.sh accountAny atproto PDS works
KnotShared knots, the default is knot1.tangled.shSee Run a knot
Spindlespindle.tangled.shSee Run a spindle
Web app and indexThe website at tangled.orgSee Run an index and Run a frontend

Typically, users self-host a knot: your code then lives on a machine you control, while the web app still shows it and accepts issues and pull requests against it. A self-hosted spindle lets you run CI on your own hardware. Run every piece yourself and you have a fully independent Tangled.