Monorepo for Tangled
  • Rust 42.7%
  • Go 24.3%
  • TypeScript 15.8%
  • Svelte 13.4%
  • Nix 1%
  • Other 2.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-07 21:31:31 +03:00
.air all: remove the legacy appview and knotserver 2026-10-30 16:00:03 +00:00
.cargo knot-pack: keep upload-pack alive until the pack is fully sent 2026-10-11 04:09:26 +09:00
.config .tangled/workflows: run the knot tests with nextest 2026-10-31 22:11:16 +03:00
.tangled .tangled/workflows: use a newer bun in the web workflow 2026-11-05 11:07:01 +03:00
api lexicons,api,web: add reaction counts per emoji to the enrich response 2026-11-06 04:36:28 +03:00
avatar knotmirror,avatar: security improvements 2026-11-02 14:18:18 +02:00
blog all: small fixes for CI 2026-11-02 16:21:08 +00:00
bobbin bobbin: use wait instead of the hold terms in identity warming code 2026-11-07 09:27:51 +03:00
camo camo: stop exporting the csp constant so the worker starts 2026-11-06 06:12:49 +03:00
cilogs cilogs,spindle: follow renamed lexicons 2026-10-28 15:06:02 +09:00
cmd *: remove unused sh.tangled.* lexicons 2026-11-03 05:42:50 +09:00
crates gix-receive-pack: echo the advertised object-format 2026-11-02 18:42:26 +00:00
crypto crypto: add tests for VerifySignature and SSHFingerprint 2026-05-05 17:25:57 +03:00
deliberi deliberi/xrpc: keep the PDS account email in step with the primary email 2026-11-07 21:31:31 +03:00
docs docs/spindle: add new TANGLED_PR_AT_URI desc 2026-11-06 18:24:00 +00:00
e2e e2e: cover server drawn code and diagrams in comments, and emoji counts across two people 2026-11-06 06:08:13 +03:00
email-did email-did,web,cmd: move the email-did kv lookup into its own worker 2026-09-23 19:37:45 +03:00
filetree all: remove the legacy appview and knotserver 2026-10-30 16:00:03 +00:00
gitclient sitesd,gitclient: use git smart http protocol over xrpc 2026-10-27 22:47:45 +09:00
gitutil gitutil: check a manual run's ref in sha256 repos too 2026-10-24 22:33:34 +03:00
hostutil netutil, idresolver: absorb the safe connect proxy and guard did resolution, bump the indigo fork for its upstream ssrf fixes 2026-09-24 14:39:59 +00:00
ico ico: add module to deal with ico files 2026-01-09 10:39:26 +00:00
icons icons: directory for custom icons 2026-05-29 17:18:37 +03:00
idresolver idresolver: refuse private addresses unless IDRESOLVER_DEV is set, not the other way round 2026-10-20 19:19:15 +03:00
jetstream jetstream,appview,deliberi: read events with our own client and drop bluesky-social/jetstream 2026-10-22 19:05:04 +03:00
jobs jobs: bundle timeless sans instead of loading inter 2026-11-02 13:05:32 +01:00
knot2 knot2: knot admin repair-handover 2026-11-05 23:52:11 +09:00
knotfeed *: remove unused sh.tangled.* lexicons 2026-11-03 05:42:50 +09:00
knotmirror/crates knotmirror: log the db connect retry through tracing 2026-11-03 11:24:46 +02:00
lexicons lexicons,bobbin,web: allow longer pronouns and index any avatar and any snippet file type 2026-11-06 07:06:45 +03:00
lexutil spindle/xrpc: implement ci.pipeline.subscribeLogs 2026-07-04 08:12:54 +03:00
localinfra web: image upload 2026-11-03 17:46:00 +09:00
log spindle,localinfra,log: prometheus metrics, json logging, and otel tracing 2026-08-27 20:50:16 +09:00
migrator migrator/api: expect a 503 for an issuer that can't be resolved 2026-10-31 09:13:13 +03:00
netutil migrator,netutil: let dev stacks reach private networks with MIGRATOR_ALLOW_PRIVATE_NETWORKS 2026-10-19 19:25:59 +03:00
nix bobbin,nix: pin dasl-star by revision 2026-11-06 18:19:25 +03:00
notifier knotserver/db: knot-owned member & collaborator tables, pagination, and ACL update events 2026-06-16 21:04:20 +03:00
ogre all: remove the legacy appview and knotserver 2026-10-30 16:00:03 +00:00
orm orm: don't take the write lock for a migration that is already applied 2026-10-22 06:04:51 +03:00
pds pds: let an admin sign a brand-new account in to an allowlisted client 2026-10-26 23:28:50 +03:00
rbac sqlite,eventconsumer,rbac,spindle,appview,deliberi,knotserver,cmd/{deliberi-migrate,populatepipelines}: centralize sqlite open settings 2026-09-02 23:56:23 +09:00
repoident repoident: add KnotURL newtype which parses & canonicalizes knot endpoints 2026-07-30 15:00:28 +00:00
seo-reporter seo-reporter: add a readme 2026-10-02 14:37:46 +03:00
sets *: correct typos throughout codebase 2026-04-09 10:30:40 +03:00
shuttle shuttle: drop redundant borrows in format! arguments 2026-11-03 11:24:46 +02:00
sitemap sitemap: list a repo only once its owner's declaration claims it 2026-10-31 08:00:42 +03:00
sites sites/claim: accounts whose handle changed can claim a site name again 2026-11-04 01:42:55 +03:00
sitesd sitesd/sitefeed: accept padded base64 in pushed refs 2026-11-03 05:47:14 +03:00
spindle spindle/models: rename TANGLED_PR_SELF_URI 2026-11-06 18:24:00 +00:00
sqlite sqlite,eventconsumer,rbac,spindle,appview,deliberi,knotserver,cmd/{deliberi-migrate,populatepipelines}: centralize sqlite open settings 2026-09-02 23:56:23 +09:00
status knotmirror,avatar: security improvements 2026-11-02 14:18:18 +02:00
systemd knot2/docs,docs: put knot2 docs in actual docs instead of README 2026-11-04 15:36:37 +02:00
tapc tapc: batch AddRepos so tap stays under sqlite's variable cap 2026-10-04 21:21:47 +03:00
tid spindle: rework db schema 2025-06-13 22:09:45 +01:00
web web/repo: drop the empty pipeline slot's height on mobile 2026-11-07 06:17:12 +01:00
workflow spindle: create blocked pipelines from event stream 2026-10-26 13:21:16 +09:00
xrpc all: remove the legacy appview and knotserver 2026-10-30 16:00:03 +00:00
.dockerignore all: remove the legacy appview and knotserver 2026-10-30 16:00:03 +00:00
.editorconfig editorconfig: ts & svelte 2026-09-12 02:49:29 +03:00
.gitattributes nix: package gitmirror via crate2nix 2026-09-12 03:07:01 +03:00
.gitignore gitignore: dedupe and reorder rules, untrack web/.vscode 2026-10-21 23:26:35 +02:00
.prettierrc.json add prettier configuration 2025-08-16 13:15:16 -04:00
_typos.toml *: correct typos throughout codebase 2026-04-09 10:30:40 +03:00
buf.gen.yaml spindle: implement mill 2026-08-11 15:40:28 +00:00
buf.lock spindle,shuttle: microvm engine init 2026-06-18 14:57:59 +03:00
buf.yaml spindle: implement mill 2026-08-11 15:40:28 +00:00
Cargo.lock bobbin,nix: pin dasl-star by revision 2026-11-06 18:19:25 +03:00
Cargo.toml bobbin,nix: pin dasl-star by revision 2026-11-06 18:19:25 +03:00
default.nix nix: fmt 2025-09-10 10:16:34 +01:00
flake.lock all: remove the legacy appview and knotserver 2026-10-30 16:00:03 +00:00
flake.nix flake.nix: unset nix C flags link 2026-11-04 16:05:32 +02:00
go.mod *: remove unused sh.tangled.* lexicons 2026-11-03 05:42:50 +09:00
go.sum *: remove unused sh.tangled.* lexicons 2026-11-03 05:42:50 +09:00
input.css input.css: remove default tabular nums font feature. 2026-10-01 16:48:19 +03:00
lexicon-build-config.json api: generate org.tangled as api/org_tangled 2026-09-12 02:52:26 +03:00
license license: mention contributors 2025-05-21 10:56:33 +03:00
package.json web: bump storybook to 10.6.5 2026-11-03 22:05:27 +01:00
pnpm-lock.yaml web: init with scaffolding 2026-09-12 02:49:26 +03:00
readme.md readme: update readme links 2026-10-30 16:10:00 +09:00
rust-toolchain.toml rustfmt: skip generated _lex, bump rust to 1.96 2026-05-29 14:50:22 +03:00
scratch-example.toml knot2: make ssh_max_inflight_per_peer configurable 2026-11-03 08:01:51 +00:00
tailwind.config.js all: remove the legacy appview and knotserver 2026-10-30 16:00:03 +00:00

Tangled

https://tangled.org

The next-generation social coding platform.

Overview

This monorepo contains the majority of Tangled's open source code. Notably, it includes:

  • knot for git hosting and operations,
  • spindle for continuous integration,
  • bobbin, the indexing service,

... and more.

Bugs

Please file any issues about this code or the hosted service on the issue tracker. You may also use our Discord for the same.

Security

If you've identified a security issue in Tangled, please email [email protected] with the details!

Contributing

PRs welcome! But please file a proposal for bigger changes. We have strict rules for commit messages (or skim git log).

We require a Developer Certificate of Origin (DCO) Signed-off-by: line in commits. Read more here.

The contents of this repository are licensed under MIT.