CLI
Hybrid local and cloud scheduling from one CLI
rrulenet is the hybrid CLI for the ecosystem. It can run recurring jobs locally, manage cloud schedules on rrule.net, and keep the same recurrence model across both.
Install
The CLI is published as @rrulenet/cli and requires Node.js 24 or later.
npm install -g @rrulenet/cli
rrulenet --helpLocal mode
Run recurring commands on your own machine with SQLite-backed state, retry/backoff behavior, and service templates for launchd and systemd-user.
- SQLite local persistence by default
- Continuous runner with retry/backoff and crash recovery
- Service template generation for launchd and systemd-user
Cloud mode
Manage schedules hosted on rrule.net from the terminal, including list, pause, resume, and remove workflows with support for short ids.
- Manage schedules on the hosted platform
- Use API tokens to access your cloud schedules
- Accept full ids and unique short-id prefixes
Hybrid workflows
The CLI exists for situations where local and hosted scheduling need to coexist. Use one recurrence language, one operator workflow, and one mental model for both.
Local-only automation
Use the CLI as a local recurrence runner when jobs should stay on your machine or within your own environment.
Cloud-first operations
Use the CLI as an operator interface for rrule.net when the schedules themselves live on the hosted platform.
Mixed local + cloud
Use one command surface across local jobs and hosted schedules while keeping a single recurrence vocabulary.
Examples
Run a local recurring job
rrulenet local add "FREQ=DAILY;BYHOUR=9" --timezone Europe/Paris -- \
./scripts/daily-report.sh
rrulenet local runManage a cloud schedule on rrule.net
rrulenet config set cloud.api_url https://api.rrule.net
rrulenet config set cloud.token <your_api_token>
rrulenet cloud add "FREQ=WEEKLY;BYDAY=MO;BYHOUR=9" \
--timezone Europe/Paris \
--webhook https://example.com/webhooks/report
rrulenet cloud list