EXP-004 · active
ghScaff
A building is only as straight as its scaffold.
ghScaff raises the whole structure in one conversational wizard — and because every operation is idempotent, it can re-level any existing repository without tearing it down.
Install
curl -fsSL https://get.univerlab.org/ghscaff | sh irm https://get.univerlab.org/ghscaff.ps1 | iex The same setup, again and again.
New Rust project. Same labels, same branch protection, same CI, same secrets. Again. And again. Replicable work you do by hand isn’t craft — it’s toil. ghScaff runs the whole ritual in one wizard, idempotently, so your conventions hold the line instead of drifting.
7 lifts
- 01Repository basics
- 02Visibility & ownership
- 03Team access
- 04Language template
- 05Branches
- 06Features & license
- 07Review & confirm
Structural details
- Tokens live in an encrypted vault (XSalsa20-Poly1305), bound to your user, host and binary — never in env vars or plain text.
- One atomic
chore: init repositorycommit carries all boilerplate — no noisy file-by-file history. - Seven standard labels enforced on every run; drift is corrected, not accumulated.
--dry-runpreviews every change without a single API call.
Subproject
ghscaff-boilerplate ↗
The language boilerplates ghscaff lays down — manifests, entry points, CI/release workflows. Rust today; Python and more on the way.
FAQ
- How does ghScaff set up a GitHub repository?
- Run `ghscaff` — an interactive wizard that creates the repo, commits boilerplate (CI, README, license), sets branch protection, and enforces standard labels. One atomic commit, no manual steps.
- Why does ghScaff use an encrypted vault for tokens?
- Environment variables with tokens are easily exploitable — any process on your machine can read them. ghScaff encrypts tokens with XSalsa20-Poly1305, bound to your OS user and hostname. The vault prevents ghScaff from becoming an attack vector.