npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

cronscope

v0.3.0

Published

Cross-surface discovery and monitoring of scheduled jobs (crontab, systemd, GitHub Actions, Cloudflare) from one CLI.

Downloads

615

Readme

cronscope

cronscope discovers and monitors your scheduled jobs across surfaces — local crontab & systemd timers, GitHub Actions, Cloudflare Workers cron, and Hermes Agent cron — from a single CLI. Zero-config for local; opt-in token for Cloudflare. npx cronscope and see everything that's scheduled, what's overdue, and what failed. Get Slack alerts when a job breaks.

ローカル(crontab / systemd)と各種サービス(GitHub Actions, Cloudflare, Hermes Agent)の 定時実行を横断的に発見・可視化し、fail / overdue を Slack 通知する CLI。 AI 開発時代に「自分の環境で何が定時実行されていて、何が落ちているか」を 把握しきれなくなる問題を、pull 型の状態取得で解く。AI エージェント(Hermes Agent)の cron も監視対象に含む。

cronscope dashboard

インストール / 使い方

npx cronscope scan          # 発見して一覧表示(ゼロ設定)
npx cronscope serve [port]  # localhost ダッシュボード
npx cronscope check         # fail/overdue を Slack 通知(systemd timer で定期実行推奨)

コネクタ(段差 tier 型)

| tier | コネクタ | 取得 | 認証 | |---|---|---|---| | 0 | crontab | crontab -l をパース。cron ログ(journalctl/syslog)から last-fired を best-effort 取得し overdue 検知 | 不要 | | 0 | systemd | user timer/service を systemctl --user show | 不要 | | 0 | github-actions | ~/dev 配下の .github/workflows/*.yml を走査 | 不要 | | 0 | hermes | Hermes Agent~/.hermes/cron/jobs.json を読み、last-run 成否・次回実行を取得 | 不要 | | 1 | cloudflare | API で Workers cron triggers を列挙(BYOK) | API token |

hermes / systemd は last-run 成否が取れるため fail / overdue アラートの対象になる(hermes は権威 next_run_at を使い、スケジューラ停止で発火が止まると overdue として検知する)。

crontab は exit code を残さないため status は unknown(成否は取れない)。ただし cron ログが読めれば last-fired と「鳴っていない(overdue)」を best-effort 検知する。誤検知を避けるため overdue は「観測窓内で実際に発火を観測したジョブが、その後の発火を落とした」場合に限定する(追加直後で未発火のジョブは対象外)。ログが読めない環境では last-run なしに degrade する。

設定

~/.config/cronscope/config.json(任意):

  • scanRoots: GHA 走査対象(既定 ~/dev
  • overdue.graceMinutes: overdue 猶予(既定 60)

トークン類は env 優先(config に生値を置かない):

  • CRONSCOPE_CF_API_TOKEN / CRONSCOPE_CF_ACCOUNT_ID — Cloudflare(任意)
  • CRONSCOPE_SLACK_WEBHOOK_URL — Slack 通知

secret / プライバシー方針

  • discovery snapshot・Web 表示は正規化済み allowlist フィールドのみ。元データ(raw)は永続化しない。
  • target / location は表示前に redaction(token・URL 内資格情報をマスク)。
  • token は env から読み、config / repo / snapshot に生値を残さない。

ライセンス

MIT © 2026 wharfe