Communitygithub.com

hesprs/synthkernel

🧩 一個型別安全且可組合的架構,用於在 TypeScript 中開發模組化單體。

synthkernel 是什麼?

SynthKernel 是一個 TypeScript 軟體架構,旨在幫助開發者編寫高效、整潔且模組化的程式碼。其核心由一個模組載入器類別與多個模組類別組成:載入器負責管理模組生命週期與類型協調,並作為應用邏輯的統一介面;模組則繼承自 `BaseModule` 類別,定義 API、執行實際邏輯,並透過依賴注入相互連接。類型解析透過泛型協調完成,模組被組合成載入器以形成應用程式,而載入器本身也可以作為上層載入器的模組。此架構適用於後端服務、複雜自動化、CLI 應用程式及 Canvas 渲染引擎等多種場景。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add hesprs/synthkernel

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

關於 SynthKernel

SynthKernel 是一個 TypeScript 軟體架構,可幫助您編寫高效、整潔且模組化的程式碼。

SynthKernel 的典型實踐包括一個模組載入器類別和多個模組類別:

  • 模組載入器類別管理模組生命週期、協調類型,並作為應用邏輯外層的 Facade。
  • 所有模組類別都繼承自 BaseModule 類別,它們定義 API、執行實際邏輯、擴充載入器類別,並透過依賴注入相互連接。
  • 類型透過泛型協調解析。
  • 模組組合成載入器以形成應用程式。一個模組載入器也可以是上層載入器的一個模組。
  • 此架構適用於幾乎所有使用案例,包括但不限於後端服務、複雜自動化、CLI 應用程式和 Canvas 渲染引擎。

檔案系統慣例

SynthKernel 應以樹狀結構組織。

一個載入器連同基礎模組及其所有直屬模組,應平鋪放置在一個資料夾中:

  • 容納載入器的檔案應命名為 index.ts
  • 基礎模組命名為 BaseModule.ts
  • 類型命名為 types.ts
  • 所有模組命名為 (PascalCase 模組名稱).ts
  • 其他檔案名稱沒有限制

標準做法是將過於龐大的模組轉換為新的載入器-模組結構,然後將該模組直接轉換為符合上述要求的資料夾。

何時使用

  • 在開發初期,您對邏輯已有概念但尚未編寫任何程式碼時。
  • 您沒有明確的架構慣例時。
  • 在重構期間,當您打算拆分大型模組或使專案模組化時。
  • 當您正在新增功能並考慮建立新模組,且想了解 SynthKernel 時。

何時不使用

  • 您不應該建立或更改架構。
  • 您正在開發具有自身慣例的 Web UI。
  • 您正在處理簡單專案(LOC < 200),此時傳統單體架構更為方便。

動作

  • 如果您要從頭開始實作 SynthKernel 或重構現有程式碼以採用 SynthKernel,請前往 start。
  • 如果您要新增模組或拆分模組,請前往 maintenance。
  • 您可以在 ./example 中找到標準實踐範例。

相關技能