工程開發
crowi-migration avatar

crowi-migration

從舊版 Crowi (Express/Swig) 遷移至現代架構 (Next.js 16/Fastify/ts-rest) 的自動化遷移工作流程。

簡介

Crowi 遷移技能提供了一套結構化、由 AI 代理驅動的工作流程,旨在將舊版 Crowi 應用程式重構為現代化的技術堆疊。它專為管理從舊版 Express 與 Swig 模板架構過渡到包含 Next.js 16、Fastify v5 與 ts-rest 等高效能、型別安全堆疊的開發人員與維護者而設計。此技能利用模組化的子代理系統(包含規劃、實作、審查與提交代理),確保 Wiki 系統的每個組件都能在不破壞核心功能的情況下進行系統性的轉型。

  • 將舊版 Express 路由自動轉換為帶有嚴格 ts-rest API 契約的 Fastify 控制器。

  • 將 Swig HTML 模板系統化地轉換為具備 Next.js 16 App Directory 結構的模組化 React 19 組件。

  • 透過 .migration-state 檔案進行整合任務管理,追蹤 PLANNED、IN_PROGRESS、REVIEW、APPROVED 與 COMMITTED 等不同階段的進度。

  • 內建安全驗證鉤子,在重構過程中阻止危險的操作指令。

  • 支援 Turborepo 單體倉庫架構,利用 TypeScript 5.x 與共享套件確保型別安全性。

  • 適用於處理舊程式碼重構至現代架構的核心貢獻者與遷移工程師。

  • 輸入需求包含對舊版 lib/routes、lib/views 與 lib/models 目錄的存取權限。

  • 輸出內容為重構後的 TypeScript 程式碼檔案、更新後的 api-contract 定義,以及遵循定義遷移模式的 Pull Request。

  • 限制:遷移過程假設環境為 Node.js 22.x,並需嚴格遵守包含 ts-rest 介面在內的定義架構。

  • 操作建議:使用 /migrate task-name 指令啟動工作流程;在執行前請確認 .migration-state/queue.json 設定正確。

  • 非常適合將舊版 MongoDB/Mongoose 模型轉換並整合至新的 Fastify/ts-rest 後端,同時維持與現有資料層的相容性。

倉庫統計

Star 數
1,098
Fork 數
166
Open Issue 數
27
主要語言
JavaScript
預設分支
main
同步狀態
閒置
最近同步時間
2026年5月1日 上午09:52
在 GitHub 查看