setup is the primary provisioning command. It applies a deterministic set of infrastructure actions for every configured capability. Each step is wrapped in a try/catch — failures are reported but don’t abort subsequent steps. A summary at the end shows counts for ok, fail, and skip.
Sets org-level custom properties from repo.properties
Sync topics
Sets GitHub topics from repo.topics
Sync teams
Grants team access from repo.teams
Write CODEOWNERS
Generated for teams with write-or-higher permission
Required checks (protection: "strict") are derived from the task manifest —
"DCO" (hard-prepended), then every { required: true } task’s workflow check
context (Lint / Conclusion, Test / Conclusion, …) in CI order, then the
top-level extraRequiredChecks. No hand-maintained list.
Pre-push hook. When hooks are enabled — on by default for
protection: "strict", gated by the hooks config field, overridable with
--hooks / --no-hooks — setup writes .husky/pre-push (runs holocron ci)
and sets package.json#scripts.prepare to husky (unless syncScripts: false).
Run pnpm install once to activate it; bypass one push with git push --no-verify.
Workflow files written by setup are generated artifacts — overwritten on each run. Do not edit them manually; edit the workflow templates in theholocron/holocron and run holocron sync-github instead.
Skills are gitignored and re-installed on each setup run. Running setup on a fresh clone restores them.
setup is idempotent — running it again on the same repo produces the same result and does not create duplicate labels, environments, or teams.