this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

JavaScript 100.0%
1 1 0

Clone this repository

https://tangled.org/alice.mosphere.at/create-tangled-repo https://tangled.org/did:plc:by3jhwdqgbtrcc7q4tkkv3cf/create-tangled-repo
git@tangled.org:alice.mosphere.at/create-tangled-repo git@tangled.org:did:plc:by3jhwdqgbtrcc7q4tkkv3cf/create-tangled-repo

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.md

create-tangled-repo#

A small Bun + Playwright helper that creates Tangled repositories through Tangled's real appview flow.

It logs in through the Bluesky OAuth page when needed, saves a reusable Tangled web session locally, and then creates repositories by posting to the same /repo/new route the web UI uses.

Why this exists#

Tangled exposes lower-level repo creation plumbing, but creating a repo directly through the knot XRPC path can leave you with a repo that the appview does not ingest. This tool uses the appview-backed path so the created repo shows up properly in Tangled.

Requirements#

  • Bun
  • A Tangled / Bluesky account
  • Your normal account password for the Bluesky auth flow
  • A Tangled knot where you can create repos

The script downloads Playwright Chromium automatically on first run.

Usage#

bun install
./create-tangled-repo.js --identifier alice.mosphere.at --password 'your-normal-password' my-repo

You can create more than one repo at once:

./create-tangled-repo.js repo-one repo-two

The script remembers the last knot you used. If no knot is configured yet, it defaults to knot1.tangled.sh.

Options#

--identifier <handle>   Bluesky/Tangled handle for login, if a new session is needed
--password <password>   Account password for OAuth login, not an app password
--knot <domain>         Knot domain to host the repo on
--branch <name>         Default branch. Default: main
--description <text>    Optional repo description
--host <url>            Tangled appview base URL. Default: https://tangled.org
--session-file <path>   Stored session state file
--config-file <path>    Stored config file
--login-only            Refresh/login and save session, create nothing
--show-browser          Show the browser window during login

Cache files#

By default the script stores:

  • session state in /workspace/.cache/tangled/session.json
  • config in /workspace/.cache/tangled/config.json
  • Playwright browsers in /workspace/.cache/ms-playwright

You can override those with environment variables.

Notes#

  • The password is your normal account password, not an app password.
  • App passwords are fine for the lower-level protocol path, but that path can create ghost repos.
  • This script intentionally takes the dirty path because it is the one that works today.