Skip to main content
To get the most out of Conductor, you can automate repeated actions using scripts. Conductor lets you define three scripts:
  1. Setup script: runs each time you create a workspace
  2. Run script: runs when you click the “Run” button in the bottom-right corner of the screen
  3. Archive script: runs when you archive a workspace

Getting started

To configure scripts, open Repository Settings by clicking the repo name in the sidebar. You’ll find the Scripts section where you can define your setup, run, and archive scripts. Scripts section in Repository Settings For example, you might set:
  • Setup script: npm install
  • Run script: npm run dev
In your scripts, you can use any of the Conductor environment variables. Scripts run using zshell. Scripts are the trickiest part of Conductor. If you’re having trouble, reach out to us at [email protected].

Sharing scripts with teammates

To share scripts with your team, you can create a conductor.json file in your workspace and commit it to git. See Sharing scripts with teammates for details.

Setup script

When Conductor creates a workspace, it copies in all your git files. Use the setup script to set up any files that aren’t tracked in git: for instance, you might install dependencies or copy .env files. The setup script will run inside the newly-created workspace directory. If your app uses a .env file, we recommend these steps:
  1. Go to the repository settings page (click the repo name in the left sidebar)
  2. Choose “Open In” to open the repository root directory in Finder or an IDE
  3. If your .env file isn’t already in the repository root, copy it there
  4. In your setup script, symlink .env into the workspace with ln -s "$CONDUCTOR_ROOT_PATH/.env" .env

Run script

Use the run script to easily launch your web server, app, or unit tests from a button in Conductor. Example: python3 -m http.server --port $CONDUCTOR_PORT

Run script mode

If you can’t run multiple dev servers at once, use nonconcurrent mode. In this mode, whenever you click the run button, Conductor will kill any in-progress run scripts before starting the new one. You can find this setting under “Advanced” in the Scripts section of Repository Settings.

Archive script

When you archive a workspace, Conductor deletes the workspace directory. Use the archive script to clean up any resources that live outside this directory. For example, our archive script cleans up the Application Support directory:
rm -rf "$HOME/Library/Application Support/com.conductor.app.dev.$CONDUCTOR_WORKSPACE_NAME"