Roadmap
Guaranate is pre-1.0. This page is the honest boundary between the two: a command listed under “Planned” does not exist in the binary yet, and no guide on this site documents it as if it did. Everything the guides cover is in the latest tagged release.
Sequencing, task IDs, and acceptance criteria live in
PLAN.md; product
intent lives in
GUARANATE.md.
In the latest release
Section titled “In the latest release”Everything here is in v0.2.0.
| Feature | Documented in |
|---|---|
guaranate <duration> timed session |
Keeping your Mac awake |
guaranate with no duration, until interrupted |
Indefinite sessions |
Native IOPMAssertion — never caffeinate |
How it works |
Assertion modes --display / --system |
Assertion modes |
--reason recorded on the assertion |
Labelling a session |
Live progress frame, with q to quit |
The live frame |
Guaranteed release on expiry, q, SIGINT, SIGTERM |
Ending a session |
| Non-TTY-friendly output | Scripts, pipes, and CI |
guaranate while <cmd> |
Wrapping a command |
guaranate --watch <pid> |
Watching a process that already runs |
Planned
Section titled “Planned”Not yet implemented. Listed so you can tell what is coming — and what to not reach for today.
| Planned | Target | What it will do |
|---|---|---|
guaranate until <HH:MM> |
v0.3 | Stay awake until the next occurrence of a clock time. |
status / why |
v0.3 | Explain what is keeping the Mac awake, and since when. |
--json output contract |
v0.3 | Stable machine-readable output for scripts. |
acquire / renew / release |
v0.4 | TTL-based leases for external tools, released automatically if a caller stops renewing. |
Disk-idle mode, --clamshell |
v0.5 | Broader assertion coverage and prototype closed-lid support. |
| Menu-bar companion | later | Visualize and control sessions from the menu bar. |
Out of scope
Section titled “Out of scope”Guaranate is not aiming to become an Amphetamine-style GUI or a trigger engine.
There is no AI-activity detection, no per-tool special-casing, and no
cross-platform support planned — and it will never wrap /usr/bin/caffeinate.
