Interactive CLI for managing scheduled tasks on your machine. Replaces
scattered crontab -e entries with one unified, user-friendly interface —
backed by a single system cron entry that drives everything else.
Ships as a single dependency-free bundle (dist/cronito.cjs), so you don't
need to npm install anything to run it — just Node on your PATH.
This is also the code behind the cronito skill
for Claude Code, Cursor, Copilot, and Codex — that skill just vendors the
built dist/cronito.cjs from this repo.
npm install -g cronitoOr without installing globally, clone this repo and run the bundle directly:
git clone https://github.com/hardkoded/cronito.git
node cronito/dist/cronito.cjs --helpRun this once per machine:
cronito initThis creates ~/.cronito/, and installs the system cron entry that drives
task execution — pointed at wherever you installed cronito, so it works
regardless of install method. Safe to re-run; it's idempotent. If it finds
data from an old mabl-scheduler install (the personal prototype this tool
grew out of), it migrates it automatically.
add — Create a new scheduled task interactively (name, command, working directory, and schedule).
list — Show all scheduled tasks in a formatted table.
edit <taskId> — Modify an existing task interactively.
remove <taskId> — Delete a task (confirms before removing).
enable <taskId> / disable <taskId> — Pause a task without deleting it.
logs [taskId] — View execution history — all tasks, or one task's history.
status — Show total task count and the next 5 tasks to run.
dashboard — Comprehensive metrics: runs, success rate, stalled tasks.
health — Quick health check: config, recent executions, failure rate, stalled tasks.
Standard cron format: minute hour day month day-of-week
* * * * * Every minute
*/5 * * * * Every 5 minutes
0 * * * * Every hour
0 9 * * * Daily at 9 AM
0 8 * * 1 Every Monday at 8 AM
Configuration lives in ~/.cronito/:
config.json— task definitionshistory.jsonl— execution logs
macOS notifications are sent on task failure by default (notifyOnFailure,
opt-out) and optionally on success (notifyOnSuccess, opt-in). No-op on
non-macOS platforms.
npm install
npm run build # tsc typecheck, then esbuild bundles src/cli.ts -> dist/cronito.cjsSource lives in src/. Only dist/cronito.cjs is needed at runtime —
node_modules/, src/, and the TypeScript toolchain are build-time only,
which is why the built bundle is committed: it's what actually ships.
MIT