Project Overview: todos


I’m documenting the current baseline for todos so the Cloudflare Workers + D1 REST stack, CLI tooling, and agent memory are all aligned; nothing functional has changed since the last session and the signal is simply that we captured this state for future reference.

What We Built

  • A REST-first todo API running on Cloudflare Workers backed by D1 with Drizzle ORM, complemented by a lightweight TypeScript CLI for operations.
  • The stack surfaces in ui, bin, tests, and the agent tooling inside this repository plus supporting docs like README.md, todos.md, MEMORY.md, and runtime configs (package.json, package-lock.json, raycast).
  • Development workflow centered on practical dev scripts (wrangler dev, vite, vitest, tsc) and deploy commands (wrangler deploy) so the entire surface is operable from the CLI.

Why We Built It

  • We needed a practical system that agents and humans can operate quickly without wrestling with heavy infrastructure.
  • Lightweight tooling keeps iteration velocity high, so the team can focus on solving todo-related problems rather than platform plumbing.
  • Having a durable project memory (this log plus the session metadata) ensures future decisions reference a precise starting point.

How It Works

  • Entry points: npm run dev boots wrangler dev, npm run ui:dev runs vite, npm run ui:build produces the UI bundle, and npm run deploy pushes to Workers.
  • Quality gates include npm run typecheck (via tsc --noEmit) and npm run test/npm run test:watch powered by vitest.
  • The CLI surfaces live in bin and integrates with the same codebase that powers the Worker, so agent commands and browser UI stay in sync.