GitHub Trending ★ 75 3 min

Fission-AI/OpenSpec

TypeScript

🔗 https://github.com/Fission-AI/OpenSpec

📌 從需求到實作:OpenSpec 打造以 Artifact 為導向的開發工作流

TL;DR:OpenSpec 提供一套靈活的規格定義框架,透過 /opsx 指令將想法快速轉化為可執行的開發任務。

很多開發者在面對新功能時,常在「直接寫程式碼」與「寫冗長的規格檔案」之間掙扎。前者容易導致設計混亂,後者則太過僵化且耗時。OpenSpec 試圖在兩者之間建立一種流動的平衡。

🧩 拒絕瀑布式開發,擁抱靈活迭代

OpenSpec 的設計理念核心在於「流動而非僵化(fluid not rigid)」與「迭代而非瀑布(iterative not waterfall)」。它不只適用於從零開始的全新專案(greenfield),更強調對現有舊有專案(brownfield)的支援,使其能從個人小專案擴充套件至企業級規模。

💡 以 Artifact 為導向的 /opsx 工作流

OpenSpec 最近重新設計了其工作流,引入了由 Artifact(產出物)導向的流程。開發者可以透過一系列指令將需求由淺入深地具現化:

  1. 探索階段 (/opsx:explore):與 AI 討論實作路徑。例如,當開發者不確定如何乾淨地實作「深色模式」時,AI 會分析現有的樣式設定,並建議使用 CSS 變數與主題 Context 的方案,避免引入不必要的依賴。
  2. 提案階段 (/opsx:propose):將想法正式化。指令會自動建立一個專屬目錄(如 openspec/changes/add-dark-mode/),並生成四項關鍵檔案:
    • proposal.md:說明變更原因與內容。
    • specs/:定義需求與場景。
    • design.md:詳細的技術方案。
    • tasks.md:實作檢查清單。
  3. 執行階段 (/opsx:apply):AI 根據上述任務清單自動執行實作,例如建立 Provider、開發切換元件、設定 CSS 變數及串接 localStorage。
  4. 歸檔階段 (/opsx:archive):實作完成後將紀錄移至歸檔區,並更新規格檔案,準備迎接下一個功能開發。

🎯 實務啟示

OpenSpec 的價值在於將「思考 $\rightarrow$ 設計 $\rightarrow$ 實作 $\rightarrow$ 記錄」這套標準工程流程自動化。對於工程師而言,這意味著不需要手動維護繁瑣的設計檔案,而是透過 AI 將規格定義直接轉化為可追蹤的任務清單,大幅降低了從需求分析到程式碼落地的摩擦力。

🔗 來源

#OpenSpec #DeveloperExperience #Workflow #AI #SoftwareEngineering #Productivity #GitHub #Artifacts #Specification #Nodejs

google/gemma-4-31b-it:free 自動生成