# rd-setup

> Get a repo and a machine ready for Radial. CLI, sign-in, team, config, agent instructions, and the skill pack.

`rd-setup` takes a repo from nothing to ready: the `radial` CLI on PATH, a
signed-in session, a chosen team, and the conventions written down where both
your agent and your teammates can see them. Every step is idempotent, so
running it on a repo that is already set up is the cheapest way to check.

> Set this repo and this machine up for Radial, the keyboard-first issue
> tracker, so the rest of the rd-* skills work in Claude Code and Codex.

## When to use it

First time in a repo, on a new machine, or when another skill stops because it
cannot resolve the team key. Not for filing or planning work: those are
`/rd-issues` and `/rd-plan`.

## What it asks you

As little as it can. If `radial team list` returns exactly one team it uses it
without asking. If it returns several it shows you the table and asks which one
this repo files into. If it returns none it asks for a name and a key. It asks
once more before adding the MCP server config, because MCP is optional: the
skills drive the CLI, and MCP only pays off for a hosted agent with no shell.

## What it writes

`.radial/config.json` with your team key, and `.radial/.gitignore` so plans and
prototypes stay out of git while wrappers and config stay in. A short Radial
block in `CLAUDE.md` and `AGENTS.md` naming the team and the two CLI rules that
bite. Then the skill pack, into your agent directories. It touches no issue in
Radial.

## Extension points

<hook-table skill="rd-setup">
</hook-table>

## A worked wrapper

```markdown
---
name: acme-setup
description: Acme's setup rules on top of rd-setup — SSO, the shared project, the on-call note.
extends: rd-setup
---

Read rd-setup first, then apply the sections below at their hooks.

## extra-checks

- Acme uses SSO. If `radial whoami` reports a credential from `RADIAL_KEY`,
  stop and say: personal keys are for CI only, sign in with `radial auth`.
- Refuse to continue on a scope below `write`; name the scope you saw.

## extra-config

- Write `"project": "Platform"` into `.radial/config.json` alongside the team.
- Add the on-call rota link to the Radial block in `CLAUDE.md`.

## after-setup

- Open a first issue titled "Set up <repo> in Radial" and close it, so the team
  shows up in the activity feed.
```

## What it never does

It never writes to `.env` or any secret file: a credential goes through
`radial auth` or `RADIAL_KEY`. It never creates a team without asking, and
never picks between several for you. It never rewrites an existing Radial block
in your `CLAUDE.md` beyond adding a line that is missing; your wording stays.
