Mental model
Each button owns:| Part | Purpose |
|---|---|
button.json | Name, args, runtime, timeout, metadata, and install fields. |
main.* | Optional executable code for shell, Python, or Node buttons. |
AGENT.md | Agent instructions and context for when to use the button. |
pressed/ | Per-machine run history. |
.buttons/buttons/<name>/ for a project or ~/.buttons/buttons/<name>/ globally.
When to create a button
Create a button when the action is:- repeated more than once
- risky to type by hand
- useful to an agent
- part of a larger workflow
- worth giving typed arguments and JSON output