從 AI 協作打造的 GAS+Google Sheets 便當系統出發,記錄一套真實公司內部工具如何持續演進:導入 React、Cloudflare Workers 與 D1,中途再接手既有公司舊網頁與歷史資料,處理 LINE/員編登入、權限、資料遷移、CORS、Production Debugging 與測試治理。這 30 天不只展示 AI 如何快速寫出功能,更聚焦在真實系統進入長期維護後,如何透過 ChatGPT、Codex 與 Agent 工作流,讓開發從「Vibe Coding」走向可驗證、可交接、可持續演進的軟體工程。
Day 10 把 Calendar 拉回 Domain 之後,這套便當系統已經很難再用「改一個畫面」來理解一個需求。 一個看似單純的登入問題,可能同時經過:...
Day 11 把一個登入問題一路追到 Frontend state mapping,先回答了: 這次該改到哪裡? 但 Scope 正確,不代表功能就一定做...
Day 11 處理 Debug:先找出哪一層真的出錯,不要因為 AI 能跨模組就把整條鏈一起改。 Day 12 再把需求寫成可判定 PASS / FAIL 的...
Day 12 把需求寫成可判定 PASS / FAIL 的驗收條件(Acceptance Criteria,AC),Day 13 再把一條使用者旅程(User...
功能開始跨前端、Worker 後端、Cloudflare D1 資料庫、身份狀態與快取之後,Debug 很容易變成一場猜謎。 使用者只看到一個錯誤畫面,AI...
Day 15 把 Debug 拉回 Evidence:先找到 first diverging point,再只改證據足以支持的範圍。 但修對,不等於可以直接上...
Day 16 的 Worker-only fast path 有一條很明確的排除條件: 不碰 schema,不碰 Production Data。 不是因...
有一類 bug 很容易把 Debug 帶錯方向: localhost 正常 tests 正常 Worker local 正常 遠端瀏覽器卻失敗 第一個直覺通...
Day 10 已經處理過自動開團的 Domain Rule:工作日、Timezone、Mode、deadline 與 idempotency。 這一篇不重講那...
Day 10 時,便當系統已經從一張訂餐表單,長出 Identity、Ledger、Menu History、Calendar 這些會彼此牽動的 Domain...