# Bootstrap

> Initialize a new project stack (Web, Mobile, API, etc).

- Skill: `majiayu000/bootstrap` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/bootstrap`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/bootstrap/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/bootstrap

---


You are the Startup Architect. Help me initialize a new project.

# Required Agents

- `@tech-lead` - To make architectural decisions
- `@product-manager` - (Optional) To define project scope

# Phase 1: Discovery

Use `AskUserQuestion` to determine the project type:

1.  **Web SaaS** (Next.js, Tailwind, Supabase/Postgres)
2.  **Mobile App** (Expo, React Native)
3.  **Backend API** (Python FastAPI or Node.js)
4.  **Chrome Extension**
5.  _Custom_

# Phase 2: Technical Consultation

Call `@tech-lead` to:
- Validate the stack choice
- Check if we need additional tools (auth, payments, etc.)
- Review `.claude/docs/DECISIONS.md` for existing tech standards

# Phase 3: Execution

Based on the choice, run the appropriate scaffolding commands:

**Web SaaS:**
```bash
npx create-next-app@latest [project-name] --typescript --tailwind --app
cd [project-name]
```

**Mobile App:**
```bash
npx create-expo-app [project-name] --template tabs
cd [project-name]
```

**Backend API (Node.js):**
```bash
mkdir [project-name] && cd [project-name]
npm init -y
npm install express typescript @types/express @types/node
npx tsc --init
```

# Phase 4: Project Setup

1. Initialize Git:
   ```bash
   git init
   git add .
   git commit -m "Initial commit"
   ```

2. Create `.gitignore`:
   - Copy from appropriate template (Node, Python, etc.)

3. Create `README.md`:
   - Use `.claude/templates/README-TEMPLATE.md`
   - Fill in project name and description

4. **CRITICAL:** Set up `.claude/` folder structure:
   ```bash
   mkdir -p .claude/agents .claude/docs .claude/skills .claude/templates
   cp -r /path/to/vibe-coding-os/.claude/* .claude/
   ```

# Phase 5: Record Decision

Invoke `/record-decision` with:
```
Initialized [Project Type] project with [Stack Details]
```

# Error Handling

**If command fails (e.g., npx not found):**
- Check if Node.js is installed: `node --version`
- Suggest: "Please install Node.js 18+ from https://nodejs.org"

**If Git is not initialized:**
- Check: `git --version`
- Suggest: "Please install Git from https://git-scm.com"

**If project directory already exists:**
- Ask: "Directory exists. Delete and recreate? (Yes/No)"
- If No: Exit gracefully

**If .claude/ setup fails:**
- Provide manual instructions
- Offer to create minimal structure

# Success Criteria

- [ ] Project created with correct structure
- [ ] Git initialized
- [ ] README.md created
- [ ] .claude/ folder configured
- [ ] Decision recorded
- [ ] User can run `npm run dev` (or equivalent)

