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 opens in its own terminal window
buttons board now launches in a dedicated terminal window so your current shell stays free.New features
-
Own-window by default — running
buttons boardopens the dashboard in a new OS-native terminal window and immediately returns your shell prompt. No more dedicating a tab to the dashboard — it lives in its own window that you can close whenever you’re done. Works on macOS, Linux, and Windows. -
--inlineflag — pass--inlineto render the board in the current terminal, the way it worked before. Useful over SSH, inside tmux, or in headless environments. See the CLI reference. - Automatic fallback — if your system can’t open a new window (e.g. no display server), the board falls back to inline mode automatically so the command never silently fails.
Ambient board dashboard
The board is now an always-on dashboard you leave open in a spare terminal.Updates
- Auto-refresh — the board now polls for changes every two seconds. Buttons created or removed in another terminal appear automatically without closing and reopening the board. A press already in flight keeps its spinner during the refresh.
-
No visible quit — the board no longer shows a quit button,
qkeybind, or “press q to quit” hint. Close the board by closing the terminal window, the same way you’d close any app.Ctrl+Cstill works as an emergency escape. See the CLI reference.
Batteries and board dashboard polish
Batteries are now fully functional, and the board dashboard gets a design refresh.New features
-
Batteries store —
buttons batteries set,get,list, andrmare now fully implemented. Store API tokens, secrets, and environment variables once, and every button press automatically receives them as environment variables. Values are scoped to a project by default, or use--globalto share across all projects. See the CLI reference. - Automatic injection — batteries are injected into every button press as environment variables. You can reference them in your scripts without any extra flags or configuration. Per-press arguments take priority over batteries on key collision, so you can always override a stored value.
-
Redacted listing —
buttons batteries listredacts values by default so you can safely check what’s stored without exposing secrets. Pass--revealto see full values.
Updates
-
Board empty state — opening
buttons boardwith no buttons now shows a helpful getting-started screen with example commands instead of a blank page. - Board press feedback — pressing a button from the board now shows a spinner while it runs and a success or failure indicator when it finishes. List rows display check and cross glyphs so you can see session results at a glance.
-
Board footer — the footer now shows clickable action buttons and keyboard hints (
↑↓ nav · ↵ press · q quit) so you can discover controls without a help overlay.
Agent skill picker in buttons init
buttons init now sets up your coding agents alongside your project.New features
-
AGENT.md auto-generated — running
buttons initnow writes a.buttons/AGENT.mdfile that gives AI agents a quick reference for how Buttons works. The file is updated automatically on each run, so it always matches your installed version. -
Agent skill picker — on interactive terminals,
buttons initprompts you to install Buttons skill files for your coding agents. Supported targets include Cursor (.cursor/rules/buttons.mdc), Claude Code (CLAUDE.md), Cline (.clinerules), GitHub Copilot (.github/copilot-instructions.md), and AGENTS.md. Select the agents you use and the right config files are created for you. See skill.md for more on agent skills. -
Non-interactive mode — pass
--agent cursor,claudeto install specific skill files without the picker, or--agent noneto skip it entirely. JSON output and--no-inputmode skip the picker by default. -
Idempotent updates — re-running
buttons initupdates existing skill files in place rather than duplicating content, so you can safely re-run it after upgrading Buttons.
Bug fixes
- Agent picker no longer skips silently — the interactive agent skill picker in
buttons initnow uses a single-select list instead of a multi-select. Previously, pressing Enter without first pressing Space to toggle a choice would submit an empty selection with no warning. The picker also adds an explicit “None (skip)” option so opting out is intentional. You can still install multiple agent skills in one go with the--agentflag (e.g.--agent cursor,claude).