Documentation Index
Fetch the complete documentation index at: https://docs.buttons.sh/llms.txt
Use this file to discover all available pages before exploring further.
Board themes
You can now customize the look of the board with built-in color themes.New features
-
BUTTONS_THEMEenvironment variable — setBUTTONS_THEMEto switch the board’s color palette. Four themes are available out of the box:default(adapts to your terminal’s light or dark background),paper(light palette),phosphor(green-on-black CRT look), andamber(warm VT220-style terminal). Unknown values fall back todefault, so a typo won’t break anything. See the CLI reference. -
Persistent theme choice — run
buttons config set theme amberto save your preferred theme so it applies every time you open the board. The resolution order is:BUTTONS_THEMEenvironment variable first, then your saved setting, then the default adaptive palette. Usebuttons config unset themeto revert to the default. Invalid theme names are rejected at set time so your config stays valid.
Press animation and live elapsed timer
The board now gives you visual feedback the moment you press a button and while it runs.New features
- Press animation — pressing a button on the board now plays a quick physical-press animation. The button pulses through a keydown, fire, and release sequence before settling into its active state. The effect works with both keyboard and mouse input, so pressing a button feels responsive and tactile.
- Live elapsed timer — buttons that are currently running now display a live elapsed counter. Short presses show tenths of a second (e.g. “3.2s”), longer presses switch to minutes and seconds, and anything over an hour shows a full clock format. The timer clears as soon as the press finishes, so you always know exactly how long a run has been going. See the CLI reference.
Logs pane in the board dashboard
You can now see recent run history for any button without leaving the board.New features
-
Inline logs pane — press
Lwhile focused on a button in the board to open a logs pane that shows the last five runs. Each row displays the result glyph, timestamp, exit code, duration, and a preview of the output. PressLagain to hide it. See the CLI reference. - At-a-glance results — successful runs show a green check mark; failures show an orange cross. The output preview is the first line of stdout on success, or stderr on failure, truncated to fit your terminal width so every row stays on a single line.
- Helpful empty states — if no button is focused, the pane tells you to focus one. If the focused button has no runs yet, it prompts you to press it to record one.
Per-user settings with buttons config
You can now store personal preferences that apply across all your projects.New features
-
buttons configcommand — read and write per-user defaults stored in~/.buttons/settings.json. Runbuttons configto see current values,buttons config setto change them, andbuttons config unsetto revert to built-in defaults. Settings are global by design — personal preferences stay out of your project repos. -
Configurable default timeout — set
default-timeoutto change the timeout used whenbuttons createdoesn’t include an explicit--timeoutflag. The resolution order is: explicit--timeoutflag first, then yourdefault-timeoutsetting, then the built-in 300 seconds. Useful if your workloads consistently need more (or less) time than the default. -
Configurable board theme — set
themeto persist your preferred board color palette across sessions. Runbuttons config set theme phosphorto save it, orbuttons config unset themeto revert to the adaptive default. See board themes above for the full list of available themes.
Next-step hints and CLI polish
The CLI now tells you what to do next after every successful command.New features
- “Next:” hints — after a successful command, the CLI prints a suggested follow-up.
buttons createshows the press command,buttons presspoints to history, andbuttons batteries setreminds you how to reference the variable. Hints appear only in interactive terminals and are suppressed with--jsonor when piping output.
Updates
- Common flags in help text —
buttons create --helpandbuttons press --helpnow surface the most-used flags (--timeout,--arg,--dry-run, etc.) at the top, before the full auto-generated list. No new flags — just easier discovery.
Automatic run history pruning
Run history is now automatically capped so it doesn’t grow without limit.Updates
- Auto-prune to 100 runs — each button’s
pressed/directory is pruned to the most recent 100 runs after every press. Oldest runs are removed first. Non-JSON files and subdirectories are left alone. If pruning fails for any reason, the press still succeeds — cleanup catches up on the next run.
Higher default press timeout
The default timeout for button presses has been raised from 60 seconds to 300 seconds.Bug fixes
- Default timeout raised to 300s — the previous 60-second default was too tight for realistic workloads like ETL jobs, migrations, and long-running API calls. If your first press on a real pipeline hit the timeout, it looked like the tool was broken. The new 300-second default gives scripts room to finish while still protecting against runaways. You can still shorten it per-button with
--timeouton create or override per-press with--timeouton press.