Tangled, 진짜 연합형 코드 포지의 등장

The Federated Code Forge

Tangled, 진짜 연합형 코드 포지의 등장

Tangled는 코드를 자기 서버에 두면서도 다른 사람들과 매끄럽게 협업할 수 있는 최초의 연합형 코드 포지다. AT Protocol 기반으로 원하는 구성 요소만 자체 호스팅할 수 있고, 이슈와 PR 같은 협업 데이터도 코드와 함께 저장돼 프로젝트 이식성이 극대화된다. 이번 릴리스에서는 Svelte 기반 새 UI, Rust로 작성된 전역 인메모리 인덱서 bobbin, 조직 계정, 스택형 PR 등이 추가됐다.

프로젝트의 이슈와 풀 리퀘스트는 코드만큼이나 프로젝트의 일부이므로, 어디에 호스팅하든 코드와 함께 있어야 한다.
  1. stryan

    Tangled이 발전하는 모습을 정말 기대하고 있어요! 저는 사이드 프로젝트가 있는데, 메인 저장소와 CI는 자체 호스팅 Gitea에 있고 코드와 릴리스는 Github에 미러링되어 있어요. 이걸 Gitea에서 Tangled로 옮겨서 코드/릴리스/잠재적으로 CI까지 맡기고, Github는 발견 가능성/백업/네임스페이스 "점유"용으로만 유지하고 싶어요.

    다만 git-bug에 Tangled 브리지가 추가되어 이슈를 동기화할 수 있고, (이상적으로는) 클라이언트를 자체 호스팅으로 실행하는 방법에 대한 안내가 있으면 좋겠어요. 완전한 기능의 클라이언트일 필요는 없지만, 메인 Tangled 앱뷰가 다운됐을 때 웹 가시성 측면에서 막막해지고 싶지는 않거든요.

    한 가지 생각: 얼마 전 새 머신에 Neovim을 설정하다가 연합형 Git 호스팅에서 첫 "문제"를 겪었어요. 제가 쓰는 플러그인 중 하나가 Tangled에 호스팅되어 있는데, 아마 그걸 뒷받침하는 Knot이 다운된 것 같았어요. 이게 두 가지 이유로 곤란했어요:

    1. Tangled 웹사이트에서는 백킹 Knot이 문제라는 걸 알 수 없었어요 (한동안은 제 쪽 문제인 줄 알았죠)

    2. Neovim 플러그인의 소스 포지가 다운될 경우에 대한 백업 계획이 전혀 없었고, Neovim 패키지 매니저도 마찬가지였던 것 같아요. 세션을 시작할 때마다 오류만 표시하고 고칠 방법이 없었거든요 :).

    장기적으로는 코드 저장소가 항상 거기 있고 어딘가에 쉽게 캐시된다고 가정해서는 안 되겠지만, 당분간은 성장통이 있을 거라고 예상해요. ATProto는 ActivityPub가 가진 이점, 즉 내가 보고 싶은 콘텐츠가 있는 인스턴스가 […]

  2. icy

    안녕하세요! Tangled 공동 창업자입니다. 이번 출시에 정말 기대가 큽니다 -- AT Protocol 렉시콘을 안정화했고, 아키텍처와 UI를 완전히 개편했으며, 전체 스택(또는 일부!)을 자체 호스팅하는 것을 놀라울 정도로 쉽게 만들었습니다. 조직 지원도 출시했고, 몇 주 안에 비공개 저장소도 출시할 예정입니다.

    질문이 있으시면 무엇이든 답변해 드리겠습니다.

  3. ivanjermakov

    핀란드 스타트업 Tangled, 코드 협업을 재창조하기 위해 380만 유로 투자 유치 https://www.vestbee.com/insights/articles/tangled-raises-3-8...

  4. pksunkara

    게시물에서 렉시콘이 확정되었다고 봤습니다. 여기에 이슈, 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