Band Band

App Presets

App presets are built-in configurations for supported IDEs, editors, and terminals. When you focus a workspace, Band opens and positions the apps defined in your project's .band/config.json file. Presets handle the details of launching each application correctly.

Supported Presets

Band includes presets for the following applications:

Editors and IDEs

  • vscode — Visual Studio Code
  • cursor — Cursor (AI-powered VS Code fork)
  • windsurf — Windsurf editor
  • xcode — Xcode (macOS only)
  • android-studio — Android Studio
  • kiro — Kiro editor

JetBrains IDEs

  • intellij — IntelliJ IDEA
  • webstorm — WebStorm
  • pycharm — PyCharm
  • goland — GoLand
  • rustrover — RustRover
  • phpstorm — PhpStorm
  • clion — CLion
  • rider — Rider
  • rubymine — RubyMine
  • datagrip — DataGrip

Terminals and Browsers

  • terminal — macOS Terminal
  • iterm — iTerm2
  • warp — Warp terminal
  • ghostty — Ghostty terminal
  • safari — Safari browser
  • firefox — Firefox browser

Using Presets in Configuration

Add presets to the apps array in your .band/config.json file. Each entry specifies which preset to use and optionally where to position the window.

{'{'}
  "apps": [
    {'{'}
      "preset": "cursor",
      "position": "left-half"
    {'}'},
    {'{'}
      "preset": "iterm",
      "position": "right-half"
    {'}'}
  ]
{'}'}

Window Positioning

The position field controls where Band places the application window when the workspace is focused. Available positions:

  • left-half — Left 50% of the screen.
  • right-half — Right 50% of the screen.
  • fullscreen — Maximized to fill the entire screen.
  • top-half — Top 50% of the screen.
  • bottom-half — Bottom 50% of the screen.

If position is omitted, the window is opened without specific positioning.

Terminal Commands

Terminal presets support a commands array that automatically opens terminal tabs and runs commands. See Project Configuration for details.

{'{'}
  "preset": "terminal",
  "position": "right-half",
  "commands": [
    {"{"} "command": "npm run dev", "name": "dev-server" {'}'},
    {"{"} "command": "npm test -- --watch", "name": "tests", "split": true {'}'}
  ]
{'}'}

How Presets Work

When a workspace is focused, the Tauri desktop app reads the apps configuration and for each entry:

  1. Launches the application (if not already running) using the preset's known launch method.
  2. Opens the workspace directory in the application.
  3. Positions and resizes the window according to the position value.
  4. For terminal presets, creates tabs/splits and runs the specified commands.

The desktop app handles all window management. The web server never launches or positions windows directly.