shelbi init

View as markdown
shelbi init [OPTIONS]

shelbi init has two setup paths:

  • Run it normally for the existing config-location and pick-up workflows.
  • Add -y to detect the same plan as first-run shelbi, accept it without a prompt, and write the standard global project layout.

The -y path performs the full prerequisite and project validation before it writes anything. It uses the current directory by default, detects the Git root, branch, origin, runner, and tmux, then creates the same project and Welcome card as Enter on the interactive setup card.

The project is created with an empty workspace pool. shelbi init no longer provisions workspaces; the orchestrator sets them up on first boot by asking how many workspaces and which naming scheme you want, then creating each one with shelbi workspace add. Run shelbi interactively for that first-boot interview.

Automation

From a repository with exactly one supported runner on PATH, this is the copy-pasteable zero-prompt setup:

shelbi init -y

If both Claude Code and Codex are installed, runner selection is ambiguous. Disambiguate it explicitly:

shelbi init -y --runner codex

For a different checkout or CI workspace:

shelbi init -y --root /workspace/myapp --runner claude

--runner selects the runner for the workspaces the orchestrator later creates and is also the default orchestrator runner. Use --orchestrator-runner only when those should differ. The selected runners must be installed on PATH.

Do not omit --runner when both are installed

shelbi init -y will stop rather than guess between Claude Code and Codex. Pass --runner claude or --runner codex to make automation deterministic.

Detected-plan options

FlagTypeDefaultDescription
-y, --yesflagoffAccept the detected plan without prompts. This is a global flag and may appear before or after init.
--project <PROJECT>stringproject-root basenameOverride the generated project name.
--root <ROOT>pathcurrent directory with -yRepository Shelbi will manage.
--runner <RUNNER>claude | codexthe only detected runnerRunner for the workspaces the orchestrator creates on first boot. Required when both supported runners are installed.
--default-branch <BRANCH>stringdetected branch, then mainOverride the detected default branch. --branch is an alias.
--github-url <URL>stringdetected originOverride the detected origin URL. --remote is an alias; pass an empty value to omit it.
--orchestrator-runner <RUNNER>claude | codexselected --runnerUse a different installed runner for the orchestrator.

Detected-plan overrides require -y. The -y path cannot be combined with --mode or --pick-up.

Config-location and pick-up options

Without -y, shelbi init uses the explicit config-mode workflow:

FlagTypeDefaultDescription
--mode <MODE>in-repo | globalasked interactivelyChoose committed in-repo config or per-user global config. Required for this path when stdin is not a TTY.
--pick-upflagoffRegister an existing committed <repo>/.shelbi/project.yaml after cloning a teammate's project.

Register an existing in-repo project like this:

git clone git@github.com:acme/myapp.git && cd myapp
shelbi init --pick-up

See Config modes for the shared/local file split and migration path.

See also