Skip to content

hardkoded/cronito

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cronito

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.

Install

npm install -g cronito

Or without installing globally, clone this repo and run the bundle directly:

git clone https://github.com/hardkoded/cronito.git
node cronito/dist/cronito.cjs --help

Setup

Run this once per machine:

cronito init

This 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.

Commands

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.

Schedule Formats (Cron)

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

Storage

Configuration lives in ~/.cronito/:

  • config.json — task definitions
  • history.jsonl — execution logs

Notifications

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.

Development

npm install
npm run build   # tsc typecheck, then esbuild bundles src/cli.ts -> dist/cronito.cjs

Source 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.

License

MIT

About

Interactive CLI for managing scheduled tasks on your machine, backed by a system cron entry.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors