CLI · 第一層
生命週期
每個 workspace 使用的五個標準指令 — create / dev / build / preview / typecheck。形狀與 Vite 或 Astro 相同,沒有 openpress: 前綴。
OpenPress 的核心設計理念之一,是將文件的生命週期與現代軟體開發的生命週期對齊。這意味著文件的編寫、預覽、驗證與部署,都遵循著與一般前端框架(如 Vite 或 Astro)相同的節奏。
為什麼需要生命週期指令?
在傳統的文件編輯器中,文件的狀態通常只有「編輯中」與「已匯出」兩種。然而,在 OpenPress 中,文件被視為程式碼(Docs as Code)。這帶來了幾個重要的觀念轉變:
- 開發與預覽分離: 編寫內容時,我們需要一個能夠提供即時回饋(熱重載)、顯示註解、並能讓 Agent 介入的環境。這就是
dev階段的意義。 - 建置與驗證: 文件在發佈前,需要經過嚴格的驗證。我們必須確保所有的元件都能正確渲染、所有的連結都是有效的、TypeScript 型別沒有錯誤。這就是
build與typecheck的作用。 - 靜態分發: 最終產出的文件不應該依賴任何特定的伺服器環境。它們被編譯成純粹的靜態檔案,可以部署到任何靜態網站代管服務上。
核心循環概念
透過五個標準指令,OpenPress 定義了一個清晰的循環:
- 起點 (Create): 建立一個新的工作區。這個階段不只是建立資料夾,而是確立了文件的類型(例如簡報或報告),並設定好所有後續階段所需的基礎設施。
- 反覆運算 (Dev): 這是作者與 Agent 最常停留的階段。在這個階段,系統專注於開發者體驗:提供開發伺服器、支援即時的樣式與內容更新,並開啟各種協助除錯的介面。
- 驗證 (Typecheck): 對於使用 TypeScript 的進階作者,這個階段確保了自訂元件或進階設定的型別安全,防止執行期的錯誤。
- 封裝 (Build): 將動態的開發環境轉換為靜態的正式環境產物。這個階段會移除所有僅供開發使用的工具(如工作台介面),並對輸出進行最佳化。
- 確認 (Preview): 在最終部署之前,提供一個精確模擬正式環境的本機預覽,讓作者確認讀者最終會看到的精確樣貌。
這種與前端開發一致的生命週期,不僅降低了開發者的學習門檻,更重要的是,它為文件建立了一套可預期、可自動化、且高度穩定的生產流程。