Docs · Sheet 02 of 05

Job files

Each Job is one TOML file in ~/.config/cuckoo/. The app writes the same files you can write by hand, so use whichever you like.

Example

A Job that runs twice a day, with a timeout and two variables. It sends no notifications.

homebrew-outdated.toml
1# Lists the formulae with a newer version.2name = "Homebrew outdated"3command = '''4brew update --quiet5brew outdated --verbose6'''7at = ["09:00", "18:00"]8timeout = 109notify = "never"1011[environment]12HOMEBREW_NO_AUTO_UPDATE = "1"13HOMEBREW_NO_ENV_HINTS = "1"

Keys

name, command, and one of every or at are required. Any other key, or a value of the wrong type, makes the file invalid.

KeyTypeMeaning
namestringThe name the app shows. Not blank.
commandstringRuns in your login shell. Can span several lines.
directorystringWhere the Command runs. Default "~".
everyintegerMinutes between Runs, at least 1. Not with at.
atarrayTimes of day, "HH:MM", at least one. Not with every.
timeoutintegerMinutes, at least 1. Default: no timeout.
notifystring"never", "stateChanges" or "everyRun". Default "stateChanges".
channelsarrayAny of "mac", "ntfy", "bellnod". Default ["mac"].
[environment]tableVariables for the Command, as strings on one line. Must come last.

Schedules

The folder

The app writes a README.md in the folder on every launch, for people and AI agents. Your edits to it are undone.

Invalid files

A mistake in a file doesn't stop the Job. It keeps running its last valid version, and a .error file appears beside it, with one problem per line:

back-up-photos.error
1line 7: unknown key "timout"

Fix the file and the .error file is removed. A new file that was never valid makes no Job.

cuckoo check

Check a file before the app reads it. cuckoo check prints ok, or one line per problem, and exits 1 when a file is invalid. It changes nothing.

$ cuckoo check back-up-photos.toml
back-up-photos.toml:7: unknown key "timout"
$ cuckoo check back-up-photos.toml
ok

With several files, each gets its own line: disk-space.toml: ok. More in CLI.

CuckooDocs 02Job filesJonathan Fontes - Developer