You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Offer Get your team started or Join your team on first run #549
Today a new install lands on "Open a project". Nothing asks whether you're starting a team or joining one. Setting up the team's services takes wrangler or celld commands from a checkout (docs/setup.md), and joining takes a URL and a secret sent by hand (#538).
Proposal: on first run, Ace offers a fork.
Get your team started
Join your team (designed separately)
Get your team started
Directory. Choose where the team's directory runs, or skip it:
Peer to peer only. There's no directory. Teammates on the tailnet see each other's channels only while both hosts are awake, with no shares, lobbies or presence. Say plainly what's lost.
Hosted directory (recommended). Pick a provider with guided setup (Cloudflare and Fly.io as reference implementations), or host it yourself on celld or any compatible runtime.
Remote channels (optional). Choose whether to enable hosted channels and cloud workspaces, with the same two options: a provider with guided setup, or host it yourself.
Set up. Per-platform instructions, automated where we can: create the services, generate and store ACE_SECRET, set TAILNET, name HOSTED/APP/COMPUTE, and join this host. It ends with what to send teammates.
Open questions
What does a peer-only teammate need? Peers already find each other through the tailnet with no code (see Find teammates' hosts on other ports, such as stable and Canary #542 for the same-port limit). A code would only be needed if peer-only mode adds something the tailnet doesn't give. Per docs/terms.md, the tailnet is the only authority for team membership and Ace has no invitations, so any code must not become a second membership system.
When does the fork appear? On first run only, or whenever this host has no directory? And what if peers on the tailnet already have one, which suggests joining?
Fly.io needs a deployment of its own: celld on a Fly Machine with a bucket for the directory and hosted channels. Compute today needs Cloudflare Containers.
Automation. How much can Ace do itself (wrangler with the person's login, flyctl), and how much stays instructions to copy?
Done in #553 (with #552): first run opens team setup with Get your team started, Join your team, or Just me for now. It deploys the directory (and optionally hosted channels) to Cloudflare from the app. Left out: Fly.io deploys from the app (it still shows #552's script), and cloud workspaces are a disabled Soon row.
Activity
iamnbutler commentedon Oct 22, 2026
Done in #553 (with #552): first run opens team setup with Get your team started, Join your team, or Just me for now. It deploys the directory (and optionally hosted channels) to Cloudflare from the app. Left out: Fly.io deploys from the app (it still shows #552's script), and cloud workspaces are a disabled Soon row.