Files
gh-joshuaoliphant-claude-pl…/skills/adw-bootstrap/reference/scaled/commands/install_worktree.md
2025-11-30 08:28:42 +08:00

2.6 KiB

Install Worktree

This command sets up an isolated worktree environment with custom port configuration.

Parameters

  • Worktree path: {0}
  • Backend port: {1}
  • Frontend port: {2}

Read

  • .env.sample (from parent repo)
  • ./app/server/.env.sample (from parent repo)
  • .mcp.json (from parent repo)
  • playwright-mcp-config.json (from parent repo)

Steps

  1. Navigate to worktree directory

    cd {0}
    
  2. Create port configuration file Create .ports.env with:

    BACKEND_PORT={1}
    FRONTEND_PORT={2}
    VITE_BACKEND_URL=http://localhost:{1}
    
  3. Copy and update .env files

    • Copy .env from parent repo if it exists
    • Append .ports.env contents to .env
    • Copy app/server/.env from parent repo if it exists
    • Append .ports.env contents to app/server/.env
  4. Copy and configure MCP files

    • Copy .mcp.json from parent repo if it exists
    • Copy playwright-mcp-config.json from parent repo if it exists
    • These files are needed for Model Context Protocol and Playwright automation

    After copying, update paths to use absolute paths:

    • Get the absolute worktree path: WORKTREE_PATH=$(pwd)
    • Update .mcp.json:
      • Find the line containing "./playwright-mcp-config.json"
      • Replace it with "${WORKTREE_PATH}/playwright-mcp-config.json"
      • Use a JSON-aware tool or careful string replacement to maintain valid JSON
    • Update playwright-mcp-config.json:
      • Find the line containing "dir": "./videos"
      • Replace it with "dir": "${WORKTREE_PATH}/videos"
      • Create the videos directory: mkdir -p ${WORKTREE_PATH}/videos
    • This ensures MCP configuration works correctly regardless of execution context
  5. Install backend dependencies

    cd app/server && uv sync --all-extras
    
  6. Install frontend dependencies

    cd ../client && bun install
    
  7. Setup database

    cd ../.. && ./scripts/reset_db.sh
    

Error Handling

  • If parent .env files don't exist, create minimal versions from .env.sample files
  • Ensure all paths are absolute to avoid confusion

Report

  • List all files created/modified (including MCP configuration files)
  • Show port assignments
  • Confirm dependencies installed
  • Note any missing parent .env files that need user attention
  • Note any missing MCP configuration files
  • Show the updated absolute paths in:
    • .mcp.json (should show full path to playwright-mcp-config.json)
    • playwright-mcp-config.json (should show full path to videos directory)
  • Confirm videos directory was created