UniverLab · open laboratoryEXP-004
ghScaff
A building is only as straight as its scaffold.
ghScaff raises the whole structure in one interactive wizard — and because every operation is idempotent, it can re-level any existing repository without tearing it down.
GitHub repositories → an idempotent wizard → conventions enforced
7 lifts
- 01Repository basics
- 02Visibility & ownership
- 03Team access
- 04Language template
- 05Branches
- 06Features & license
- 07Review & confirm
curl -fsSL https://install.univerlab.org/ghscaff | shirm https://install.univerlab.org/ghscaff.ps1 | iex
EXP-004 · active · · release v0.7.1 · 3 weeks ago · roadmap: · · Built with Canopy · Repository set up with ghScaff · Demo recorded with DemoStage · Commits checked by GitKit
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.
- 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.- Branch protection reads the workflow files ghscaff just committed and derives the required status checks from them — a mistyped check name silently guards nothing, and this removes that class of misconfiguration. Run
ghscaff doctorto verify the setup.
3 boilerplates the wizard can lay down
| name | language | description | version |
|---|---|---|---|
| python-fastapi | Python | FastAPI daemon with uvicorn, SQLAlchemy, Pydantic, and SSE support | 1.0.0 |
| python-module | Python | Python scientific module with CLI, tests, and optional publish to PyPI | 1.0.0 |
| rust | Rust | Rust CLI template with cargo, CI/CD, and standard structure | 1.0.0 |
Pick one at the wizard's language step: ghscaff new
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.
- How does ghScaff know which checks are required for branch protection?
- ghScaff reads the workflow files it just committed and derives the required status checks from the job names. A mistyped check name creates a protection rule that guards nothing — ghScaff removes that class of silent misconfiguration.