Imported from hayashichiho/lab_attendance (
AGENTS.md). Install upstream withnpx skills add hayashichiho/lab_attendance. Copyright stays with the author.
Cloudflare Workers
STOP. Your knowledge of Cloudflare Workers APIs and limits may be outdated. Always retrieve current documentation before any Workers, KV, R2, D1, Durable Objects, Queues, Vectorize, AI, or Agents SDK task.
Docs
- https://developers.cloudflare.com/workers/
- MCP:
https://docs.mcp.cloudflare.com/mcp
For all limits and quotas, retrieve from the product's /platform/limits/ page. eg. /workers/platform/limits
Commands
| Command | Purpose |
|---|---|
npx wrangler dev |
Local development |
npx wrangler deploy |
Deploy to Cloudflare |
npx wrangler types |
Generate TypeScript types |
Run wrangler types after changing bindings in wrangler.jsonc.
Node.js Compatibility
https://developers.cloudflare.com/workers/runtime-apis/nodejs/
Errors
- Error 1102 (CPU/Memory exceeded): Retrieve limits from
/workers/platform/limits/ - All errors: https://developers.cloudflare.com/workers/observability/errors/
Product Docs
Retrieve API references and limits from:
/kv/ · /r2/ · /d1/ · /durable-objects/ · /queues/ · /vectorize/ · /workers-ai/ · /agents/
Best Practices (conditional)
If the application uses Durable Objects or Workflows, refer to the relevant best practices:
- Durable Objects: https://developers.cloudflare.com/durable-objects/best-practices/rules-of-durable-objects/
- Workflows: https://developers.cloudflare.com/workflows/build/rules-of-workflows/
Project: Lab Attendance
Purpose
研究室Wi-Fiへの接続をトリガーとして、iPhoneから来室イベントを送信し、 「今日研究室に来たか」を記録・表示するIoT Platform風のWebアプリを作る。
Architecture
- Device: iPhone
- Trigger: iOS Shortcutsによる研究室Wi-Fi接続
- API: Cloudflare Workers
- Database: Cloudflare D1
- Dashboard: Cloudflare Workers / static frontend
- Transport: HTTPS
MVP
- iPhoneから来室イベントを送信する
- Device IDとAPI Keyで認証する
- D1にその日の初回来室時刻を保存する
- 同日の重複来室イベントは重複登録しない
- Web画面で今日の来室者を確認できる
Domain Rules
- 来室のみ記録し、退室時刻は記録しない
- GPSや位置情報は取得しない
- 同一device_idについて1日1件の来室記録とする
- 到着時刻はクライアントではなくサーバ側で決定する
- 未登録または無効化されたDeviceからのイベントは受け付けない
Development Guidelines
- MVPを優先し、不要な複雑化を避ける
- Cloudflare固有APIを利用する場合は、上記Cloudflare Workersルールに従って最新ドキュメントを確認する
- フロントエンドよりAPI・Device Management・認証を優先する
- IoT Platformの学習を目的とし、設計判断の理由をREADME等に残す