Skip to content
Back to skills

Conductor Setup

ASecurity

Set up Conductor (conductor.build) for a repository. Creates conductor.json, setup scripts for .env symlinking, and configures dev server run commands. Use when the user asks to "set up Conductor", "configure Conductor", "add conductor.json", "create conductor config", or mentions Conductor workspaces for a new or existing repo.

  • 2 stars
  • 0 votes
  • 0 copies
  • 6 views
  • Added September 2, 2026
developmentpythongobashnextjsdjangorailsfrontend

Works with

  • claude code

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 3 files and shows the line behind each finding

Scanned September 2, 2026

npx -y skills add magnusrodseth/dotfiles --skill conductor-setup --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Conductor Setup?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Conductor Setup
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/magnusrodseth-conductor-setup/badge)](https://www.skillsdirectory.com/skills/magnusrodseth-conductor-setup)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: conductor-setup
description: Set up Conductor (conductor.build) for a repository. Creates conductor.json, setup scripts for .env symlinking, and configures dev server run commands. Use when the user asks to "set up Conductor", "configure Conductor", "add conductor.json", "create conductor config", or mentions Conductor workspaces for a new or existing repo.
---

# Conductor Setup

Configure a repository for Conductor — the macOS app for running parallel Claude Code workspaces.

## Workflow

### 1. Detect project type

Inspect the repo to determine:
- **Package manager**: npm, pnpm, yarn, pip, mix, bundler, cargo
- **Framework**: Next.js, Django, Rails, Phoenix, etc.
- **Dev server command**: The command that starts the development server
- **Env files**: All `.env` and `.env.local` files (check root and subdirectories up to depth 2)
- **Monorepo structure**: Whether the dev server lives in a subdirectory (e.g., `web/`, `apps/frontend/`)

### 2. Create the setup script

Create `scripts/conductor-setup.sh` in the repo root:

```bash
#!/bin/zsh
set -e

echo "==> Conductor workspace setup"

symlink_env() {
  local src="$1"
  local dest="$2"
  if [ ! -f "$src" ]; then
    echo "  WARN: $src not found — skipping (add it via Repository Settings > Open In)"
    return 0
  fi
  ln -sf "$src" "$dest"
  echo "  OK: $dest -> $src"
}

echo "==> Symlinking .env files from CONDUCTOR_ROOT_PATH"
# Add one symlink_env call per .env file discovered:
symlink_env "$CONDUCTOR_ROOT_PATH/.env" ".env"
# symlink_env "$CONDUCTOR_ROOT_PATH/web/.env" "web/.env"        # monorepo example
# symlink_env "$CONDUCTOR_ROOT_PATH/.env.local" ".env.local"    # Next.js example

echo "==> Installing dependencies"
# Add the install command for the detected package manager:
# npm install              # npm
# pnpm install             # pnpm
# pip install -r requirements.txt  # python

echo "==> Conductor workspace ready"
```

Make it executable: `chmod +x scripts/conductor-setup.sh`

Customize the symlink calls and install command for the specific project.

### 3. Create conductor.json

Create `conductor.json` at the repo root:

```json
{
  "scripts": {
    "setup": "zsh scripts/conductor-setup.sh",
    "run": "<dev-server-command> --port $CONDUCTOR_PORT",
    "archive": ""
  },
  "runScriptMode": "nonconcurrent"
}
```

Run command patterns by framework:
- **Next.js (root)**: `"npm run dev -- --port $CONDUCTOR_PORT"`
- **Next.js (monorepo)**: `"npm --prefix web run dev -- --port $CONDUCTOR_PORT"`
- **Django**: `"python manage.py runserver 0.0.0.0:$CONDUCTOR_PORT"`
- **Rails**: `"bin/rails server -p $CONDUCTOR_PORT"`
- **Phoenix**: `"mix phx.server"` (reads PORT env automatically)
- **Python http**: `"python3 -m http.server --port $CONDUCTOR_PORT"`
- **Vite**: `"npx vite --port $CONDUCTOR_PORT"`

Use `nonconcurrent` for dev servers (kills previous before starting new).

### 4. Symlink into existing workspaces

If the repo already has active Conductor workspaces, symlink .env files into them:

```bash
SRC="<repo-root-path>"
for ws in $(ls ~/conductor/workspaces/<repo-name>/); do
  WS_DIR="$HOME/conductor/workspaces/<repo-name>/$ws"
  ln -sf "$SRC/.env" "$WS_DIR/.env"
  # repeat for each .env file
done
```

### 5. Verify

Confirm the setup script symlinks are not broken and conductor.json is valid JSON.

## Environment Variables

| Variable | Description |
|----------|-------------|
| `$CONDUCTOR_ROOT_PATH` | Persistent repo root (where .env files live) |
| `$CONDUCTOR_PORT` | Unique port per workspace |
| `$CONDUCTOR_WORKSPACE_NAME` | Workspace identifier |

## Reference

For full Conductor docs (conductor.json schema, run script modes, workspace locations), see [references/conductor-reference.md](references/conductor-reference.md).

Files in this skill

  • SKILL.md3.7 KB
  • references/conductor-reference.md3.2 KB
  • scripts/conductor-setup.sh924 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.