Metadata-Version: 2.4
Name: readystack-cron-schedule-lint
Version: 0.1.9
Summary: Names every schedule line in the file you have open that fires at the wrong hour, twice, or never at all - and prints the next three times each one really fires, in the zone that actually applies. (bundled Node.js runtime)
Author-email: ReadyStack <support@getreadystack.com>
License: Proprietary - see LICENSE.txt
Project-URL: Homepage, https://getreadystack.com/tools/cron-schedule-lint?ref=pypi
Project-URL: Documentation, https://getreadystack.com/tools/cron-schedule-lint?ref=pypi
Project-URL: Support, https://getreadystack.com/support
Keywords: cron,kubernetes,github-actions,timezone,scheduling
Classifier: Programming Language :: Python :: 3
Classifier: Environment :: Console
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: nodejs-wheel-binaries>=20
Dynamic: license-file

# Cron Schedule Lint for crontab, Kubernetes CronJob, GitHub Actions, Spring and EventBridge

> Runs the same checker as the npm package `@readystack/cron-schedule-lint` on a Node.js runtime that pip installs for you (`nodejs-wheel-binaries`) - no system Node.js needed. Your files are checked locally.

![Crontab Lint - cron expression checker (crontab, K8s CronJob, GitHub Actions) — finds the line](https://getreadystack.com/img/promo/cron-schedule-lint_demo.gif)

Names every schedule line in the file you have open that fires at the wrong hour, twice, or never at all - and prints the next three times each one really fires, in the zone that actually applies.

## Install

```
cron-schedule-lint file
```

Node 18+. The same 29 rules as the VS Code extension, from a terminal or CI.

## Free

- Checks the file you have open against all 29 rules and, for every schedule line, prints the next three instants it really fires at, how many times it fires in a year, and the exact dates when that wall-clock time does not exist or happens twice - no key, no limit, no watermark.
- `--rules` lists every rule

## With a licence ($29 once)

- Merges every schedule in the repository into one calendar instead of the single file you have open, exports it as CSV, JSON or HTML for a change review, and writes machine output a CI step can fail on so a merge cannot add a schedule that never fires.

```
@readystack/cron-schedule-lint --dir ./templates --report html --out report.html
```

Healthchecks.io Business, the ordinary cron monitor, is $20 every month for 100 jobs - $240 a year, forever - and by design it can only tell you after a run was already missed.

## Use from an AI agent (MCP)

Claude Code · Cursor · Windsurf · any MCP client - add to your MCP config:

```json
{ "mcpServers": { "cron-schedule-lint": { "command": "npx", "args": ["-y", "@readystack/cron-schedule-lint", "--mcp"] } } }
```

Tools: `check_text` and `check_file` (free) · `check_dir` (licence). The agent gets every finding with the line number.

## Use in CI

```yaml
- name: Cron Schedule Lint for crontab, Kubernetes CronJob, GitHub Actions, Spring and EventBridge
  run: npx -y @readystack/cron-schedule-lint --dir . --ci
```

(container: `docker run --rm -v "$PWD:/work" getreadystack/cron-schedule-lint --dir /work --ci`)

The folder sweep, reports and CI mode need one licence — one payment, no subscription. Set `READYSTACK_LICENSE=<key>` or run `--license <key>` once.

[Get a licence](https://getreadystack.com/api/buy/cl/polar_cl_t0Tavjz6GbjmBsKk04ImLmG6Y3VDIbuP0pht50WAFPX)


<!-- cron schedule lint -->


## Install (PyPI)

```
pip install readystack-cron-schedule-lint
cron-schedule-lint --help
```
