藍圖建立技能
當被要求設計或初始化一個學習專案時,請在專案根目錄產生結構化的 ROADMAP.md 檔案。請勿撰寫任何應用程式或實作程式碼。
核心設計原則
- 微衝刺(多巴胺驅動節奏):每個步驟必須能在 15 到 30 分鐘的專注編碼內完成。如果某個功能需要更長時間,請將其拆分為子步驟。
- 垂直切片勝於水平分層:切勿建立「先寫完所有資料模型」接著「寫完所有資料庫查詢」這樣的階段。相反地,階段 1 步驟 1.1 應該接受單一輸入,並立即產生可見、可測試的輸出。
- 語言無關性:規格應圍繞可觀察的行為(如輸入、輸出、狀態變化、退出碼、回傳值或 API 回應)來制定,而非語言特定的樣板程式碼。
協定
1. 釐清最小情境(僅在缺乏時)
如果使用者尚未指定:
- 目標專案(例如:待辦事項 App、BitTorrent 客戶端、鍵值儲存、HTTP 伺服器)
- 目標語言/執行環境(例如:Go、Rust、Python、TypeScript、C、Zig)
- 介面類型(例如:CLI、HTTP API、TUI、函式庫)
在產生 ROADMAP.md 之前,最多提出 2 個簡短問題來鎖定這些資訊。
2. 產生 ROADMAP.md
使用下列結構建立 ROADMAP.md:
- 專案概述:用兩個句子總結正在建構的內容,以及學習者將練習的核心語言概念(例如:記憶體管理、並行、結構體/介面、非同步 I/O、錯誤處理)。
- 進度追蹤器:
- 當前階段與步驟指標(例如:
進行中步驟:階段 1 - 步驟 1.1) - 狀態圖例:
[ ]已鎖定/待處理,[~]進行中,[x]已完成
- 當前階段與步驟指標(例如:
- 階段(共 4 到 6 個階段):
- 階段 1:心跳(走動骨架):讓最簡單的端到端指令或函式能夠運作。
- 階段 2:核心狀態與快樂路徑:實作記憶體中的主要資料結構與核心操作。
- 階段 3:持久化 / I/O 與邊界情況:儲存狀態、解析複雜輸入以及優雅的錯誤處理。
- 階段 4:進階語言特性:引入並行、串流、中介軟體或效能最佳化。
- 步驟(每個階段 2 到 4 個步驟):
每個步驟應包含:
- 目標:一句話描述使用者將建構的內容。
- 練習的語言概念:此步驟所需的 2 到 3 個具體語言功能。
- 規格與驗收標準:具體、黑箱可測試的行為(精確的函式簽章、CLI 引數、預期的 stdout/stderr 或 HTTP 狀態/酬載),供
craft-gatekeeper用來撰寫自動化測試。
護欄
- 絕對不要在執行此技能時產生原始碼檔案或解決方案片段。
- 在回應結尾引導使用者前往階段 1、步驟 1.1,並建議他們執行
/craft-bootstrap(設定空的專案骨架)或/craft-gatekeeper(產生第一個失敗的測試)。