Get started
Install
curl, Docker, Go, or Homebrew.
Quick start
Create and press your first button in 30 seconds.
Core Concepts
Buttons
The core unit of reusable work.
Drawers
Typed workflows that compose buttons.
Registry
Install and publish shared buttons, pinned per-button by version and content hash.
History
Local audit history for creates, edits, installs, and updates.
Button guides
Code
Inline shell, Python, or Node scripts.
HTTP API
GET/POST with URL templates and typed args.
File import
Import an existing script file.
Prompt
Attach an instruction for the consuming agent.
Workflows
Drawers chain buttons into typed workflows with refs, loops, sub-drawers, waits, and run history.Workflows
Build multi-step automations from reusable buttons.
Triggers
Triggers run buttons and drawers automatically — on a schedule (cron), on local file changes (watch), or from an inbound webhook. Button triggers fire underbuttons serve; drawer webhook triggers fire under buttons webhook listen.
Trigger concept
How buttons and drawers fire automatically.
Trigger guide
Commands and management model.
Hook
Run on local events — design proposal.
Operations
REST API server
Expose local buttons over HTTP with the same press contract.
CLI reference
Every command is auto-generated from the Cobra command tree. Flags, examples, and descriptions stay in sync with the binary.CLI reference
Full command reference: create, press, list, history, delete, version, and more.
For deployed agents
Buttons ships as a static binary and a multi-arch Docker image. Bake it into your agent container with one line:buttons press <name> --json as a subprocess and gets structured output. No SDK, no library import, no runtime dependency.