The Wizard
Running ghscaff (or ghscaff new) starts a conversational wizard with
7 steps:
- Repository basics — name, description, topics.
- Visibility & ownership — public/private, personal or organization.
- Team access (org only) — select teams and assign permissions (pull, triage, push, admin).
- Language / template — choose a boilerplate (Rust today; more languages coming).
- Branches — default branch, optional
developbranch. - Features — LICENSE, standard labels.
- Review & confirm — verify all settings before creation.
What happens after confirm
Ghscaff then performs the full setup automatically:
- Creates the repository.
- Commits all boilerplate files in a single atomic commit
(
chore: init repository) — no noisy per-file commits. - Applies branch protection
to
main(anddevelopif created). - Adds the selected teams with their assigned permissions.
- Enforces the standard label set — creates missing, updates changed, removes non-standard.
- Configures required GitHub Actions secrets from the vault, environment, or an interactive prompt.
Every one of these operations is idempotent — if something already matches, it is skipped, which is what makes Apply Mode safe.