<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/the-federated-code-forge-zq5icukz3" -->

---
title: The federated code forge | daily.dev
description: Tangled, a federated code forge built on the AT Protocol, has shipped a major release. The web UI was rebuilt in Svelte and the old Go monolith was split into...
canonical: https://daily.dev/posts/the-federated-code-forge-zq5icukz3
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: The federated code forge | daily.dev
og:description: Tangled, a federated code forge built on the AT Protocol, has shipped a major release. The web UI was rebuilt in Svelte and the old Go monolith was split into...
og:url: https://daily.dev/posts/the-federated-code-forge-zq5icukz3
og:image: https://api.daily.dev/og/posts/ZQ5IcuKZ3.png
og:image:alt: The federated code forge
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# The federated code forge

**[Hacker News](https://daily.dev/sources/hn)** · 6 min read · 0 upvotes · 0 comments

## Summary

Tangled, a federated code forge built on the AT Protocol, has shipped a major release. The web UI was rebuilt in Svelte and the old Go monolith was split into a new diskless, in-memory indexer called bobbin, written in Rust and deployed in over 11 regions. A second knot server implementation, knot2, is also rewritten in Rust and now stores issues, PRs, comments and labels directly on the knot as Git-based collaborative objects, verified via attestation records on your PDS. The release also adds Organization accounts and stacked PR support for both Git and Jujutsu users. Self-hosters must upgrade knots to v1.20.0. Private repos, a CLI, SDKs, and agent skills are coming in future launch weeks.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://tangled.org/blog/forge>

## Questions this post answers

### How does Tangled store issues and pull requests in a federated code forge?

Tangled stores issues, pull requests, comments, reactions and labels directly on the knot server as collaborative objects (COBs), which are chains of Git objects living in the repo itself. This makes a project's discussion history as portable as its code. To prevent a knot from forging records, every edit also writes an org.tangled.graph.attestation record to the user's own PDS for two-way verification.

_Developers weighing federated or self-hosted forges can track Tangled's architecture evolution on daily.dev._

### What is bobbin in the Tangled code forge?

Bobbin is Tangled's new diskless, entirely in-memory indexer service written in Rust, replacing part of the old Go monolith appview. It handles read-only AT Protocol data indexing and is deployed globally across more than 11 regions, giving users around the world faster API and UI performance than the previous single Sweden-based server.

_Anyone comparing edge-deployed Rust services can follow forge architecture changes like this on daily.dev._

### What version do I need to upgrade self-hosted Tangled knots to for the new release?

Self-hosted knots need to be upgraded to v1.20.0 to support knot2, the Rust rewrite of the knot server that bundles a custom Git server and an SSH server in one binary and stores collaborative objects like issues and PRs locally. The upgrade should follow the official upgrade guide for knots and spindles.

_Self-hosters tracking required upgrades for tools like Tangled can follow release notes on daily.dev._

## Community take

How the wider developer community reacted, aggregated from 1 discussion and 52 comments across hackernews (as of 2026-10-30).

**TL;DR:** The release is well received, with founders actively answering detailed technical questions about self-hosting, private repos, SHA256 support, and CI, while a smaller side-thread debates whether ATProto is even the right protocol for a federated forge.

**Sentiment:** 55% positive · 35% mixed · 10% skeptical

**The case for**

- Several people say self-hosting a knot is now much easier and praise the new in-memory, stateless indexer design.
- Some are enthusiastic about owning a single portable identity across Tangled and other AT Protocol services.
- HTTPS push support and a mirror-of-all-repos fallback for when a knot is down were called out as practical wins.
- One person says Tangled is now their preferred forge, liking how it integrates with their other ATProto social data.

**The pushback**

- Some argue ATProto is the wrong protocol for code forges, citing AppView firehose-consumption concerns versus ActivityPub's more selective model.
- Lack of private repo support is flagged as a real gap, especially since that's seen as where the monetizable value is.
- One person hit a git clone/checkout failure, raising trust concerns about a .org-to-.sh redirect before it was explained as a Windows filename issue.
- The redesigned comment UI was criticized for lacking a visible submit button, risking accidental PR closures.
- A lack of clarity around Tangled's business model given VC funding was raised as a concern for long-term viability.

**By community**

- hackernews (positive): Mostly constructive Q&A with founders actively engaging, alongside a notable but contained debate about whether ATProto suits federated code hosting.

**Hottest debate:** Whether ATProto's architecture (centralized-feeling AppViews, full self-hosting difficulty) is actually well-suited to federated code forges compared to alternatives like ActivityPub/ForgeFed.

**Open questions**

- When will private repositories and fine-grained collaboration/contribution policies ship?
- What is Tangled's business model and how will it sustain itself given VC investment?
- What CI/CD options and integrations will be available beyond the native Spindle system?
- Will knots support content-addressed replication to avoid single points of failure when a knot goes down?

**Highlights**

> For a federated system they sure talk a lot about their struggles around scaling centralized infrastructure. ATProto seems like it's entirely the wrong protocol for this sort of application.
> — [max-privatevoid on hackernews · 2 comments](https://news.ycombinator.com/item?id=50307499)

> I think you fundamentally misunderstand how the protocol works. First, Tangled has been entirely self-hostable since the beginning! We've just made it much easier to run for everyone. Second, the "appview" is simply an indexer. It consumes records from the firehose and only those that it cares about. In our case, those are org.tangled.*. There's no reason we'd consume all of the firehose. ActivityPub categorically does not make sense here because of how coupled identities are to instances.
> — [icy on hackernews](https://news.ycombinator.com/item?id=50308751)

> tangled.org has potential. Pre-update, code review UI was horrific compared to GitHub. Post-update, code review is much better, but "Comments" section without a "Comment" button is unforgivable. People are probably closing PRs right and left without knowing it. Shift-Enter is a submit action. I'm a keyboard-first user, but for something which can end up in somebody's inbox notifications, UI button is the way to go. I just don't understand how such a prolific pattern is being ignored.
> — [paaloeye on hackernews](https://news.ycombinator.com/item?id=50307561)

> Really looking forward to seeing Tangled develop! I've got a side project that's main repo and CI is on my self-hosted Gitea but code and releases are mirrored to Github; I'm hoping to move it off Gitea and onto Tangled for code/releases/potentially CI and just keep Github for discoverability/backups/namespace "squatting". Just need git-bug to add a Tangled bridge so I can keep issues synced and (ideally) for there to be instructions for running the client self-hosted. It doesn't have to be a full featured client but I also don't want to be SOL for web visibility if the main Tangled appview is down. One musing: I did run into my first "issue" with federated Git hosting the other day while setting up Neovim on a new machine. One of the plugins I use is hosted on Tangled and I guess its backing Knot was down. This was awkward for two reasons: 1. It as unclear to me from the Tangled website the backing knot was the issue (for a while I thought it was something on my end) 2. I really had no backup plans for something like a Neovim plugin's source forge being down and, clearly, neither did the Neovim package manager as it just kept showing an error on every session I started with no way to fix it :). I suppose in the long run we really shouldn't be assuming that code storage is just Always There or easily cached somewhere, but I anticipate some growing pains in the mean time. ATProto doesn't seem to have the benefit ActivityPub has where if the instance I wanted to view content on was down I can usually find some other instance that's gotten the messages.
> — [stryan on hackernews · 2 comments](https://news.ycombinator.com/item?id=50306735)

**Source threads**

- [hackernews](https://news.ycombinator.com/item?id=50305573) · 134 points · 52 comments

## Similar posts on daily.dev

- [we need a federation of forges](https://daily.dev/posts/we-need-a-federation-of-forges-dm5nrzrss) · Hacker News · 2 upvotes · 1 comments
- [newsletter 01 — hello\!](https://daily.dev/posts/newsletter-01-hello--p0rgfofvt) · Lobsters · 0 upvotes · 0 comments

---

Tags: [#rust](https://daily.dev/tags/rust), [#git](https://daily.dev/tags/git)

[View this post on daily.dev](https://daily.dev/posts/the-federated-code-forge-zq5icukz3)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"The federated code forge","url":"https://daily.dev/posts/the-federated-code-forge-zq5icukz3","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/the-federated-code-forge-zq5icukz3"},"datePublished":"2026-10-30T17:34:38.515Z","dateModified":"2026-10-30T20:05:37.992Z","description":"Tangled, a federated code forge built on the AT Protocol, has shipped a major release. The web UI was rebuilt in Svelte and the old Go monolith was split into...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/c02a257f49bf72c86fefc106cdc36607?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/c02a257f49bf72c86fefc106cdc36607?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Hacker News","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Hacker News","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn","url":"https://daily.dev/sources/hn"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/the-federated-code-forge-zq5icukz3","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"rust,git","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Hacker News","item":"https://daily.dev/sources/hn"},{"@type":"ListItem","position":3,"name":"The federated code forge"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/the-federated-code-forge-zq5icukz3#faq","mainEntity":[{"@type":"Question","name":"How does Tangled store issues and pull requests in a federated code forge?","acceptedAnswer":{"@type":"Answer","text":"Tangled stores issues, pull requests, comments, reactions and labels directly on the knot server as collaborative objects (COBs), which are chains of Git objects living in the repo itself. This makes a project's discussion history as portable as its code. To prevent a knot from forging records, every edit also writes an org.tangled.graph.attestation record to the user's own PDS for two-way verification. Developers weighing federated or self-hosted forges can track Tangled's architecture evolution on daily.dev."}},{"@type":"Question","name":"What is bobbin in the Tangled code forge?","acceptedAnswer":{"@type":"Answer","text":"Bobbin is Tangled's new diskless, entirely in-memory indexer service written in Rust, replacing part of the old Go monolith appview. It handles read-only AT Protocol data indexing and is deployed globally across more than 11 regions, giving users around the world faster API and UI performance than the previous single Sweden-based server. Anyone comparing edge-deployed Rust services can follow forge architecture changes like this on daily.dev."}},{"@type":"Question","name":"What version do I need to upgrade self-hosted Tangled knots to for the new release?","acceptedAnswer":{"@type":"Answer","text":"Self-hosted knots need to be upgraded to v1.20.0 to support knot2, the Rust rewrite of the knot server that bundles a custom Git server and an SSH server in one binary and stores collaborative objects like issues and PRs locally. The upgrade should follow the official upgrade guide for knots and spindles. Self-hosters tracking required upgrades for tools like Tangled can follow release notes on daily.dev."}}]}
```

