Radish alpha
Workflows

Repositories

Browse, clone, and create Radicle repositories from the web. Everything you see is read directly from the Radicle storage shared with the local node.

Finding repositories

The home page lists the repositories seeded by this Radish instance. Each card shows the name, description, recent activity, and totals for commits, issues, patches, and seeders. Clicking a card opens the repository.

To open a repo by RID directly, navigate to /<rid> — Radicle Identifiers are the canonical way to reference a project across the network.

The seeders figure shown on each card and on the repository page is the number of Radicle nodes on the network that have announced they seed this repo. It is read from this instance's routing table, which is kept up to date by gossip from the wider Radicle network.

Reading the source

  • README. The repository home page renders the README at the root of the default branch as Markdown, with relative links and images rewritten to point at the right blob/raw routes.
  • Tree. Click any directory to drill into it. The sidebar shows siblings of the file you're currently viewing for quick switching.
  • Blob. Files are syntax-highlighted. Markdown files render as prose by default, with a tab to toggle to source.
  • Raw. Raw file content is served from a separate domain (raw.radusercontent.com) to isolate user-provided bytes from the main application. Image tags in rendered Markdown point there automatically.

Switching branch and peer

Radicle repositories aren't a single tree; every peer who has worked on them publishes their own view. The branch dropdown at the top of any tree page lets you:

  • Pick the canonical branch — the version agreed on by the repo's delegates.
  • Browse a peer's branches — expand a delegate or peer group to see their view of each branch. Useful for reviewing in-progress work that hasn't been promoted to canonical yet.
  • Filter the list by typing in the search box at the top.

When you're viewing a peer's branch, the dropdown button shows the branch as owner/branch-name so you can immediately tell whose view you're looking at. It also displays a trust badge:

  • Delegate — the peer is a recognised delegate of the repository.
  • Untrusted — the peer is not a delegate. The content may not represent the official state of the project. Be cautious when following links that show this badge.

The branch and peer you're viewing are encoded in the URL as ?branch= and &peer= query parameters, so a link to a specific peer's view of a file is shareable as-is.

Commits

The Commits tab shows the linear history of the current branch. Click any commit to see its message, author, and a full diff. From inside a tree page, the Last commit indicator links to the most recent commit that touched the directory or file you're looking at.

The list is paginated — 50 commits per page. Use the Older and Newer links at the bottom to move through history.

Cloning

Every public repository page has a Clone button in the header. The options shown depend on your sign-in status:

  • rad clone <rid> — uses the Radicle CLI to fetch from the peer-to-peer network. Requires a local Radicle install. Always shown.
  • Git (SSH) — if you are signed in, have at least one SSH public key registered, and the instance has the SSH bridge configured, the clone dialog shows the SSH URL (git@<radish-host>:<rid>) instead of the anonymous HTTP URL. This is the push-capable transport.
  • Git (anonymous pull) — shown when you are not signed in, or when you have no SSH keys. Uses git clone <radish-url>/git/<rid>.git over HTTP. No sign-in or Radicle install needed; private repos are not exposed.

If the SSH bridge is configured but you don't yet have an SSH key, the clone dialog shows a link to add one. If you are not signed in, it shows a link to log in.

Pushing commits Experimental

To push commits as a delegate via the Radish bridge:

  1. Add an SSH public key under Profile → Identity & Keys → Git SSH Keys. The key authenticates the connection — Radish never sees your SSH private key.
  2. Clone with the SSH URL from the Clone popover. When you clone via SSH as a delegate, you receive your own peer view of the repository. Make commits as you would on any Git host.
  3. git push. Radish accepts the pack into your peer's namespace inside Radicle storage and signs the resulting refs with your Radicle key (loaded server-side or fetched from your .radish repo on GitHub).

Pushes are only accepted from delegates of the repo. If you're not a delegate, ask one to add you under Settings → Delegates.

How pushed commits become canonical

When a delegate pushes, their commits land in their own peer namespace — visible under their name in the branch selector. For the canonical branch (the one shown by default and served to anonymous clones) to update, the repo's delegate threshold must be met:

  • Threshold 1 (single delegate) — canonical is updated immediately after the push.
  • Threshold > 1 (multi-delegate) — canonical is only updated when at least threshold-many delegates have pushed the exact same commit to the same branch. For example, in a 2-of-3 setup, two delegates must both push the same commit before canonical moves forward.

For multi-delegate repos, the typical workflow today is: one delegate pushes, then the other delegates clone or pull the first delegate's branch (visible in the branch selector under their peer group), verify it, and push the same commit from their own machine. This is admittedly manual — a more streamlined approval flow is planned for a future release.

Creating a new repository

  1. Click New repository in the top bar (you must be signed in).
  2. Pick a name (letters, numbers, hyphens, dots, underscores) and an optional description.
  3. Set the default branch if you want something other than main.
  4. Toggle Private if only delegates should be able to see the repo. Public is the default.
  5. Submit. Radish initialises the repository, signs the identity document with your key, and registers you as the sole delegate.

Creating a repository uses 1 credit — you become the repository's first sponsor automatically, and the credit is returned if you later unsponsor it. You must have at least 1 credit available.

The new repo appears immediately on the home page (or only to you, if private). You can clone it locally, push commits via Radicle or Git, or start filing issues right away.

Importing an existing repository

If a repository already exists on the Radicle network but isn't seeded here yet, you can import it at /import by entering its rad: identifier. The node will begin syncing it from the network, and you become its first sponsor.

Importing also uses 1 credit. If you navigate to a repository URL that isn't available yet (/rad:z6Mk…), you'll see an option to import it directly.

Public vs. private

A private repository is only visible to its delegates — the same key set that's allowed to mutate the identity document. Anyone else who tries to load it gets a 404, even if they happen to know the RID.

Privacy is enforced on read, but Radicle is a peer-to-peer system: copies of the data may exist on peers who saw it before it was marked private. Treat private repos as access-controlled, not as secret-storage.