Quick start
This page takes you from no account to a pushed repository on
tangled.org. It takes a few minutes and needs
only git and ssh.
git remote add origin git@tangled.org:alice.tngl.sh/my-projectgit push -u origin mainSign in or sign up
Section titled “Sign in or sign up”Tangled accounts are AT Protocol accounts. If you already have one (a
Bluesky account, for example), sign in at
tangled.org/login with your handle, such as
alice.bsky.social. Your browser is sent to your account provider to
approve access; Tangled never sees your password.
If you don’t have an account, sign up. You
enter an email address, choose a username and password. The result is an
account with a handle like alice.tngl.sh, on the PDS we run. It works
in any other atproto application too.
You can sign in to several accounts and switch between them from the account menu.
Onboarding
Section titled “Onboarding”The first sign-in opens a short, optional setup. If you connect GitHub, Tangled can import your avatar, SSH keys and email addresses from it.
Add at least one verified email if you want email notifications or want your commits linked to your profile.
Add an SSH key
Section titled “Add an SSH key”Pushing over SSH needs a public key published in your account. Generate one if you don’t have one:
ssh-keygen -t ed25519 -C "alice@example.com"cat ~/.ssh/id_ed25519.pubPaste the output into Settings → Keys → Add SSH key
(/settings/keys/new) with a title such as “Work laptop”. The key is
saved in your account.
If your SSH agent holds many keys, the knot may give up before it sees
the right one. Pin the key in ~/.ssh/config:
Host tangled.org User git IdentityFile ~/.ssh/id_ed25519 IdentitiesOnly yesUse your knot’s hostname instead of tangled.org for repositories on a
self-hosted knot.
Create a repository
Section titled “Create a repository”Head to the New Repository page and fill in:
- Repository name: letters, digits,
.,_and-, up to 100 characters. A trailing.gitis dropped, andselfis reserved. - Description: optional, up to 140 characters.
- Default branch:
mainunless you change it. - Hosting: by default the repository is hosted with Tangled. If you self-host a knot, you can host it there instead; see Running a knot.
- CI: optional, under Advanced. Run it with Tangled, or on a spindle you self-host.
An empty repository page shows its remote. Push an existing project to it:
cd my-projectgit remote add origin git@tangled.org:alice.tngl.sh/my-projectgit push -u origin mainFor repositories hosted by Tangled, the SSH host is tangled.org. On a
self-hosted knot it is the knot’s own hostname, for example
git@knot.example.com:alice.tngl.sh/my-project. Note that this depends
on your self-hosted knot’s SSH setup.
Moving an existing repository
Section titled “Moving an existing repository”To move a repository you already push elsewhere, point origin at
Tangled and push every branch and tag:
git remote set-url origin git@tangled.org:alice.tngl.sh/my-projectgit push origin --allgit push origin --tagsIf you are coming from GitHub, check out the Migration guide, that walks you through a mass repository migration tool.