40 Commits
Author SHA1 Message Date
tiennm99 5bb38fb220 build: move the worker from pnpm to npm
Replace pnpm-lock.yaml with package-lock.json. allowBuilds and
pnpm.onlyBuiltDependencies collapse into package.json#allowScripts, which npm
11 gates the same way; sharp is omitted because it is not in the tree.

cloudflare-worker/.github/workflows/ci.yml is updated for consistency even
though it never runs: GitHub only reads workflows from the repository root.
2026-08-17 12:22:21 +07:00
tiennm99 5c5463057e docs: point implementation cross-references at in-repo directories
The three deployment variants now live in one repository: GitHub Actions
at the root, the Go daemon under self-hosted/, the Worker under
cloudflare-worker/. Update comparison tables, clone instructions, and the
Go module path (binary builds as 'self-hosted'); GHCR image name is
unchanged.
2026-08-10 15:54:39 +07:00
tiennm99 1402187f2b fix(deps): bump wrangler to pull patched sharp
sharp was pinned transitively via wrangler -> miniflare below the
0.35.0 security fix. Bumping wrangler resolves the advisory without
any source change.
2026-07-25 19:30:33 +07:00
tiennm99 e7151e1652 chore: remove dependabot version-update config 2026-07-25 14:14:51 +07:00
tiennm99 bcebe58cc2 build(deps): bump wrangler, vitest, vitest-pool-workers and setup-node to v7 2026-07-17 17:49:54 +07:00
tiennm99 1766168adc build(deps): bump vite to 8.x and actions/checkout to v7 2026-07-17 17:42:53 +07:00
dependabot[bot]andtiennm99 05ac7d7939 chore(deps-dev): bump the minor-and-patch group with 2 updates (#11)
* chore(deps-dev): bump the minor-and-patch group with 2 updates

Bumps the minor-and-patch group with 2 updates: [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler) and [@cloudflare/vitest-pool-workers](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vitest-pool-workers).


Updates `wrangler` from 4.90.0 to 4.94.0
- [Release notes](https://github.com/cloudflare/workers-sdk/releases)
- [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.94.0/packages/wrangler)

Updates `@cloudflare/vitest-pool-workers` from 0.5.41 to 0.16.9
- [Release notes](https://github.com/cloudflare/workers-sdk/releases)
- [Changelog](https://github.com/cloudflare/workers-sdk/blob/main/packages/vitest-pool-workers/CHANGELOG.md)
- [Commits](https://github.com/cloudflare/workers-sdk/commits/@cloudflare/vitest-pool-workers@0.16.9/packages/vitest-pool-workers)

---
updated-dependencies:
- dependency-name: wrangler
  dependency-version: 4.94.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: "@cloudflare/vitest-pool-workers"
  dependency-version: 0.16.9
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix(test): migrate vitest config to cloudflareTest() plugin for vitest-pool-workers v0.16

* chore(deps): bump actions/checkout from 4 to 6 (#8)

Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump actions/setup-node from 4 to 6 (#10)

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 6.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump vitest from 2.1.9 to 4.1.7 (#12)

* chore(deps-dev): bump vitest from 2.1.9 to 4.1.7

Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 2.1.9 to 4.1.7.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/vitest)

---
updated-dependencies:
- dependency-name: vitest
  dependency-version: 4.1.7
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix(test): migrate to vitest@4 with vitest-pool-workers v0.16, cloudflareTest() API, and vite@6

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: tiennm99 <tiennm99@outlook.com>

* chore(deps): bump pnpm/action-setup from 4 to 6 (#9)

Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 4 to 6.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/v4...v6)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump the minor-and-patch group with 2 updates

Bumps the minor-and-patch group with 2 updates: [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler) and [@cloudflare/vitest-pool-workers](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vitest-pool-workers).

Updates `wrangler` from 4.90.0 to 4.94.0
- [Release notes](https://github.com/cloudflare/workers-sdk/releases)
- [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.94.0/packages/wrangler)

Updates `@cloudflare/vitest-pool-workers` from 0.5.41 to 0.16.9
- [Release notes](https://github.com/cloudflare/workers-sdk/releases)
- [Changelog](https://github.com/cloudflare/workers-sdk/blob/main/packages/vitest-pool-workers/CHANGELOG.md)
- [Commits](https://github.com/cloudflare/workers-sdk/commits/@cloudflare/vitest-pool-workers@0.16.9/packages/vitest-pool-workers)

---
updated-dependencies:
- dependency-name: wrangler
  dependency-version: 4.94.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: "@cloudflare/vitest-pool-workers"
  dependency-version: 0.16.9
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: tiennm99 <tiennm99@outlook.com>
2026-05-23 18:42:40 +07:00
dependabot[bot] 62272e4f6b chore(deps): bump pnpm/action-setup from 4 to 6 (#9)
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 4 to 6.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/v4...v6)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-23 18:36:25 +07:00
dependabot[bot]andtiennm99 b486ca5b39 chore(deps-dev): bump vitest from 2.1.9 to 4.1.7 (#12)
* chore(deps-dev): bump vitest from 2.1.9 to 4.1.7

Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 2.1.9 to 4.1.7.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/vitest)

---
updated-dependencies:
- dependency-name: vitest
  dependency-version: 4.1.7
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix(test): migrate to vitest@4 with vitest-pool-workers v0.16, cloudflareTest() API, and vite@6

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: tiennm99 <tiennm99@outlook.com>
2026-05-23 18:29:02 +07:00
dependabot[bot] d24dc83b9c chore(deps): bump actions/setup-node from 4 to 6 (#10)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 6.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-23 18:20:05 +07:00
dependabot[bot] 95d9b6b5ee chore(deps): bump actions/checkout from 4 to 6 (#8)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-23 18:19:59 +07:00
tiennm99 6cf3232854 chore: add dependabot config (#7) 2026-05-23 10:48:49 +07:00
tiennm99 1df67b0c8d chore(ci): bump node to 24 2026-05-13 10:52:29 +07:00
tiennm99 4baa828831 fix(ci): approve native dependency builds via pnpm-workspace.yaml allowBuilds 2026-05-13 10:39:09 +07:00
tiennm99 7570bb7e23 fix(ci): allow build scripts for esbuild, sharp, workerd via pnpm onlyBuiltDependencies 2026-05-13 10:34:07 +07:00
tiennm99 22c4fae915 fix(ci): remove pnpm version override conflicting with packageManager 2026-05-13 10:29:06 +07:00
tiennm99 c5cb39b89a chore: migrate from npm to pnpm 2026-05-13 10:18:17 +07:00
tiennm99 d786f993cc docs: add 3-way decision matrix linking all routine-trigger variants 2026-05-11 20:09:38 +07:00
tiennm99 c7dcec1770 fix(cron): use empty crons=[] to actually clear CF dashboard
Commenting out [triggers] left stale schedules visible in the CF
dashboard — Wrangler only pushes declared config, never removes
implicitly. An empty array is the explicit "clear schedules" signal.

Sample schedule preserved as a comment above the empty array so
re-enabling is a single-line edit.
2026-05-09 13:14:46 +07:00
tiennm99 11b908cdac chore: park worker, recommend cron-job.org as primary scheduler
Comment out [triggers].crons in wrangler.toml — migrated this routine to
cron-job.org (free, verified) to keep the CF cron-trigger free-tier quota
available for other workers. Worker code, secrets, and observability
config stay intact so re-enabling is one toml uncomment + redeploy.

README restructured: lead with cron-job.org setup (signup → headers → JSON
body), demote CF Worker setup to a secondary path under "Using Cloudflare
Workers" for users who specifically want CF infra.
2026-05-09 13:07:59 +07:00
tiennm99 df7711231b feat(observability): enable full Workers Logs traces (100% sampling) 2026-05-09 12:03:47 +07:00
tiennm99 723f5773fa feat(cron): simplify to single expression — 00:00 + hourly 05-23 UTC+7 2026-05-09 11:58:10 +07:00
tiennm99 4626889387 feat(cron): expand to 20 fires/day, packed into 5 expressions 2026-05-09 11:52:31 +07:00
tiennm99 2721b214d9 fix(ci): bump Node to 22 (wrangler 4 requires Node >=22) 2026-05-09 11:37:29 +07:00
tiennm99 d6c89ba803 feat: wrangler config with default 5x-daily crons (UTC+7) 2026-05-09 11:29:07 +07:00
tiennm99 1b9a6eba89 test: vitest in Workers pool, 12 cases incl token redaction + CI 2026-05-09 11:29:07 +07:00
tiennm99 b26b101c9a docs: CHANGELOG v0.1.0 + planning artifacts 2026-05-09 11:29:07 +07:00
tiennm99 a7ec7589a6 feat: scheduled handler that fires Claude Code routines via /fire 2026-05-09 11:29:00 +07:00
tiennm99 b20e3b38b6 chore: init repo scaffold (Apache-2.0, package.json, .gitignore) 2026-05-09 11:28:49 +07:00
tiennm99 919cccfcbd docs: link to claude-code-routine-cron for self-hosted scheduling 2026-05-08 23:53:08 +07:00
tiennm99 1c56118809 docs: write README, docker-compose example, env example v0.1.0 2026-05-08 23:47:31 +07:00
tiennm99 d3ba1a3761 ci: add Dockerfile and GHCR multi-arch publish workflow 2026-05-08 23:46:35 +07:00
tiennm99 e18d271970 test: add unit tests for config, fire client, scheduler 2026-05-08 23:45:10 +07:00
tiennm99 9c4d7a532f feat: implement core daemon (config, fire client, scheduler) 2026-05-08 23:43:36 +07:00
tiennm99 981ec3255e feat: scaffold project 2026-05-08 23:41:47 +07:00
tiennm99 e4de33d3a1 docs: deprecate repo and warn about GitHub cron minute-0 delays
Add top-of-README notice that the author now uses Claude Code's
built-in routine cron trigger instead of this GitHub Actions
workflow. Repo kept as reference for external-scheduler users.

Add warning about GitHub cron delays at minute 0 (observed ~1h46m
late in this repo), recommend scattered off-hour minutes.
2026-04-24 22:02:59 +07:00
miti99 6c071ab893 docs: refresh README intro, schedule table, and add use-cases section 2026-04-24 16:30:31 +07:00
miti99 3add6257db feat: add 00:00 UTC+7 schedule and document how to customize cron 2026-04-24 16:25:36 +07:00
miti99 28f6dd7380 chore: switch license to Apache-2.0 (GitHub template) 2026-04-24 15:52:57 +07:00
miti99 deb3428cfb feat: scheduled GitHub Actions workflow to fire Claude Code routine 4x daily 2026-04-24 15:24:47 +07:00