Getting Started
First-run setup, creating a profile, and your first workspace.
This guide walks through the supported setup path for a normal aimux
installation.
Prerequisites
- Bun
- a terminal that can run the
aimuxTUI - optional:
fzfif you want to use the project directory picker
1. Install aimux
bun install -g @brimveyn/aimuxThe aimux package provides the CLI, TUI, daemon, terminal manager, and all
runtime persistence.
2. Create a Profile
aimux stores configuration and runtime state under a profile directory.
The default profile is default:
mkdir -p ~/.config/aimux/default
cd ~/.config/aimux/defaultIf you need multiple isolated environments, set AIMUX_PROFILE before
launching aimux:
export AIMUX_PROFILE=work
mkdir -p ~/.config/aimux/work
cd ~/.config/aimux/workSee concepts/profiles.md for the full profile model.
3. Install @brimveyn/aimux-config in That Profile
bun init -y
bun add -d @brimveyn/aimux-config@brimveyn/aimux-config is only the typed authoring package. It does not run
the app by itself.
4. Create aimux.config.ts
Create ~/.config/aimux/<profile>/aimux.config.ts:
import { defineConfig, actions } from '@brimveyn/aimux-config'
export default defineConfig({
sessionBar: {
initialPosition: 'top',
initialVisible: true,
},
keymaps: (k) =>
k.mode('navigation', (m) => m.map('<C-p>', actions.sessionPicker, 'Workspace picker')),
})This example stays inside the surfaces that are wired into the runtime today.
Fields like sessionBar.initialVisible are startup overrides. They are applied
again on every launch, while app-managed runtime changes persist in
aimux.json.
For a complete reference, see reference/config-reference.md.
5. Start aimux
aimuxOn first launch, aimux loads:
aimux.config.tsoraimux.config.jsfrom the active profile directoryaimux.jsonif it already exists- the workspace catalog and snippet catalog for the active profile
The app starts in the workspace picker flow. Existing workspaces are loaded into the picker, and if none exist yet you can create the first one there.
6. Create Your First Workspace
The workspace picker is the main entrypoint for workspace management.
Typical first-run flow:
- Open
aimux - Create a workspace from the picker
- Optionally attach a project directory
- Open a tab for
claude,codex,opencode, orterminal - Use
ito focus the terminal andCtrl+Zto return to navigation mode
See guide/sessions.md for the full workspace model.
7. Learn the Default Keys
Important defaults:
?opens the help modalienters terminal-input modeCtrl+Gopens the workspace pickerCtrl+Nopens the new-tab modalCtrl+Sopens the snippet picker — seeguide/snippets.mdfor inline triggers (:sig<space>), built-in variables, and shell-backed variablesCtrl+Topens the theme pickerCtrl+Denters git mode — seeguide/git-mode.md- the shipped leader key is
Ctrl+W
See guide/keymaps.md for the full notation and merge rules.
Files Created by the App
After you start using aimux, the profile directory may contain:
aimux.config.ts- your typed configaimux.json- app-managed runtime preferencesaimux-sessions.json- workspace catalog and per-workspace snapshotsaimux-snippets.json- snippet catalog
See concepts/config-and-state.md for the exact ownership of each file.