---
title: Tangled Docs
description: The next-generation social coding platform.
head:
  - tag: title
    content: Tangled Docs
template: splash
hero:
  image:
    html: |
      <pre class="ascii-dolly" aria-hidden="true">
                    .....    :=*#%@@@%#+:
                :=*%%@@@%#*=#@@@@@@@@@@@@%=
              :#@@@@@@@@@@@@@@@@@@@@@@@@@@@#.
             =@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
         .-*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*-.
        =%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*:
      .#@@@@@@@@@@@@@@@@@#%@@@%*#%#*%@@@@@@@@@@@@@=
      *@@@@@@@@@@@@@*:--: .---.     .%@@@@@@@@@@@@@=
      @@@@@@@@@@@@#:                 -@@@@@@@@@@@@@%
      %@@@@@@@@@@*     .-.   :=:      :@@@@@@@@@@@@@
      +@@@@@@@@@+      #@#  :@@+       =@@@@@@@@@@@*
       +@@@@@@@#      :@@+  =@@:        %@@@@@@@@@#.
        :#@@@@@*    . .@@+  *@@.        #@@@@@@@@+
          .#@@@@*==*@: -=.  -#+   -:   :@@@@@@#=.
          :@@@@@@@@@@+           =@@#**%@@@@@@+
          #@@@@@@@@@@%:        .*@@@@@@@@@@@@@@:
          %@@@@@@@@@@@%=:.  .:+%@@@@@@@@@@@@@@@*
          +@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@*
          .#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-
            +@@@@@@@@@@@@@@#*@@@@@@@@@@@@@@@@@+
             .=#%@@@@@@@%*-  -%@@@@@@@@@@@@@#-
                .:-===-.       -+#%@@@@@%#+:
                                  .::::..
      </pre>
  title: Docs and self-hosting guides for Tangled
  tagline: Tangled is a decentralized code hosting and collaboration platform built on the AT Protocol. Every component is open-source and self-hostable.
  actions:
    - text: Quick start
      link: /quick-start/
      # lucide arrow-right, same as the appview home CTAs
      icon: '<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg>'
      variant: primary
    - text: What is Tangled?
      link: "#what-is-tangled"
      variant: minimal
---

import FeatureCard from "../../components/FeatureCard.astro";
import {
  Rocket,
  Server,
  Workflow,
  Globe,
  Webhook,
  Cable,
  Hammer,
  GitPullRequest,
  LifeBuoy,
  ArrowUpCircle,
} from "lucide-astro";

<div class="feature-grid">
  <FeatureCard title="Quick start" href="/quick-start/">
    <Rocket slot="icon" />
    Create an account, add your SSH key, and push your first repository.
  </FeatureCard>
  <FeatureCard title="Knots" href="/knots/">
    <Server slot="icon" />
    Lightweight, headless git servers. Run one on anything from a Raspberry Pi
    to a community server.
  </FeatureCard>
  <FeatureCard title="Spindles" href="/spindles/">
    <Workflow slot="icon" />
    CI/CD runners for your repositories. Write workflows, or self-host your own
    spindle.
  </FeatureCard>
  <FeatureCard title="Sites" href="/sites/">
    <Globe slot="icon" />
    Serve static websites directly from your git repositories.
  </FeatureCard>
  <FeatureCard title="Webhooks" href="/reference/webhooks/">
    <Webhook slot="icon" />
    Receive HTTP notifications on repository events and integrate with external
    services.
  </FeatureCard>
  <FeatureCard title="Bobbin" href="/reference/bobbin/">
    <Cable slot="icon" />
    A read-only XRPC API appview for Tangled records.
  </FeatureCard>
</div>

<section class="landing-section">

## What is Tangled?

Tangled is a social coding platform built on an [open
protocol](https://atproto.com).

There are several models for decentralized code collaboration platforms,
ranging from ActivityPub's (Forgejo) federated model, to Radicle's
entirely P2P model. Our approach attempts to be the best of both worlds
by adopting the [AT Protocol](https://atproto.com) — a protocol for
building decentralized social applications with a central identity.

Central to our approach is the idea of **knots**. Knots are lightweight,
headless servers that enable users to host git repositories with ease.
Knots are designed for either single or multi-tenant use, which is
perfect for self-hosting on a Raspberry Pi at home, or larger
"community" servers. By default, Tangled provides managed knots where
you can host your repositories for free.

The appview at [tangled.org](https://tangled.org) acts as a consolidated
"view" into the whole network, allowing users to access, clone and
contribute to repositories hosted across different knots seamlessly.

Curious about the protocol choice? Read [why AT Protocol](/why-atproto/).

</section>

<section class="landing-section">

## Resources

<div class="feature-grid">
  <FeatureCard title="Hacking on Tangled" href="/contributing/hacking/">
    <Hammer slot="icon" />
    Set up a dev environment and run the appview, knots, and spindles locally.
  </FeatureCard>
  <FeatureCard title="Contribution guide" href="/contributing/guide/">
    <GitPullRequest slot="icon" />
    Commit guidelines, code formatting, proposals, and signing your work.
  </FeatureCard>
  <FeatureCard title="Migrations" href="/reference/migrations/">
    <ArrowUpCircle slot="icon" />
    Upgrade guides for self-hosted knots and spindles.
  </FeatureCard>
  <FeatureCard title="Troubleshooting" href="/troubleshooting/">
    <LifeBuoy slot="icon" />
    Common issues with login, punchcards, and commit verification.
  </FeatureCard>
</div>

</section>
