Dragon Atelier
:
:+
#-
%% -*
=@% :#%
-%@#: = +@%:
-%@@++%# +@@%:
:#@@@@@@# :*@@%-
=#@@@%+- -#@@@#: :-=
-#@@@%= =#@@@@@@@%@#=
#= -#@@@@@@@@@@*:
:-+%@@@@@@%%#+-
+@@@@@@#+- -+ %@@@@%*=:
+@@@@%- :=*###%%%@@@# :@@@@@@@@@@@#=-
*@@@% #@@@@@@@@@@@@@@:
:@@@@%@@@@@@@@@@@@@%= -- :#@@@*-
+@@@@@@@@@@@%#*+-: +@@@@@%- +@@@@@+
*@@@@@#- :=+=: :=%@@@@@@@@@= =@@@@@#
+@@@#:#@@@@@@@@@@%+ +#: :#@@@@@@@: #@@@@@#
:@@# =@@@@@@* - =@@%- -%@@@@@# -@@@@@@-
:@@= @@@@@= -@@@@* +@@@@+ :%@@@@% @@@@@@#
:@@- :@@@@@- #@@@@@@@: @- @@@= -@@@@@ @@-%@@@
*@@%%@@@@@@# +@@@@@@@@= * =@@% %@@@@ -@@% :##
-#@@@@@@@@@@@@+ *@@@@@@@@- :@@@: #@@@@ +@@@:
@@@@@@@@@@@@@@+: #@@@@@@% @@@ %@@@= @@@%
-@@@-%@@@@@@@@% :@@@@# =@@% :@@@@ =@@@*
-@@@@@@@@@@# +%@#: :=%@@@@# %@@* +@@@- :@@@@:
:@@@@@@@## : =%@@@@@%+: #@@@ :@@@+ @@@@#
%@%=@+:- *@@*: *@#@- @@@* @@@@%
:@%: ** @+ %@@* @@+#@#
:#+ +- @# @@@+ :@@@ --
:= : @* @@@= +@@@:
:@- -@@@ @@@@
#@: *@@+ +@@@#
-@+ -@@@ -@@@@-
%% %@@ @@=@%
#% #@@ @@# @*
## %@% -@@@: +
%= :@@+ =@@@-
=* *@# @@@:
:- +@+ =@+
:+= *-
Mission Control for AI-assisted development. A keyboard-driven terminal cockpit for everyone juggling multiple projects across Claude Code — written in Go with Bubble Tea.

Why
If you run AI-assisted workflows all day, your projects, your Claude sessions, your memory store and your costs live in a dozen different places. Dragon Atelier pulls them into a single terminal dashboard you drive entirely from the keyboard — no mouse, no browser tabs, no context-switching.
It's the cockpit I use every day to jump between repos, watch live agent sessions, and keep an eye on what they cost.
Features
Everything below is built and working today — not a roadmap.
📚 Project registry ("Tomos")
Register every project once and launch it instantly. The list shows a live git status indicator per repo (clean / modified / untracked) and supports fuzzy / search.
Per-project actions:
- Open in Claude Code — launch a session in the project directory
- Open in VS Code
- Open a PowerShell rooted at the project
- Copy the path to the clipboard
- Jump straight into the project's memory, history, or disk views
🛰️ Agent Monitor — the war room
A live tile grid of your active Claude Code sessions, refreshed by a filesystem watcher:
- Real-time USD cost telemetry per session, computed from token usage
- Sub-agent grouping — expand/collapse the agents a session spawned
- Zoom into any tile for detail, and step-by-step replay of a session's events with pause and variable playback speed
🧠 Engram memory browser
Browse and fuzzy-search the persistent AI memory (Engram) for the selected project, then open any observation in a scrollable detail pane. Reads the local Engram SQLite store directly.
🕓 Unified project history
A single timeline that merges git commits and SDD (Spec-Driven Development) archives for a project, newest first. Drill into any entry to see the full git show diff or the archived change document.
💾 Disk usage
A breakdown of what your AI tooling is costing you on disk: the Engram database, the total ~/.claude/projects footprint, and a per-project tally. Hit Enter on any row to open it in your file explorer.
🎵 Now playing & live audio visualizer
An ambient card on the welcome screen showing the track currently playing on your system — title, artist and source — read from the Windows System Media Transport Controls (the same source that powers the OS media flyout), so Spotify and browser audio are reported uniformly. Beside it, a real-time waveform driven by WASAPI loopback capture + FFT: the bars react to the actual sound coming out of your speakers, in dragon colours. Pure Go, no CGO.
🐉 Crafted, degradation-aware UI
Catppuccin Mocha palette with custom dragon-brand accents, and a graceful text-only fallback when the terminal is too small for the full art.
Keybindings
| Screen |
Keys |
| Welcome |
Enter projects · a agent monitor · q quit |
| Projects |
↑/↓ j/k navigate · / search · Enter actions · n new · d delete · r refresh git status · m monitor · esc back |
| Project actions |
j/k navigate · Enter run · esc back |
| Agent monitor |
j/k navigate · 1–9 jump · o/c expand/collapse sub-agents · Enter zoom · esc back |
| Agent zoom |
r replay · esc back |
| Replay |
space pause/resume · +/- speed · >/< step · esc back |
| Memory / History |
j/k navigate · / filter · Enter open detail · esc back |
| Disk usage |
j/k navigate · Enter open in explorer · esc back |
Ctrl+C quits from anywhere.
Architecture
A deliberately simple, testable design:
- Single
Model, value semantics. All application state lives in one struct; every Update branch returns a new Model (immutable updates), which keeps state transitions easy to reason about and to test.
- Screen state machine. A
Screen enum drives Update and View; each screen has its own key handler and renderer.
- Dependency injection at the boundary. Registry, launchers, clipboard, the transcript scanner/watcher, the Engram client and git readers are all interfaces injected in
main, with fakes in tests — the TUI never touches the OS directly.
- Nil-safe degradation. A missing Engram DB or absent
git doesn't crash the app; the relevant screen surfaces a friendly message instead.
cmd/atelier/ entry point + dependency wiring
internal/
tui/ Bubble Tea model, update, view, per-screen key handlers
registry/ project store (the "Tomos")
actions/ launchers: Claude Code, VS Code, PowerShell, clipboard
transcripts/ Claude session parser, cost pricing, fs watcher, replay
engram/ Engram SQLite client + observation types
git/ status / log / show readers
disk/ usage walker + explorer integration
nowplaying/ SMTC now-playing provider (Windows) + parsing
audio/ WASAPI loopback capture + FFT spectrum analysis
config/ atelier + app config
Test coverage spans unit tests, mocked-dependency tests, and golden snapshot tests of the rendered TUI.
Install
Download (recommended)
Grab the latest prebuilt binary from the Releases page — no Go toolchain required:
- Download
dragon_atelier-windows-amd64.exe (Windows). Linux/macOS builds are attached too.
- Double-click it, or run it from a terminal.
That's it. On first launch the project registry is empty — press n to add your projects.
Prerequisites for the full experience: the launchers and agent monitor expect Claude Code installed and ~/.claude/projects present. Without it the app still runs; those panels just show empty. The Engram memory browser is optional too (nil-safe when ~/.engram is absent).
Build from source
Prerequisites: Go 1.25+ and (optionally) the Task runner.
git clone https://github.com/GastonZ/Atelier.git
cd Atelier
task build # or: go build -o dragon_atelier ./cmd/atelier
Run
./dragon_atelier # Linux / macOS
./dragon_atelier.exe # Windows
dragon_atelier version # print version and exit
dragon_atelier help # usage
Terminals smaller than ~100×48 show a text-only fallback. Resize for the full dragon.
Status
Active personal project, used daily. The .goreleaser.yaml is provisional and will be validated before the first v0.1.0 tag.
License
MIT — Copyright 2026 Gaston Zappulla