next-forge logo

next-forge

認領

next-forge 是適用於 Next.js 應用程式的 production-grade Turborepo 範本,為 SaaS 產品提供具結構的 monorepo 基礎,採用獨立應用與共享套件及具主張性的預設設定。

next-forge preview

概覽

next-forge 是適用於 Next.js 應用程式的 production-grade Turborepo 範本。它為新的 SaaS 專案提供 monorepo 起點,著重於在不犧牲結構化程式碼庫的前提下快速交付。

此範本以獨立應用程式與共享套件為核心設計,因此團隊可以讓產品表面彼此獨立,同時仍能重用共用程式碼。文件將其描述為一個全面、具主張性的基礎,具備最少的設定,並採用偏好在應用程式與套件之間建立清楚邊界的工作流程。

next-forge 包含哪些內容

具 Turborepo 的 monorepo 基礎

從 production-grade 的 Next.js monorepo 開始,而不是從頭自行拼湊路由、共享程式碼與工具鏈。

獨立應用程式

在單一儲存庫中執行多個自包含 app,並為每個 app 採用建議的子網域與獨立環境變數。

共享套件

將共享程式碼保留在資料庫層等套件中,集中管理 schema、migrations、middleware、hooks、components 與環境匯出。

Workspace 邊界檢查

使用 Turborepo 邊界來協助以 `bun run boundaries` 找出 workspace 違規。

預建應用範本

隨附 web、API、email、docs、studio 與 Storybook 的 app 範本,各自聚焦於產品堆疊中的不同部分。

具主張性的工具鏈

使用文件化的設定,其中包含 Next.js Server Actions、Prisma、Resend、Clerk、shadcn/ui、BaseHub、Storybook,以及其他已整合進範本的工具。

next-forge 的常見用途

  • 啟動新的 SaaS 專案

    當你想以現成的 web app、API、docs 與支援工具推出新的 SaaS 產品,而不是手動組裝每個部分時,可使用此範本。

  • 在單一 repo 中組織多個 app

    當多個產品或表面需要共享套件,但仍需作為獨立 app 部署時,可使用此 monorepo 版面配置。

  • 建置產品基礎設施

    當產品需要後端端點、交易型電子郵件範本與資料庫編輯器都在同一個程式碼庫中時,可搭配使用 API、email 與 studio apps。

  • 交付並維護產品介面

    當你需要公開網站、可維護的文件,以及供前端工作使用的獨立元件預覽時,可使用 docs、web 與 Storybook apps。

  • 維持大型 repo 的結構性

    當你想要一個有紀律的儲存庫結構,以降低跨 app 偶發耦合時,可使用邊界檢查與 app 專屬環境慣例。

Pros and Cons

Pros

  • 涵蓋廣泛的起始技術堆疊,包含 web、API、email、docs、studio 與 Storybook apps。
  • 採用支援跨 apps 與 packages 共用程式碼的 monorepo 結構。
  • 提供文件化的邊界與環境變數慣例,以利 app 分離。
  • 包含具體的專案工具選擇,而不只是空白骨架。

Cons

  • 文件強調具主張性的預設值,因此想要空白起始設定的團隊,可能需要替換或重做部分選項。
  • 來源資料未包含具方案細節的價格頁面,因此所提供的網站頁面中未明確說明可用性與商業條款。

FAQ

為什麼 next-forge 不使用 tRPC?

next-forge 使用 Next.js Server Actions 取代 tRPC,因為此專案偏好原生的 Next.js 作法,具有更緊密的框架整合與更少的複雜性。

為什麼會選這些工具作為預設?

預設工具是由專案作者根據在正式環境應用程式中的使用經驗所選擇。文件說明,隨著工具與偏好演進,這些預設值未來可能會變更。

為什麼會在 `html` 標籤上使用 `suppressHydrationWarning`?

文件指出,每個 `html` 標籤上的 `suppressHydrationWarning` 是依照 `next-themes` 的建議使用,以避免因在用戶端決定主題而產生與主題相關的 hydration 警告。

為什麼會有看起來未使用的相依套件?

FAQ 說明,某些相依套件會被保留,是為了避免 Turbopack 對於「已使用但未安裝在專案中」的套件發出警告,否則在正式環境中可能會失敗。

團隊可以擴充或調整範本結構嗎?

可以。結構文件指出,每個 app 與 package 都應保持自包含,且此儲存庫包含貢獻指南與說明頁面,協助依模板進行工作。

Quick Facts

類別
開發者工具
平台
Next.js monorepo 範本
Monorepo 管理器
Turborepo
價格
未在所提供頁面上公布價格細節
來源網域
next-forge.com
主要用途
以具結構的 Next.js 基礎啟動 SaaS 應用程式