Skip to content

mc7h/lazycron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lazycron

A terminal UI for managing cron jobs, systemd timers, and launchd agents. Inspired by lazygit and lazydocker.

Features

  • Unified view of scheduled tasks across cron, systemd, and launchd
  • Natural language schedule input ("every day at 2pm", "every weekday at 9:30")
  • Heatmap visualization of job execution history
  • Full CRUD: create, edit, delete, run now
  • No daemon or database — reads directly from system logs

Platform Support

cron systemd launchd
macOS yes yes
Linux yes yes

Unavailable providers are hidden automatically — no empty states or disabled UI elements.

Feature Matrix

Feature cron systemd launchd
List jobs yes yes yes
Create yes yes (sudo) yes
Edit yes yes (sudo) yes
Delete yes (confirm) yes (confirm) yes (confirm)
Run now yes yes yes
Enable/disable yes (space) yes (space)
History heatmap when ran only* exit codes exit codes
Next run computation yes yes yes

* Cron logs don't include exit codes — the heatmap shows when jobs ran but not whether they succeeded.

Keyboard Shortcuts

Key Action
j/k, arrows Navigate job list / scroll heatmap
tab Cycle panel focus
n New job
e Edit selected job
d Delete (press twice to confirm)
r Run selected job now
space Enable/disable (systemd/launchd)
a/c/s/l Filter by type
+/- Zoom heatmap (7/14/30 days)
R Refresh
? Help overlay
q Quit

Build & Run

Requires Go 1.26+.

go build -o lazycron .
./lazycron

Test

go test ./...

Integration tests (require real crontab/systemctl/launchctl) are guarded by build tags:

go test ./... -tags integration

Schedule Input

Type natural language when creating or editing a job:

every day at 2am          ->  0 2 * * *
every weekday at 3pm      ->  0 15 * * 1-5
every monday at 9:30      ->  30 9 * * 1
every 5 minutes           ->  */5 * * * *
1st of the month at midnight  ->  0 0 1 * *

The resolved cron expression and next 3 run times are shown live as you type.

About

A terminal UI for managing cron jobs, systemd timers, and launchd agents. Inspired by lazygit and lazydocker.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages