







Shared steps for knotless workflows: Node, npm, Rust lint, coverage tools, SSH keys and waiting for checks
Migrating to the new Tangled knot2 | jola.dev
Tangled is a Github alternative built on atproto. I've previously shown you how to set up the self-hosted repo server, here I go through migrating to knot2.

proposal: ingest repo records #282
`sh.tangled.repo` records are one of the last few records that need atprotation (2-way sync between appview/pds). this one is tricky because we want consistency between knot state, appview state and PDS state. the path forward is described below: - migration to did/rkey syntax universally: in several places, we utilize `did/repo-name` as a globally unique identifier for a repository, we should migrate this to `did/rkey`: * for the tangled appview: this means reworking our ACLs, routers and DB to use `did/rkey` or ATURI as a globally unique identifier for a repo * for knots: this means changing paths on disk to be `did/rkey`, allowing git ops to `host:did/rkey` , updating ACLs, and XRPC endpoints * for spindles: this means updating ACLs and XRPC endpoints - once this is done, we can define ingestion logic for all services in the network to pull sh.tangled.repo records * for the tangled appview, this should create/delete/update a repo pointer record * for knots: this should create-or-ignore/delete-or-ignore/update-or-ignore a repo on disk. migration of repos needs to be thought out here. * for spindles: as above - define edge-case behaviors: * when referring to repos by rkey, it is possible for clever users to create duplicate records with the same repo-name, appview routers must handle this ambiguity with a new interstitial page that offers a redirect, knots must return an error upon push/pull on ambiguous git URLs * the `knot` cli can introduce a command `backfill` or `sync` to bring knot state up to sync with the rest of the world (repos, collaborators, pubkeys, ACLs etc.).
Knot self-hosting guide
So you want to run your own knot server? Great! Here are a few prerequisites:
“Implementation Selection” in Rust — Andrew Lilley Brinker
Exploring options for selecting branching paths in Rust code at compile time and runtime.

knot
This is a Knot server: a git host on a network of federated servers that make up Tangled.
Build tools around workflows, not workflows around tools | thesephist.com
This March, I spent a couple of days traveling through western Iceland.
Windmill | Build, deploy and monitor internal software at scale
Open-source workflow engine to build workflows, data pipelines and internal tools at scale. Self-hostable, for developers and AI, with enterprise security.


Just-in-Time PM #21: Workflow Strategies - Forte Labs
Now it’s time to look at the JIT Project Manager’s toolkit. How do we put these ideas into practice in our day to day work? Through Workflow Strategies, a set of practical techniques for executing modern projects. Here is the full list, according to whether they work better for small or large-scale projects, and what kind of situation they are best suited for.

knotless
Git that lives in your Atmosphere account. Clone and push with plain git, and let agents work over MCP.

Anirudh and Akshay from Tangled.sh and the Future of Decentralized Coding
Running Tangled.sh locally for development... - Wills thoughts
... without having NixOS running on your machine (kinda)