"when your to-do list needs its own compiler"
Zero Inbox is what happens when a developer has one too many espresso shots and thinks: "My TODO list should compile." It's a CLI tool that turns your chaotic human thoughts into executable plans. Written in Rust because we like our memory safe and our compile times long.
- Minimalist DSL: Write your day like code. Because
buy(milk)is objectively better than "remember to buy milk" - Output options: Shell scripts, Markdown, JSON, or even a calendar file. Pick your poison.
- Cross-platform: Works everywhere Rust does (which is everywhere except your toaster... yet)
- Rust toolchain - because living on the edge is more fun with memory safety
- Git - for those who like their source code like their coffee: fresh and bitter
cargo install ziboxgit clone https://github.com/zero-inbox/zero-inbox.git
cd zero-inbox
cargo install --path .- On Windows: Make sure
%USERPROFILE%\.cargo\binis in your PATH. - On macOS/Linux:
$HOME/.cargo/binshould already be in your PATH, unless you like surprises.
-
Write a
.zbxfile because we need more file extensions in our lives:@morning write(report) [2h] # 2 hours? Optimistic. clear(inbox) # As if drink(coffee) [15m] # The most important task -
Compile your life choices:
zibox daily_plan.zbx
Defaults to Markdown because checklists give us the illusion of control.
- Shell script:
zibox daily_plan.zbx --output-format shell --output-file schedule.sh # Linux/macOS: bash schedule.sh # Windows: Use WSL or Git Bash. Or just stare at the script.
- Markdown:
zibox daily_plan.zbx --output-format markdown > plan.md - JSON:
zibox daily_plan.zbx --output-format json > plan.json - Calendar (.ics):
zibox daily_plan.zbx --calendar --output-file plan.ics # Import into Google Calendar, Outlook, or Apple Calendar. Or don't.
- Set work hours:
zibox daily_plan.zbx --workday-start 09:00 --workday-end 18:00
- Focus on tags:
zibox daily_plan.zbx --focus-tag deepwork
- Visualize schedule (ASCII Gantt, because why not):
zibox daily_plan.zbx --visualize-schedule
- Dry run (simulate, don't commit):
zibox daily_plan.zbx --dry-run
- Show the IR (for the truly curious):
zibox daily_plan.zbx --show-ir
- Custom config:
Drop a
.ziboxrcfile (TOML) in your home or project directory. Because you like to tinker.
- Windows: Requires WSL/Git Bash for shell scripts. Everything else works natively
- macOS/Linux: Should work out of the box. If not, check your Rust installation
- Calendar: Standard .ics format supported by most calendar apps
- Build errors?
- Close anything using
target/(Windows loves file locks). - Run
cargo cleanand try again. Or just reboot, like it's 1998.
- Close anything using
- Shell script won't run?
- Use
bash schedule.shin a real terminal.
- Use
- Notifications not working?
- Install
notify-send(Linux) or use macOS's built-in notifications. Or just look at your screen.
- Install
- More help?
- See docs/USAGE.md. Or just experiment. What's the worst that could happen?
- Minimal, readable DSL for tasks
- Multiple output formats (shell, markdown, JSON, calendar)
- Task dependencies and priorities
- Tag-based filtering and optimization
- Configurable work hours and parallelism
- Visual schedule output (for your inner artist)
- Cross-platform, no external dependencies required for core features
- Project Steps: The full, slightly obsessive development plan
- Usage Guide: Step-by-step instructions and advanced examples
- AST Implementation: For those who like their parsers with extra caffeine
MIT licensed. Use responsibly - we're not liable for any productivity gains (or losses).
built with ❤️ by aditi ramakrishnan