| name | bootstrap-repository |
| license | MIT |
| description | Use when creating or initializing a new software repository, or turning an empty or newly generated project directory into a maintained local and GitHub-ready repository. Applies across Swift, Expo or React Native, Python, React or TypeScript, and other stacks. Do not use for auditing or modernizing an established repository, adding one CI job, implementing product features, deploying, or publishing. |
Bootstrap repository
Build the repository to its intended maturity, not the maximum available rigor.
Start from the maintained platform generator and make local files plus remote
policy one verifiable contract.
Establish the contract
Read maturity profiles, then select exploration,
maintained, or shipping. Record the intended lifespan, collaborators,
visibility, release or deployment surface, supported platforms, and whether an
exact GitHub repository already exists.
Load exactly one relevant stack reference:
Read GitHub configuration when a remote exists or the
requested outcome includes GitHub readiness. Treat absent high-cost identity,
compatibility, visibility, or release decisions as unresolved. This includes
licenses, authors or publishers, security contacts, package ownership, and
permanent repository URLs. Keep reversible local work moving and defer the
dependent choice explicitly.
Inspect before changing
Preserve every file in a nonempty directory and surface conflicts. Run the
read-only inspector before and after changes:
python3 <skill-directory>/scripts/inspect_repository.py .
python3 <skill-directory>/scripts/inspect_repository.py . --github OWNER/REPOSITORY
Use --github only for an exact existing target. The helper reads repository
metadata and rulesets; it never creates or mutates them.
Scaffold from upstream
Use the current maintained generator or platform source of truth. Record the
generator, version, command, and important selections. If it cannot run because
of cache, preference, or sandbox state, redirect only that state to a
task-specific temporary directory and retry once. If it still cannot run, stop
and report the blocker. Do not inspect bundled generator code, inject runtime or
platform shims, patch the generator, or reconstruct framework boilerplate by
hand.
Keep product implementation to the generator shell or the smallest placeholder
the user requested. Do not silently initialize commits, create remotes, sign,
deploy, tag, or publish.
Complete the local contract
Apply the selected profile and expose one authoritative verification command.
Ensure the repository has a truthful quick start, root agent instructions,
runtime and package-manager choices where applicable, committed lockfiles,
proportional format/lint/type/test/build checks, and checked-in automation
required by the profile.
Make omissions intentional. A prototype may stop at a build and focused check;
a maintained app needs reproducible setup, dependency automation, and required
CI; a shipping package needs release metadata and a verified but inert release
path. Never invent a universal coverage threshold.
Prepare GitHub separately
Separate checked-in files from remote settings. Produce an exact GitHub plan
covering metadata, topics, merge policy, branch deletion, security features,
dependency updates, rulesets, required checks, environments, and release-tag
policy as applicable.
Apply remote settings only when the user authorized those writes and the exact
owner, repository, visibility, and default branch are resolved. Require only
check names that exist and have run; prefer one stable aggregate gate and state
a recovery path before activating a ruleset.
Verify and report
Verify from a clean install or bootstrap path, run the authoritative command,
exercise the primary build or launch surface, rerun the inspector, and show the
working-tree state. Do not claim GitHub settings were applied from local files.
Return these sections in order:
- Repository contract: stack, maturity profile, assumptions, and approved
deviations.
- Generator provenance: upstream source, version, command, and selections.
- Local setup: important files and the one verification command.
- GitHub: settings applied, planned, or intentionally absent.
- Verification: commands run, results, and unverified surfaces.
- Deferred decisions: owner choices and concrete promotion triggers.