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 Codecursor— Cursor (AI-powered VS Code fork)windsurf— Windsurf editorxcode— Xcode (macOS only)android-studio— Android Studiokiro— Kiro editor
JetBrains IDEs
intellij— IntelliJ IDEAwebstorm— WebStormpycharm— PyCharmgoland— GoLandrustrover— RustRoverphpstorm— PhpStormclion— CLionrider— Riderrubymine— RubyMinedatagrip— DataGrip
Terminals and Browsers
terminal— macOS Terminaliterm— iTerm2warp— Warp terminalghostty— Ghostty terminalsafari— Safari browserfirefox— 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:
- Launches the application (if not already running) using the preset's known launch method.
- Opens the workspace directory in the application.
- Positions and resizes the window according to the
positionvalue. - 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.