Initial commit
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
# 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**
|
||||
```bash
|
||||
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**
|
||||
```bash
|
||||
cd app/server && uv sync --all-extras
|
||||
```
|
||||
|
||||
6. **Install frontend dependencies**
|
||||
```bash
|
||||
cd ../client && bun install
|
||||
```
|
||||
|
||||
7. **Setup database**
|
||||
```bash
|
||||
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
|
||||
Reference in New Issue
Block a user