Tangledが分散型コードフォージを実現、コードとissueを同じ場所に

The Federated Code Forge

Tangledが分散型コードフォージを実現、コードとissueを同じ場所に

Tangledは、コードを自分のサーバーに置きながら他者とシームレスに共同作業できる、初の真に分散型のコードフォージだ。AT Protocol上に構築され、Rust製のインメモリインデクサー「bobbin」を11以上のリージョンに展開。issueやPR、コメントはコードと同じknot上にGitオブジェクトの連鎖として保存され、プロジェクトの可搬性を最大化する。

プロジェクトのissueやpull requestはコードと同じくらいプロジェクトの一部なのだから、どこにホストするかを選べる形で、コードと一緒に存在すべきだ。
  1. stryan

    Tangledがどう発展していくか本当に楽しみにしている!自分には、メインのリポジトリとCIがセルフホストのGiteaにあって、コードとリリースはGithubにミラーしているサイドプロジェクトがあるんだけど、これをGiteaからTangledに移してコード/リリース/できればCIもそっちに置き、Githubは発見性/バックアップ/名前空間の「座り込み」のためだけに残せたらいいなと思っている。

    あとはgit-bugにTangledブリッジを追加してissueを同期し続けられるようにしてほしいのと、(できれば)クライアントをセルフホストで動かすための手順が欲しい。フル機能のクライアントである必要はないけど、メインのTangledアプリビューが落ちたときにWebでの可視性に困るのは嫌だな。

    ひとつ思うこと: 先日、新しいマシンにNeovimをセットアップしているときに、フェデレーテッドなGitホスティングで初めて「問題」に遭遇した。使っているプラグインの一つがTangledでホストされていて、そのバッキングKnotが落ちていたんだと思う。これが厄介だったのは2つの理由から:

    1. Tangledのウェブサイトからは、バッキングknotが原因だと分からなかった(しばらくは自分の環境の問題だと思っていた)

    2. Neovimプラグインのソースフォージが落ちているような事態へのバックアッププランが自分には全くなく、明らかにNeovimのパッケージマネージャーにもなかった。セッションを開始するたびにエラーが出続けるだけで、直す方法がなかった :)。

    長期的には、コードの保存場所が常にそこにあるとか、どこかに簡単にキャッシュされていると仮定すべきではないと思うけど、当面は成長痛がありそうだ。ATProtoにはActivityPubが持つ利点がないように見える。つまり、見たいコンテンツがあるインスタンスが[…]

  2. icy

    こんにちは!Tangledの共同創業者です。このローンチにはとても興奮しています -- AT Protocolのlexiconを安定させ、アーキテクチャとUIを全面的に刷新し、スタック全体(またはその一部だけでも!)のセルフホストを信じられないほど簡単にしました。組織のサポートもリリースし、プライベートリポジトリも今後数週間で展開します。

    どんな質問でも喜んでお答えします。

  3. ivanjermakov

    フィンランドのスタートアップTangledが、コードコラボレーションを再発明するために380万ユーロを調達 https://www.vestbee.com/insights/articles/tangled-raises-3-8...

  4. pksunkara

    投稿でlexiconが確定したと見ました。それには、issue、PR、コメントのレコードをユーザースコープではなくリポスコープの下に置くことも含まれていますか?

    この変更を待っていたので聞いています。https://juju.bi (自分が作っているコードフォージ)のすべての公開リポジトリをTangledと相互運用可能にして、基本的にknotサーバーとして振る舞わせるつもりです。

  5. eterm

    これを実行してみた:

    git clone https://tangled.org/tangled.org/core

    そしたら失敗した?

    Cloning into 'core'...

    warning: redirecting to https://knot1.tangled.sh/did:plc:j5hmlfdrwkvtxm7cjmu7j2is/

    remote: Thanks for using knot1.tangled.sh!

    remote: Enumerating objects: 99191, done.

    remote: Total 99191, done.

    Receiving objects: 100% (99191/99191), 122.19 MiB | 39.12 MiB/s, done.

    Resolving deltas: 100% (49286/49286), done.

    error: invalid path 'localinfra/fixtures/blobs/did:plc:igzuueb63dytyy3tpaweofuu bafkreieify5bix4cmrj4iuxiceb6srr2boltkbbf7yizwtgwurqv42sltm'

    fatal: unable to checkout working tree

    warning: Clone succeeded, but checkout failed.

    and retry with 'git restore --source=HEAD :/'

    You can inspect what was checked out with 'git status'

    最初にやろうとしたこととしては、あまり良い印象じゃない:

    1. .orgから.shへのリダイレクトが怪しい

    2. それでこける。

    もう、この別ドメインが意図的なものなのか侵害されたものなのかを突き止めないといけない。

この日のほかの記事

2026-10-30