Tangled: فورج کد غیرمتمرکز با ظاهر و معماری تازه
خلاصهٔ کاملتر
تیم Tangled میگه فورجهای متمرکز (یعنی سرویسهایی مثل GitHub که کد، code review و همکاری همه یهجا هستن) دارن جواب نمیدن، چون برای uptime و فیچرها باید به یه شرکت دیگه تکیه کنی. از اون طرف، روش قدیمی Git و ایمیل ماندگاره ولی تجربهٔ کاربری خوبی نداره. Tangled میخواد هر دو رو با هم بده: یه پروتکل باز به اسم AT Protocol (همون پروتکلی که Bluesky روش ساخته شده) بهعلاوهٔ یه فورج مرتب و راحت.
به گفتهٔ تیم، این اولین فورج واقعاً federated هست، یعنی میتونی کد رو روی سرور خودت نگه داری و باز هم راحت با بقیه کار کنی. میشه فقط یه بخش رو self-host کرد، مثلاً Git hosting یا CI runnerها، یا کل سیستم رو با API server و UI بالا آورد. چون همهچی روی پروتکل بازه، میشه افزونهٔ خودت رو بسازی یا حتی یه knot (یعنی سرور میزبان Git در Tangled) کاملاً سفارشی بنویسی؛ مثلاً یکی روی Cloudflare Workers ساخته شده.
بزرگترین تغییر این نسخه معماریه. قبلاً کل UI و بکاند یه برنامهٔ Go یکتکه به اسم appview بود که با html/template و htmx صفحه میساخت و روی یه دیتابیس SQLite و یه سرور تو سوئد اجرا میشد. این برای کسایی که دور از سوئد بودن کند بود. حالا فرانتاند با Svelte بازنویسی شده و روی edge اجرا میشه و دادهش رو از bobbin میگیره؛ یه سرویس indexer نوشتهشده با Rust که کاملاً تو حافظه کار میکنه و تو بیشتر از ۱۱ منطقهٔ دنیا مستقره. bobbin فقط read-only هست و بقیهٔ کارها به سرویسهای جانبی سپرده شده.
سرور knot هم با اسم Knot2 با Rust بازنویسی شده و Git server و SSH server رو تو یه باینری داره. حالا issueها، PRها، کامنتها، reactionها و labelها روی خود knot و کنار کد ذخیره میشن، به شکل COB (یعنی زنجیرهای از Git object داخل خود ریپو). تیم میگه issue و PR هم جزو پروژهان و باید هرجا کد میزبانی شد، باهاش جابهجا بشن. برای اینکه knot نتونه به اسم تو حرف جعل کنه، هر بار که چیزی میسازی یا ویرایش میکنی، یه رکورد org.tangled.graph.attestation تو PDS خودت (یعنی سرور شخصی دادههات در AT Protocol) هم نوشته میشه.
چند فیچر دیگه هم اضافه شده. حساب Organization حالا یه حساب واقعی AT Protocol با DID و handle خودش هست، بدون پسورد، و اعضا میتونن به اسمش ریپو بسازن یا fork کنن. جریان PR هم بازطراحی شده و همه، چه با Git ساده چه با Jujutsu، میتونن stacked PR بفرستن و بین نسخهها interdiff ببینن. فونت هم از Inter به Timeless Sans عوض شده. تیم میگه تو هفتههای بعد ریپوی خصوصی، CLI، SDK و skill برای agentها هم میاد.
نکات کلیدی:
- Tangled روی AT Protocol ساخته شده و میشه فقط Git hosting، فقط CI یا کل فورج رو self-host کرد.
- فرانتاند جدید با Svelte روی edge اجرا میشه و indexer به اسم bobbin با Rust تو بیشتر از ۱۱ منطقه مستقره.
- Knot2 با Rust بازنویسی شده و Git server و SSH server رو تو یه باینری داره.
- issueها، PRها و کامنتها به شکل COB داخل خود ریپو ذخیره میشن و رکوردها از sh.tangled.* به org.tangled.* منتقل شدن.
- کسایی که self-host میکنن باید knotشون رو به v1.20.0 آپگرید کنن.
- stacked PR حالا هم برای Git و هم Jujutsu در دسترسه.




