Local command scheduling from YAML files

Tickle

Tickle runs commands from local job files. A scheduled check can decide whether there is work to do before the job starts, and each run is recorded as files on disk.

Workflow

A job file describes the schedule, the check, and the command.

01

Write YAML

Define the trigger and command in a file that can be reviewed.

02

Check for work

The check script exits `0` when the scheduled job should run.

03

Run locally

The user-level daemon starts the command in the configured directory.

04

Record the run

Tickle writes JSONL history, stdout, stderr, and trigger details.

Job file

Use cron for timing, and a script when the job depends on state.

The scheduler only needs a simple contract from the check script: exit `0` to run, exit `1` to skip, or print JSON to pass a reason, event id, and payload into the command. User-owned scripts usually live under the Tickle config directory.

repo-maintenance.yaml
version: 1
id: repo-maintenance
name: Repo Maintenance
status: active

triggers:
  - type: script
    schedule: "*/15 * * * *"
    command: ["@config/scripts/repo-maintenance/has-work.sh"]
    timeout: 30s

run:
  cwd: /path/to/project
  command: ["@config/scripts/repo-maintenance/run-agent-job.sh"]
  timeout: 2h

env:
  AGENT_MEMORY: "@config/scripts/repo-maintenance/memory.md"
Skill bundles

The skill bundle includes the binary and job templates.

Releases include standalone binaries and platform-specific skill zips. The skill gives a coding agent the command wrapper and templates it needs to create and validate jobs.

Releases
  • linuxamd64
  • linuxarm64
  • darwinarm64
  • windowsamd64