BKPT LabsDOCS/BKPT STUDIO/PROMPT STUDIO STUDIO 0.1 · GPUI EDITION
BKPT STUDIO · TERMINAL

Prompt Studio

Design the prompt for the terminals Studio opens, visually: pick a preset, add and colour the segments you want, choose separators and powerline end caps, and watch the preview update as you go.

It applies to pwsh, Windows PowerShell, bash and zsh (cmd gets a plain version). Your own shell profile still loads first, and nothing in your home folder is changed.

Where it lives

Click the terminal icon at the bottom of the rail. The view has two halves: terminal settings on the left, the prompt designer on the right. The prompt you design here is used by every terminal pane Studio opens in the dock (Ctrl+`), for every project.

The Terminal view in BKPT Studio: terminal settings on the left, the prompt designer with its live preview, presets and segment list on the right
THE TERMINAL VIEW, DARK THEME, WITH THE STUDIO PRESET

Preview and presets

The preview at the top shows a sample command, the prompt as it will look, and the cursor line. Four presets are starting points; any edit after picking one turns the label into custom, so you always know when you are off the preset.

The prompt preview with the Studio preset selected and the separator, prompt character, folder depth and dirty-repo controls below it
PREVIEW, PRESETS AND THE LINE-LEVEL CONTROLS
PRESETWHAT YOU GET
StudioTwo lines: folder, git branch, Python venv and exit status, then the prompt character on its own line. A Time segment is included but switched off.
MinimalFolder and branch on one line, nothing else.
PowerlineColoured blocks with powerline separators and an end cap; folder, branch and exit status.
ClassicThe traditional user@host:folder (branch line with a $ prompt character and the full path.
Preview of the Minimal preset
MINIMAL
Preview of the Classic preset
CLASSIC

Three controls sit under the presets and apply to the whole prompt:

  • Prompt character and its colour: the glyph on the last line where you type. Any text works, including an emoji.
  • Folder depth: how many trailing path components the folder segment shows. Your home folder is shown as ~.
  • Mark dirty repo: adds a marker after the branch name when the working tree has uncommitted changes.

Segments

A prompt is a list of segments, rendered in order. Each row has an on/off switch, a prefix (text or a glyph shown before the value), a foreground and a background colour, a bold toggle, and buttons to move or remove it. Add segment at the right of the header offers every kind, including a second copy of one you already have.

The segment list of the Studio preset: Folder, Git branch, Python venv, Exit status, Time (off) and New line, each with prefix, colour, bold and ordering controls
THE SEGMENT LIST. THE SWITCH KEEPS A SEGMENT IN THE LIST BUT OUT OF THE PROMPT
SEGMENTSHOWS
FolderThe working directory, trimmed to the folder depth above.
Git branchThe current branch, or the short commit id when detached, with the dirty marker if enabled.
Exit statusThe last command's exit code, only when it was not zero.
TimeThe wall clock as HH:MM.
Python venvThe name of the active virtual environment.
User, HostYour user name and the machine name.
ShellWhich shell is running: pwsh, powershell, bash, zsh or cmd.
TextA literal you type into the prefix box: a label, an emoji, a separator of your own.
New lineA line break, for two-line prompts.

Colours come in two flavours. The named ones (Accent, Text, Dim, Ok, Warn, Err, Info) follow the Studio theme, so a prompt designed in the dark theme still reads in the light one. The ANSI slots (0 to 15) are the terminal's own palette, which is what the Powerline preset uses for its solid blocks.

Separators and end caps

The separator sits between segments: Space, Chevron (), Slash, or Powerline. Powerline turns each segment into a coloured block whose background flows into the next one, and adds an End cap choice for the trailing edge of the last block: Arrow, Round, Flame, Slant or Flat.

The Powerline preset with the Round end cap: folder, branch and exit status as coloured blocks flowing into each other
POWERLINE PRESET, ROUND END CAP

Studio's own terminal draws the powerline shapes itself, so they look right with any monospace font. If you copy the generated prompt into another terminal, that terminal needs a Nerd Font for the same glyphs.

Which shell runs

Leave Shell empty and Studio picks the OS default: pwsh if installed, else Windows PowerShell on Windows; your $SHELL on macOS and Linux, else zsh or bash. Enter a full path to run something else for every project.

Project shell overrides that for the open project only, on this machine only. It is saved in the project's .va/settings.local.<os>.json, which is never committed, so a teammate opening the same folder keeps their own choice.

The Shell section: the app-wide shell field showing the automatic choice, and the Project shell field for the open project
SHELL AND PROJECT SHELL

Either way Studio opens the shell in the project folder and puts the vendor tool directories it knows about on PATH, so build and flash commands work in the dock without any extra setup.

Appearance and behaviour

Appearance and behaviour settings: font size, cursor style, cursor blink, scrollback, repo pill, designed prompt toggle and copy on select
THE REST OF THE TERMINAL SETTINGS
  • Font size, 8 to 32 px, using the editor font.
  • Cursor shape (block, bar, underline) and Cursor blink.
  • Scrollback: 1k, 5k or 20k lines kept per terminal.
  • Show repo and branch: the pill in the dock header with the project's git repo and branch.
  • Use the designed prompt: turn it off and the shell shows its own prompt, exactly as it would outside Studio.
  • Copy on select: selecting text in a terminal copies it, without Ctrl+C.

Apply and revert

Everything you change is a draft until you press Apply. The footer says so while there are unsaved changes. Apply saves the settings and restarts Studio's terminals with the new prompt; Revert throws the draft away and reloads what is applied.

The terminal dock after Apply: the repo pill in the header and the Studio prompt showing the folder and branch on one line and the prompt character on the next
THE APPLIED STUDIO PRESET IN A DOCK TERMINAL

Your profile still loads first

Studio never edits your shell profile. It writes small prompt files into its own settings folder and starts the shell so that your profile runs first and only the prompt is overridden afterwards:

SHELLHOW
pwsh, Windows PowerShellStarts with a Studio script that loads your profile files inside a try/catch (a broken profile cannot take the prompt down), then sets the prompt function.
bashStarts with --rcfile pointing at a Studio file that sources your ~/.bashrc, then sets PS1.
zshStarts with a Studio ZDOTDIR whose files chain to your ~/.zshenv and ~/.zshrc, then set the prompt.
cmdA plain-text version of the prompt (colours and glyphs are not available there).

Aliases, modules, PATH additions and PSReadLine settings from your own profile all survive.

Known limits

  • Only terminals opened by Studio use the designed prompt. Your other terminals are untouched.
  • A few glyphs (the branch icon in a prefix, for example) can show as a box in the designer until Studio ships its own icon font; in the terminal itself they render correctly.
  • If a terminal fails to start, the Output tab says why; the usual fix is a wrong path in Shell. Clear it to go back to the OS default.