Environment Bootstrap
Create a working local dev environment from a repository with reproducible setup steps and verification output.
Table of Contents
When to use
Use this skill when the user asks to quickly stand up a new repo locally, reproduce onboarding setup, or validate that a project can run from a clean environment.
Standards snapshot (March 2026)
- Prefer deterministic bootstrap over one-off shell folklore.
- Detect the stack before installing dependencies or activating toolchains.
- Use repo-native setup and validation commands when they exist.
- Record what succeeded, what was skipped, and the first blocking step if bootstrap does not finish cleanly.
Philosophy
- Prefer deterministic setup over ad-hoc shell steps.
- Detect and report blockers early so users can recover quickly.
- Keep generated setup notes actionable for the next contributor.
Required inputs
- Repository URL (required).
- Optional target branch/tag/ref.
- Optional runtime/tooling constraints (Node/Python/Rust versions, package manager preference).
Procedure
- Clone the requested repository into a clean workspace.
- Detect project type(s) and required toolchain.
- Install or activate required tools via mise where applicable.
- Install project dependencies with the detected package manager/workflow.
- Prepare environment scaffolding (
.env, service dependencies, startup prerequisites).
- Run a minimal startup/health verification command.
- Record outcomes and next steps in setup artifacts.
Deliverables
- Bootstrapped local repository ready for development (or clear failure report).
- Concise setup summary (commands executed, detected stack, verification result).
- Follow-up artifact (
SETUP.md or SETUP_FAILED.md) with reproducible instructions.
- If requested, a structured status report with
schema_version: 1 aligned to references/contract.yaml.
Failure mode
If clone, toolchain activation, dependency install, or the first runnable health check fails, stop at that blocker, capture the exact outcome, and leave a documented partial state rather than claiming a successful bootstrap.
Constraints
- Redact secrets and sensitive data by default in logs, setup artifacts, and copied config values.
- Do not silently bypass failing prerequisites; surface explicit remediation steps.
- Avoid destructive system changes outside the requested repo context without user approval.
Validation
- Verify clone success and expected directory structure.
- Verify dependency install command exits successfully.
- Verify at least one project health check/start command outcome is recorded.
- Fail fast on unrecoverable setup gates and report first actionable blocker.
Anti-patterns
- Running broad system modifications without clear user consent.
- Suppressing setup failures to produce a false "success" status.
- Hardcoding environment-specific assumptions without documenting them.
Variation
- Adapt the workflow depth based on user intent: quick bootstrap, full developer setup, or audit-only verification.
- Use different validation strictness for exploratory setup versus handoff-ready environment preparation.
- Customize toolchain steps per detected project type while preserving the same preflight and safety gates.
Usage
/bootstrap https://github.com/owner/repo
/bootstrap https://github.com/owner/repo --branch develop
Example Output
- Bootstrap starts with repo URL and temp work directory.
- It clones, detects project type, installs tools/dependencies, verifies startup, and writes
SETUP.md.
- Successful run ends with a clear completion marker and per-step status.
Troubleshooting
If bootstrap fails:
- Check
SETUP_FAILED.md in the workspace.
- Review first failing command and remediation notes.
- Re-run with explicit toolchain versions if auto-detection was ambiguous.
Decision feedback protocol
See Also
| Skill |
When to use together |
| [[fix-mise]] |
Repair mise trust issues blocking the bootstrapped environment |
| [[gh-workflow]] |
Set up GitHub PR workflow after bootstrap |
| [[verification-before-completion]] |
Verify the bootstrap is working before continuing |
Topic map: [[backend-platform]]
Decision feedback protocol (required):
- If post-run feedback capture is enabled for this runtime, emit a non-blocking
post_run_feedback event via request_user_input after result delivery.
- Capture:
decision (accepted|partial|rejected|deferred), outcome (good|neutral|bad|unknown), and confidence (high|medium|low).
- Persist with:
python3 utilities/skill-builder/scripts/record_skill_feedback.py --skill-path <path/to/SKILL.md> --decision <...> --outcome <...> --confidence <...> --notes "...".
- The recorder tags
subject (for example ui, code_review, backend, security) for cross-domain quality analytics.
Gotchas
- None yet. Capture recurring failures here as symptom -> cause -> do instead -> check.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: bootstrap-53description: Bootstrap a local development environment from a GitHub repository URL. Use when the user asks to clone a repo, install toolchains/dependencies, and validate a working dev setup automatically. Use when this capability is needed.4---56# Environment Bootstrap78Create a working local dev environment from a repository with reproducible setup steps and verification output.910## Table of Contents11- [When to use](#when-to-use)12- [Standards snapshot](#standards-snapshot-march-2026)13- [Philosophy](#philosophy)14- [Inputs](#inputs)15- [Procedure](#procedure)16- [Outputs](#outputs)17- [Failure mode](#failure-mode)18- [Constraints](#constraints)19- [Validation](#validation)20- [Anti-patterns](#anti-patterns)21- [Variation](#variation)22- [Usage](#usage)23- [Example Output](#example-output)24- [Troubleshooting](#troubleshooting)25- [Decision feedback protocol](#decision-feedback-protocol)2627## When to use2829Use this skill when the user asks to quickly stand up a new repo locally, reproduce onboarding setup, or validate that a project can run from a clean environment.3031## Standards snapshot (March 2026)32- Prefer deterministic bootstrap over one-off shell folklore.33- Detect the stack before installing dependencies or activating toolchains.34- Use repo-native setup and validation commands when they exist.35- Record what succeeded, what was skipped, and the first blocking step if bootstrap does not finish cleanly.3637## Philosophy3839- Prefer deterministic setup over ad-hoc shell steps.40- Detect and report blockers early so users can recover quickly.41- Keep generated setup notes actionable for the next contributor.4243## Required inputs4445- Repository URL (required).46- Optional target branch/tag/ref.47- Optional runtime/tooling constraints (Node/Python/Rust versions, package manager preference).4849## Procedure50511. Clone the requested repository into a clean workspace.522. Detect project type(s) and required toolchain.533. Install or activate required tools via mise where applicable.544. Install project dependencies with the detected package manager/workflow.555. Prepare environment scaffolding (`.env`, service dependencies, startup prerequisites).566. Run a minimal startup/health verification command.577. Record outcomes and next steps in setup artifacts.5859## Deliverables6061- Bootstrapped local repository ready for development (or clear failure report).62- Concise setup summary (commands executed, detected stack, verification result).63- Follow-up artifact (`SETUP.md` or `SETUP_FAILED.md`) with reproducible instructions.64- If requested, a structured status report with `schema_version: 1` aligned to `references/contract.yaml`.6566## Failure mode67If clone, toolchain activation, dependency install, or the first runnable health check fails, stop at that blocker, capture the exact outcome, and leave a documented partial state rather than claiming a successful bootstrap.6869## Constraints7071- Redact secrets and sensitive data by default in logs, setup artifacts, and copied config values.72- Do not silently bypass failing prerequisites; surface explicit remediation steps.73- Avoid destructive system changes outside the requested repo context without user approval.7475## Validation7677- Verify clone success and expected directory structure.78- Verify dependency install command exits successfully.79- Verify at least one project health check/start command outcome is recorded.80- Fail fast on unrecoverable setup gates and report first actionable blocker.8182## Anti-patterns8384- Running broad system modifications without clear user consent.85- Suppressing setup failures to produce a false "success" status.86- Hardcoding environment-specific assumptions without documenting them.8788## Variation8990- Adapt the workflow depth based on user intent: quick bootstrap, full developer setup, or audit-only verification.91- Use different validation strictness for exploratory setup versus handoff-ready environment preparation.92- Customize toolchain steps per detected project type while preserving the same preflight and safety gates.9394## Usage9596```bash97/bootstrap https://github.com/owner/repo98/bootstrap https://github.com/owner/repo --branch develop99```100101## Example Output102103- Bootstrap starts with repo URL and temp work directory.104- It clones, detects project type, installs tools/dependencies, verifies startup, and writes `SETUP.md`.105- Successful run ends with a clear completion marker and per-step status.106107## Troubleshooting108109If bootstrap fails:1101111. Check `SETUP_FAILED.md` in the workspace.1122. Review first failing command and remediation notes.1133. Re-run with explicit toolchain versions if auto-detection was ambiguous.114115## Decision feedback protocol116117## See Also118119| Skill | When to use together |120|---|---|121| [[fix-mise]] | Repair mise trust issues blocking the bootstrapped environment |122| [[gh-workflow]] | Set up GitHub PR workflow after bootstrap |123| [[verification-before-completion]] | Verify the bootstrap is working before continuing |124125**Topic map:** [[backend-platform]]126127<!-- decision-feedback-protocol:v2 -->128**Decision feedback protocol (required):**129- If post-run feedback capture is enabled for this runtime, emit a non-blocking `post_run_feedback` event via `request_user_input` after result delivery.130- Capture: `decision` (`accepted|partial|rejected|deferred`), `outcome` (`good|neutral|bad|unknown`), and `confidence` (`high|medium|low`).131- Persist with: `python3 utilities/skill-builder/scripts/record_skill_feedback.py --skill-path <path/to/SKILL.md> --decision <...> --outcome <...> --confidence <...> --notes "..."`.132- The recorder tags `subject` (for example `ui`, `code_review`, `backend`, `security`) for cross-domain quality analytics.133<!-- /decision-feedback-protocol -->134135## Gotchas136- None yet. Capture recurring failures here as symptom -> cause -> do instead -> check.137138---139> Converted and distributed by [TomeVault](https://tomevault.io/claim/jscraik) — claim your Tome and manage your conversions.140<!-- tomevault:4.0:skill_md:2026-04-13 -->