setup-environment

Installation
SKILL.md

Environment Setup Skill

Automatically configure a new user's local development environment for App Factory.

When This Skill Applies

  • User says /setup, "set me up", or "configure my environment"
  • User asks "how do I get started" or "what do I need to install"
  • First-time contributor onboarding

Setup Procedure

When triggered, execute the following checks in order. Skip tools that are already installed and at the correct version. Show a plan before executing any installations.

Phase 1: Core Requirements (BLOCKING)

These MUST pass before proceeding. If any fail, show the fix and stop.

1.1 Node.js (>= 18.0.0)

node --version 2>/dev/null
  • PASS: Version >= 18.0.0
  • FAIL: Prompt user to install via brew install node (macOS), nvm install 18, or https://nodejs.org

1.2 npm

npm --version 2>/dev/null
  • PASS: Any version (ships with Node.js)
  • FAIL: Reinstall Node.js

1.3 Git

git --version 2>/dev/null
  • PASS: Any version 2.x+
  • FAIL: xcode-select --install (macOS) or sudo apt-get install git (Linux)

1.4 Claude Code CLI

claude --version 2>/dev/null
  • PASS: Any version
  • FAIL: npm install -g @anthropic-ai/claude-code

Phase 2: Repository Integrity

Verify the repo is intact and all 6 pipelines are present.

2.1 Pipeline Directories

Check each directory exists and contains a CLAUDE.md:

app-factory/CLAUDE.md
website-pipeline/CLAUDE.md
dapp-factory/CLAUDE.md
agent-factory/CLAUDE.md
plugin-factory/CLAUDE.md
miniapp-pipeline/CLAUDE.md
  • PASS: All 6 exist
  • WARN: Missing pipelines (list which ones)

2.2 Core Infrastructure

Check these critical files/directories exist:

plugins/factory/commands/factory.md
scripts/local-run-proof/verify.mjs
scripts/factory_ready_check.sh
core/package.json
.claude/settings.json
.mcp.json
  • PASS: All present
  • WARN: List missing files with remediation

Phase 3: Dependencies

3.1 Root npm Install

# Check if node_modules exists
ls node_modules/.package-lock.json 2>/dev/null
  • PASS: node_modules exists and is populated
  • ACTION: Run npm install at repository root (requires user approval)

3.2 Husky Git Hooks

ls .husky/_/husky.sh 2>/dev/null
  • PASS: Husky hooks installed
  • ACTION: Run npx husky install (requires user approval)

Phase 4: Environment Configuration

4.1 Environment Variables

# Check .env exists
test -f .env
  • PASS: .env exists
  • ACTION: Copy from .env.example → .env, then prompt user to fill in ANTHROPIC_API_KEY

4.2 MCP Server Configuration

Check .mcp.json exists and .claude/settings.json has MCP servers enabled:

github, playwright, filesystem, context7, semgrep
  • PASS: Configuration files present and servers listed
  • WARN: Missing servers with instructions to enable

Phase 5: Optional Tools (Non-Blocking)

These improve the development experience but are not required.

5.1 watchman (for Expo/React Native hot reload)

watchman --version 2>/dev/null
  • PASS: Installed
  • SKIP: Not installed (suggest brew install watchman on macOS)
  • Only relevant if user plans to use app-factory

5.2 Xcode Command Line Tools (macOS only)

xcode-select -p 2>/dev/null
  • PASS: Installed
  • SKIP: Not installed (suggest xcode-select --install)
  • Only relevant on macOS for iOS simulator preview

5.3 Development Tools Check

Verify these work from root package.json scripts:

npx eslint --version 2>/dev/null
npx prettier --version 2>/dev/null
npx tsc --version 2>/dev/null
  • PASS: All return versions
  • WARN: Missing tools (will be available after npm install)

Phase 6: Validation

Run the validation script to confirm everything:

bash scripts/validate-setup.sh

Output: Status Report

After all phases, display a summary table:

============================================================
  App Factory Environment Setup Report
============================================================

  Core Requirements:
    Node.js 18+          PASS  (v20.11.0)
    npm                  PASS  (v10.2.4)
    Git                  PASS  (v2.43.0)
    Claude Code CLI      PASS  (v1.x.x)

  Repository Integrity:
    app-factory          PASS
    website-pipeline     PASS
    dapp-factory         PASS
    agent-factory        PASS
    plugin-factory       PASS
    miniapp-pipeline     PASS
    Core infrastructure  PASS

  Dependencies:
    npm install          PASS
    Husky hooks          PASS

  Environment:
    .env file            PASS
    MCP servers          PASS  (5/5 configured)

  Optional Tools:
    watchman             SKIP  (not needed unless using app-factory)
    Xcode CLI Tools      PASS  (macOS)
    ESLint               PASS
    Prettier             PASS
    TypeScript           PASS

============================================================
  Result: READY

  You're all set! Next steps:
  1. Run /factory help to see available commands
  2. Run ./quickstart.sh for an interactive guide
  3. cd into any pipeline directory and run claude
============================================================

Critical Rules

  1. Show plan first - Never install anything without showing what will happen
  2. Require approval - Ask before running npm install or brew install
  3. Skip installed tools - Never reinstall something that's already at the right version
  4. Non-destructive - Never overwrite existing .env files (only create if missing)
  5. Parallel where safe - Version checks can run in parallel; installations must be sequential
  6. Respect invariants - All 8 App Factory invariants apply (no silent execution, mandatory approval, etc.)
  7. macOS awareness - Detect platform and adjust commands accordingly (brew vs apt)
  8. Graceful degradation - Optional tools failing should not block setup completion

Error Recovery

If any BLOCKING check fails:

  1. Show the specific error
  2. Provide the exact fix command
  3. Ask user to fix and re-run /setup
  4. Do NOT attempt to continue past blocking failures

If any OPTIONAL check fails:

  1. Mark as SKIP in the report
  2. Note what functionality is affected
  3. Continue with remaining checks
Related skills
Installs
15
GitHub Stars
130
First Seen
Feb 11, 2026