mcpField
G
gh-bootstrap

gh-bootstrap

github.com/bahayonghangDevelopment1736 installsUpdated 2d ago
Repository

About gh-bootstrap

gh-bootstrap is a skill for maintainers that creates GitHub repository configuration files. It detects the project stack, fetches and renders templates, then validates the output while requiring approval before overwriting existing files.

Key features

  1. 01Detect languages, frameworks, and GitHub files
  2. 02Choose templates by operating mode
  3. 03Fetch and render template files
  4. 04Validate output and placeholders
  5. 05Resolve conflicts with existing files

Use cases

  1. 01Set up GitHub files for a new repository
  2. 02Add community files to an existing project
  3. 03Select workflow templates for a project stack

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/bahayonghang/my-ai-cli-toolkit --skill gh-bootstrap

After installing, type/gh-bootstrapin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

agents/
interface.yaml
evals/
evals.json
scripts/
gh_bootstrap_runtime.py
specs/
template-catalog.md

Details

From the project README

In the commands below, <skill-dir> is this skill's base directory, announced when the skill loads. Substitute the literal path; it is not an environment variable. The runtime script gh_bootstrap_runtime.py is the only execution engine — never hand-roll the detect / fetch / render / validate steps.

  1. Ask the user for communication language and template language preference, plus the desired mode: quick (sensible defaults, minimal interaction), custom (choose specific templates), or full (all available templates).
  2. Detect languages, frameworks, and existing GitHub files with python "<skill-dir>/scripts/gh_bootstrap_runtime.py" detect "$ARGUMENTS" before planning. If detection returns no languages (empty project or unrecognized stack), ask the user to specify the primary language manually instead of guessing.
  3. Call AskUserQuestion to collect necessary configuration variables (project name, GitHub owner/repo, author, license, and any component-specific values).
  4. Scan for existing config files and plan conflict resolution. Never overwrite existing files without explicit user approval.
  5. Read specs/template-catalog.md to map required files to repository URLs, then use python "<skill-dir>/scripts/gh_bootstrap_runtime.py" fetch-template ... to download the chosen template sources. If a template download fails (network error, 404, timeout), report which template failed and offer to skip it or retry.
  6. Render files with python "<skill-dir>/scripts/gh_bootstrap_runtime.py" render-template ... so placeholder replacement is deterministic.
  7. Validate the generated tree with python "<skill-dir>/scripts/gh_bootstrap_runtime.py" validate-tree <target-root> and refuse completion if unreplaced {{placeholders}} remain.

Mandatory Rules

  • NEVER write config files from memory; MUST render from downloaded templates.
  • ALWAYS replace {{variable}} placeholders (e.g. {{projectName}}); NEVER alter GitHub Actions expressions (${{ github.* }}, ${{ secrets.* }}) or action version pins (e.g. @v4). The renderer only substitutes {{...}}.
  • Output targets .github/workflows/, issue templates, PR templates, and baseline community files.

Comments

Markdown supported