Schedule Expression IDE

Time is a programmable interface.

Kronos is the schedule expression platform that gives you surgical precision over when things execute. Define, validate, preview, and deploy time-based workflows with deterministic confidence.

*/15 9-17 * 1-5 * → Every 15 minutes, 9 AM–5 PM, Mon–Fri
99.997%
Schedule Execution Accuracy
2.4M+
Expressions Authored
<1ms
Expression Parse Time
5 Fields
Total Complexity Budget

Every scheduling primitive, productionized.

Kronos ships with battle-tested schedule management primitives that scale from solo operators to distributed platform teams.

✏️

Inline Expression Editor

kronos -e

Launch the embedded schedule IDE directly from your terminal. Full syntax validation, real-time preview, and instant deployment in a single interactive session.

📋

Schedule Registry Inspector

kronos -l

Render a complete, colorized manifest of all active schedule expressions. Instant visibility into your entire temporal execution graph.

🔄

File-Based Bulk Import

kronos schedule.txt

Install entire schedule manifests from declarative config files. GitOps-native. Version your entire timing infrastructure as code.

🗑️

Safe Purge Protocol

kronos -r -i

Interactive confirmation flow before schedule table destruction. Zero accidental data loss. Production guardrails built in.

👤

Multi-Tenant Identity Scoping

kronos -u USER

Manage schedule tables across any user context. Perfect for platform teams managing schedules across tenants, services, and execution domains.

Dry-Run Validator

kronos -T schedule.txt

Pre-flight syntax validation without deployment. Catch malformed expressions before they reach production. Shift left on schedule correctness.

Native Schedule Macros

@hourly @daily @weekly

Semantic scheduling shortcuts for common cadences. From @reboot to @annually — human-readable macros that compile down to precise five-field expressions.

🌐

Environment Injection Layer

SHELL= PATH= MAILTO=

Configure execution runtime context per schedule table. Shell selection, path resolution, notification routing — all declaratively scoped.

Expression Builder

Compose schedule expressions visually. See the next 10 execution times in real-time.

0-59
0-23
1-31
1-12
0-7 (0,7=Sun)
Expression 0 * * * *
Readable At minute 0 of every hour
Quick Presets
Next 10 Executions

Ship schedules in four steps.

01

Author

Compose schedule expressions using our interactive builder or write raw five-field syntax. Full autocomplete & validation.

$ kronos -e
02

Validate

Pre-flight every expression against our deterministic parser. Catch edge cases around DST transitions and month boundaries before deployment.

$ kronos -T schedule.txt
03

Deploy

Install your schedule manifest in a single atomic operation. All five fields resolve instantly. Zero cold start.

$ kronos schedule.txt
04

Observe

Inspect your active schedule registry at any time. Full colorized output with human-readable field annotations.

$ kronos -l

See Kronos in action.

kronos — schedule management
$ kronos -l
# Edit this file to introduce tasks to be run by cron.
#
# m h dom mon dow command
*/15 * * * * /usr/local/bin/health-check.sh
0 2 * * * /opt/backup/nightly-snapshot.sh >> /var/log/backup.log 2>&1
30 8 * * 1-5 /srv/reports/daily-digest.py
0 0 1 * * /usr/local/bin/rotate-logs.sh
@reboot /opt/services/init-cache-warmer.sh
$ kronos -u deploy -l
0 3 * * 0 /opt/deploy/weekly-prune.sh
*/5 9-17 * * 1-5 /opt/deploy/queue-worker.sh
$ kronos -r -i
kronos: really delete deploy's schedule table? (y/n)

Expression Cheatsheet

The complete Kronos expression syntax reference. Bookmark this.

Field Ranges

Field Allowed
Minute 0–59
Hour 0–23
Day of Month 1–31
Month 1–12 (or jan–dec)
Day of Week 0–7 (0 or 7 = Sun, or mon–sun)

Operators

Symbol Meaning Example
* Any value * * * * *
, Value list 1,15,30
- Range 9-17
/ Step */15

Schedule Macros

Macro Equivalent
@reboot Run once at startup
@hourly 0 * * * *
@daily 0 0 * * *
@weekly 0 0 * * 0
@monthly 0 0 1 * *
@annually 0 0 1 1 *

Environment Variables

Variable Purpose
SHELL Execution shell (default: /bin/sh)
PATH Command search path
MAILTO Notification recipient
HOME Working directory context

Trusted by teams that don't miss deadlines.

★★★★★

"We replaced our entire internal scheduling DSL with Kronos expressions. Five fields. That's the entire API surface. The simplicity is the moat."

Rajan Krishnamurthy
Rajan Krishnamurthy VP Platform Engineering, Lattice Systems
★★★★★

"The -i flag on purge saved us from a catastrophic schedule wipe in production. Interactive confirmation before destructive operations — that's the kind of guardrail that compounds trust."

Daniela Santos
Daniela Santos SRE Lead, NovaBridge
★★★★★

"kronos -u lets me manage schedule tables across 40 different service accounts from one terminal. Multi-tenant identity scoping is a 10x unlock for platform teams."

Derek Walsh
Derek Walsh Infrastructure Architect, ScaleForge
★★★★★

"We version our Kronos schedule files in Git. The file-based import workflow means our entire temporal infrastructure is reviewable, auditable, and rollback-safe."

Anika Lindström
Anika Lindström CTO, Meridian Data

Scheduling primitives at every scale.

From solo operators to global platform teams. Every tier includes the five-field expression engine.

Starter
$0/mo

For individuals exploring temporal automation.

  • 5 active schedule expressions
  • kronos -l (list schedules)
  • @daily macro only
  • No kronos -e inline editor
  • No file-based import
  • No multi-tenant scoping
Get Started
Team
$49/seat/mo

Schedule governance for platform teams.

  • Everything in Pro
  • kronos -u USER multi-tenant
  • kronos -T pre-flight validation
  • Environment variable injection
  • Schedule audit logs
  • @reboot macro access
Start Free Trial
Enterprise
Custom

Mission-critical scheduling infrastructure.

  • Everything in Team
  • Cluster-mode scheduling (-n/-c)
  • SELinux MLS integration (-s)
  • Dedicated schedule daemon
  • 99.999% execution SLA
  • 24/7 support + TAM
Contact Sales

Frequently asked questions.

The asterisk (*) matches every possible value in a field — it's the "any" operator. When combined with a step (*/5), it means "every 5th value through the full range." So */5 in the minute field means minutes 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, and 55.

Yes. The @reboot macro runs a command once when the daemon starts. This is ideal for cache warmers, service initializations, and any boot-time automation. Available on Team and Enterprise plans.

We strongly recommend always using kronos -r -i which prompts for confirmation before deletion. Additionally, Kronos automatically backs up your last schedule table, so you can restore from your cache directory.

Set the MAILTO environment variable at the top of your schedule table. All command output will be routed to that address. Set MAILTO="" to suppress notifications entirely.

Kronos operates entirely within your local execution environment. No network dependency. Your schedule table lives on-instance, and the daemon evaluates expressions every minute with zero external calls. This is by design — scheduling should never depend on uptime of a third-party service.

Backed by mandō