Skip to content
gmacko-init-bootstrap logo

Gmacko Bootstrap Executor

gmacko-init-bootstrap

Use when (1) PROJECT_MANIFEST.json and INITIAL_PLAN.md exist, (2) ready to execute setup.sh to initialize the project, (3) renaming template to project name. Wraps setup.sh with preflight checks and validation.

SKILL.md

Full skill instructions

Gmacko Bootstrap Executor

Execute scripts/​setup.sh to initialize the project from the template.

Prerequisites

  • PROJECT_MANIFEST.json must exist
  • INITIAL_PLAN.md should exist (run gmacko-init-plan first)
  • Git working directory should be clean

Workflow

digraph bootstrap {
    rankdir=TB;
    node [shape=box];
    
    start [label="Start" shape=ellipse];
    preflight [label="1. Preflight Checks"];
    confirm [label="2. Confirm Execution"];
    approved [label="Approved?" shape=diamond];
    execute [label="3. Execute setup.sh"];
    validate [label="4. Validate Results"];
    valid [label="Valid?" shape=diamond];
    handoff [label="5. Write Handoff"];
    done [label="Bootstrap Complete" shape=ellipse];
    abort [label="Aborted" shape=ellipse];
    fix [label="Fix Issues"];
    
    start -> preflight -> confirm -> approved;
    approved -> execute [label="yes"];
    approved -> abort [label="no"];
    execute -> validate -> valid;
    valid -> handoff [label="yes"];
    valid -> fix [label="no"];
    fix -> validate;
    handoff -> done;
}

Execution Steps

Step 1: Preflight Checks

Run these checks and report status:

# Check 1: PROJECT_MANIFEST.json exists
[ -f "PROJECT_MANIFEST.json" ] && echo "OK: Manifest found" || echo "FAIL: Manifest missing"

# Check 2: Git is clean (no uncommitted changes)
[ -z "$(git status --porcelain)" ] && echo "OK: Git clean" || echo "WARN: Uncommitted changes"

# Check 3: Node.js installed
node --version && echo "OK: Node.js found" || echo "FAIL: Node.js missing"

# Check 4: pnpm installed
pnpm --version && echo "OK: pnpm found" || echo "FAIL: pnpm missing"

# Check 5: Read project name from manifest
PROJECT_NAME=$(node -p "require('./​PROJECT_MANIFEST.json').project.name")
echo "Project name: $PROJECT_NAME"

# Check 6: Determine if mobile is needed
MOBILE=$(node -p "require('./​PROJECT_MANIFEST.json').platforms.mobile")
echo "Mobile platform: $MOBILE"

Report preflight summary:

PREFLIGHT CHECKS
================
[OK] PROJECT_MANIFEST.json found
[OK] Git working directory clean
[OK] Node.js v20.x installed
[OK] pnpm 9.x installed

Project: acme-saas
Mobile: false (will use --no-mobile flag)

Step 2: Confirm Execution

IMPORTANT: This step requires user confirmation because it makes irreversible changes.

Tell the user:

I'm about to run scripts/​setup.sh which will:

  1. Rename all @repo/​* packages to @{project-name}/​*
  2. Update app metadata (titles, descriptions)
  3. Remove the template's git history
  4. Initialize a fresh git repository
  5. Delete node_modules and reinstall dependencies

This cannot be undone.

Shall I proceed? (yes/​no)

Step 3: Execute setup.sh

On user confirmation, execute:

# Build the command
PROJECT_NAME=$(node -p "require('./​PROJECT_MANIFEST.json').project.name")
MOBILE=$(node -p "require('./​PROJECT_MANIFEST.json').platforms.mobile")

if [ "$MOBILE" = "false" ]; then
  ./​scripts/​setup.sh "$PROJECT_NAME" --no-mobile
else
  ./​scripts/​setup.sh "$PROJECT_NAME"
fi

Monitor output and report progress:

  • Package scope renamed
  • App metadata updated
  • Dependencies cleaned
  • Fresh install running
  • Git repository initialized

Step 4: Validate Results

After setup completes, run validation:

# Validation 1: Check package.json has correct name
node -p "require('./​package.json').name" | grep -q "$PROJECT_NAME" && echo "OK: Root package renamed"

# Validation 2: Type check passes
pnpm typecheck && echo "OK: Type check passed" || echo "FAIL: Type errors"

# Validation 3: Lint passes
pnpm lint && echo "OK: Lint passed" || echo "FAIL: Lint errors"

# Validation 4: Build succeeds
pnpm build && echo "OK: Build succeeded" || echo "FAIL: Build failed"

# Validation 5: Git repo initialized
[ -d ".git" ] && echo "OK: Git initialized" || echo "FAIL: Git missing"

Report validation summary:

VALIDATION RESULTS
==================
[OK] Package renamed to @acme-saas/​*
[OK] Type check passed (0 errors)
[OK] Lint passed (0 warnings)
[OK] Build succeeded
[OK] Git repository initialized

Bootstrap successful!

If validation fails, report errors and suggest fixes.

Step 5: Write Handoff Document

Write docs/​ai/​handoffs/​init-bootstrap.md:

# Initialization Handoff: Bootstrap Complete

## Timestamp
[ISO timestamp]

## Status
- [x] Preflight checks passed
- [x] setup.sh executed successfully
- [x] Validation passed

## Changes Made
- Renamed `@repo/​*` to `@{project-name}/​*`
- Updated app titles and metadata
- Removed template git history
- Initialized fresh git repository
- Installed dependencies

## Validation Results
- Type check: PASSED
- Lint: PASSED
- Build: PASSED

## Next Steps
- [ ] Run `gmacko-init-provision` to configure external services
- [ ] Create initial commit with project files
- [ ] Push to gmacko/​{project-name} repository

## Notes
[Any warnings or issues encountered]

Post-Bootstrap Actions

After bootstrap completes, suggest:

Bootstrap complete! Next steps:

  1. Review the changes: Check package.json and app files
  2. Provision services: Run the gmacko-init-provision skill
  3. Create initial commit:
    git add .
    git commit -m "Initial commit: {project-name}"
    
  4. Push to GitHub:
    gh repo create gmacko/​{project-name} --private --source=. --push
    

Red Flags

RationalizationCorrection
"I'll skip the confirmation, it's just a rename"ALWAYS require explicit "yes" before setup.sh
"Validation failed but it's probably fine"STOP: Fix all validation errors before proceeding
"I'll skip typecheck to save time"NEVER skip validation; it catches real issues
"Git is dirty but I'll proceed anyway"WARN user; recommend committing first

Error Handling

setup.sh fails

  1. Check error output
  2. Common issues:
    • Invalid project name (must be lowercase, alphanumeric, hyphens)
    • Disk space issues
    • Permission problems
  3. Suggest fix and retry

Validation fails

  1. Report specific failure
  2. For type errors: Run pnpm typecheck and show errors
  3. For lint errors: Run pnpm lint --fix if auto-fixable
  4. For build errors: Check for missing dependencies

Dependencies

  • Requires: PROJECT_MANIFEST.json, scripts/​setup.sh
  • Produces: Renamed project, docs/​ai/​handoffs/​init-bootstrap.md
  • Next skill: gmacko-init-provision

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View