這篇手記本身就是一次「讓 AI 幹活」的示範:網站從設計稿移植、文章搬遷、圖文排版、圖片歸檔——每一件事都是人講一句話,代理動手完成。
為什麼要交接
我發現自己最大的成本不是寫程式,而是切換上下文。與其每次重新解釋「專案長什麼樣、規矩是什麼、哪裡能碰哪裡不能碰」,不如把這些寫成一份交接手冊,放在 repo 根目錄——任何代理(opencode、codex、Claude Code)進到專案就會自動讀到,等於給它裝了一副「這個世界的地圖」。
下面就是這份手冊的本體。
# Blog 專案交接手冊(給 opencode / codex / 任何 agent)
個人手記網站:墨石・手記(交易+生活)。網址 https://blog.moshi.eu.cc
## 環境(Windows)
- 專案根目錄:C:\Users\danny\Projects\blog(git repo,branch main)
- 本機 Node 22;npm scripts:npm run dev / build / deploy
- 部署需 wrangler OAuth(本機已授權,不需再登入)
## 架構
- Astro 7(靜態生成)+ Cloudflare Pages(專案名 blog,網域 blog.moshi.eu.cc)
- 文章:src/content/posts/*.md(schema 在 src/content.config.ts)
- 版面:layouts/(Base、PostLayout)、components/(PostCard、Tags、Icon)
- 樣式:src/styles/global.css(設計系統集中地,class 名稱不要亂改)
## 文章 frontmatter
title(必填)/description(卡片摘要)/pubDate(必填)
tags(自動產生 tag 專頁)/series+seriesIndex(系列導覽)
featured(首頁精選)/draft(true=不上線,隱藏標準做法)
- slug 用英文/拼音;支援 KaTeX($..$)、Shiki 程式碼
- 圖片:public/images/YYYY/MM/,引用 /images/YYYY/MM/檔名
- 圖文排版:.fig 滿版圖+圖說、.img-left/.img-right 文繞圖、
.img-grid 雙欄、.callout 提示框
## 設計語言(不要破壞)
- 紙面 × 陶土紅 × 鼠尾草綠;文青做舊
- 字體:Noto Serif TC(思源宋體,自托管)、Noto Sans TC、IBM Plex Mono
- 全站用 CSS token(var(--ink)…),不硬寫色碼;對比須達 WCAG AA
- 語調:個人手記(結論先行、數據佐證、誠實、不報明牌)
## ⚠️ 紅線(絕對遵守)
1. 部分交易策略主題屬敏感內容,一律不公開上線——即使有材料,
只能存成 draft:true 或先問站主,正式發布都要先確認。
2. draft:true 會讓文章從全站消失(首頁/列表/tag/RSS/sitemap)。
3. 不要改 CSS class 名稱與 HTML 結構。
## 發布流程
1. 新增/修改 src/content/posts/*.md
2. 新文章先 draft:true 給站主審,或站主說「直接上」才發布
3. npm run deploy(= astro build + wrangler pages deploy)
## 驗收
- npm run build 無錯誤,文章路由出現在輸出
- curl https://blog.moshi.eu.cc/blog/<slug>/ 為 200
- 改樣式後確認色票/對比度無回退
實際使用
交接手冊放好之後,指令短得嚇人:
cd C:\Users\danny\Projects\blog
opencode "寫一篇新手記,主題是……,先設 draft: true 給我看"
codex exec "把首頁 hero 文案改得更生活化"
代理會自己讀手冊、自己遵守規矩、自己 build 驗證。人只需要負責「講清楚要什麼」和「最後看一眼」。
心得
把規矩寫下來,比盯著代理做事輕鬆一百倍。而且這份手冊不只給 AI 看——換人接手、幾個月後的自己回頭改站,讀同一份文件就知道整個世界是怎麼運轉的。這大概就是「文件即自動化」的意思。

讓 codex 別閒著沒事——它可是全公司最便宜也最好用的員工。