A crontab tells you when a job starts. It does not tell you that two jobs will be hammering the same database at 02:30, that a nightly run is still going when the morning report begins, that the 02:00 job silently vanishes on the Sunday the clocks spring forward, or that the 01:30 job runs twice on the Sunday they fall back. Those answers need the schedules expanded into real instants, in a real time zone, with a real duration attached.
This walkthrough uses the tool's public README and checked-in example files. Run the command from a repository checkout with Node.js 22+.
Run the checked-in example
node bin/cron-collision-checker.mjs --config examples/clean.jsonRead the result
stdout carries the JSON report and nothing else, so it can be piped straight into a parser. stderr carries the human summary and progress diagnostics.
Scope
Platform dependency. Time zone rules come from the IANA database in the host's Node build. Two hosts on different tzdata releases can legitimately disagree about a transition date for a zone whose rules changed between them. Determinism is guaranteed for repeated runs on one host, not across tzdata versions.