Radial app

Publishing

Publishing is git: commit, push, and your host deploys. You work on whatever branch the repo is on, nothing goes live until you publish, and ⌘⇧Return ships when you're ready.

The branch model

Radial never moves you between branches. Open a project and you're on whatever branch it was already on: main for most solo sites, staging or a feature branch if that's how the repo works. The branch chip in the top bar always shows the truth. Nothing lands anywhere until you publish, and commit messages are written for you, summarizing what actually changed.

Staging

Publish to staging takes a snapshot of the branch you're on and pushes it to the staging branch, without switching you. On a repo connected to Vercel, that produces a preview deploy: a real URL you (or a client) can check before anything touches production. If you're already working on staging or a feature branch, publishing to staging simply pushes that branch.

The snapshot is safe on teams: if someone else pushed to staging since you last saw it, the publish stops instead of overwriting their work.

Production

Publish to production follows the project's policy. Working on main, it pushes main directly, or opens a pull request from the staging snapshot if the project is set to review-first. Working on another branch, it merges into production and returns you to your branch.

Pulling what others pushed

When someone else pushes to the branch you are on, the Publish button shows a dot and the Publish menu's Pull latest from GitHub row says how many commits are waiting. Pulling is a fast-forward: your uncommitted edits are kept, and if a file changed on both sides Radial shows the conflict instead of guessing. The same action lives in the Project menu, in the command palette, and in the Branches panel; from a terminal it is radial sync.

No GitHub? Still publishes

A project without a git remote can still ship: connect Vercel and Radial deploys directly, with a stable staging URL and a production deploy, no repository setup required. You can add GitHub later and the flow upgrades to the branch model above.

For sharing work with clients specifically, Present to client… in the publish menu wraps the deploy in a branded review page; see Client review.

Per-project configuration

Publish policy lives in a committed .radial.json at the repo root, so it travels with the repo and every collaborator (or client) inherits the same behavior:

{
  "productionPublish": "direct" | "pr",
  "productionBranch": "main",
  "stagingBranch": "staging"
}

Set "productionPublish": "pr" for client repos where production changes should be reviewed, and "direct" where you own the site and want one-click ship.

Where your site lives (Vercel)

Publish settings show a Hosting row with the truth about your deployment: which Vercel project and team this folder is linked to, and the site's real domain, detected from Vercel rather than guessed. That matters because the default domain is not always <project>.vercel.app: when a name is taken, Vercel silently assigns a suffixed one (say acme-five.vercel.app), and a custom domain replaces the default entirely. Radial shows whichever is actually serving.