Astrale 領域
根據目標載入對應參考文件中的詳細領域知識。
核心邊界
- 使用 Schema、可執行證據以及 SDK 的領域 linter 作為護欄。
- 領域原始碼僅能透過對應語義的
@astrale-os/sdk/*子路徑匯入 Core 與 DSL 授權值。不得直接匯入@astrale-os/kernel-core或@astrale-os/kernel-dsl,也不得以扁平化的 SDK 根目錄 barrel 取代它們。 - 將授權保留在 Schema 擁有的 Policy 與可呼叫的
auth模式中;處理器僅執行被允許的呼叫,不得定義第二套授權模型。 - 謹慎選擇每個存在性 Policy Node 的範圍:
node()用於拓撲擁有的比對、node(Class)用於多型的 Class 家族,或node.exact(Class)用於精確身份比對。 - 以已安裝 SDK 的公開匯出項目與當前領域原始碼作為 API 語法的權威依據。
意圖路由器
使用此路由器僅載入當前任務所需的參考文件。對於新建領域,也請遵循下方的階段性工作流程;既有的公開 scaffold 已滿足其基礎階段。
- 建立、部署、安裝、測試或設定領域的 TypeScript:請閱讀
references/development.md。 - 撰寫 schema、詞彙、屬性、Class/Edge 選擇或審查 schema:請先閱讀
references/schema.md。進行 schema 工作時務必閱讀。 - 實作處理器、可呼叫繫結、核心呼叫、圖形讀取/寫入或跨領域呼叫:請閱讀
references/runtime.md。 - 包裝外部 API、定義 Integration/Provider、接收 webhook 或設計副作用/重試行為:請閱讀
references/integrations.md。 - 決定是否重複使用/匯入原生 Astrale 領域,而非自行建模功能:請閱讀
references/domains.md。 - 建模登入使用者、邀請/註冊現有人員或指派 Shell 群組:請閱讀
references/users.md。 - 保護領域、Function、View、客戶端呼叫、公開端點、身份、委派、驗證模式或 Policy:請閱讀
references/policies.md。 - 建置或審查瀏覽器 view、掛載的 UI、View 存取、View 解析或前端設計:請閱讀
references/views.md,並套用astrale-frontend-design以處理產品介面佈局、互動與文案。 - 規劃或驗證已安裝 Schema 的修訂版、資料轉換或回溯補資料:請閱讀
references/migration.md。 - 最佳化圖形存取、減少往返次數、選擇索引/查詢或審查延遲相關的呼叫模式:請閱讀
references/performance.md。 - 撰寫或更新示範資料——即
tests/下的 Dataset,供 Studio 繪製圖形並驗證 Policy:請閱讀references/datasets.md。 - 編寫測試、fixture、示範流程或冒煙測試情境:請閱讀
references/testing.md。 - 診斷線上領域失敗、發行者/探索混淆、請求路由錯誤或執行環境偏差:請閱讀
references/debugging.md。
新建領域工作流程
對於建立、建構、原型製作或製作領域 POC 的請求,請依序遵循下列階段,並僅在該階段開始時載入對應參考文件。
- 基礎架構: 先檢查工作區。若無公開 scaffold,請閱讀
references/development.md;僅在決定是否重複使用原生領域時才閱讀references/domains.md。若工作區已宣告 SDK、部署配接器、Application 與 Runtime,請保留該基礎結構,直接進入 Schema 階段。 - Schema: 在撰寫 schema 之前,請閱讀
references/schema.md;對於登入使用者與群組,請在發明身份或入職詞彙前也閱讀references/users.md。 - Callables: 在實作 callables 之前,請閱讀
references/runtime.md與references/policies.md。若涉及外部系統,也請閱讀references/integrations.md。 - View: 當領域擁有瀏覽器表面時,請在設計或實作前閱讀
references/views.md。View 是 Schema 宣告,而非 SDK Domain 定義中的欄位。 - 示範資料: 對於具有有意義範例圖形的領域,請在
tests/下建立小型 Dataset,並在astrale.config.ts中參照。請先閱讀references/datasets.md;不要為僅 API 的領域發明圖形資料,也不要將專注的編輯擴展到不相關的示範工作。 - 完成: 閱讀
references/testing.md;以代表性的成功案例與適用的拒絕輸入測試已交付的公開 callables,然後執行相關測試、型別檢查、lint 與建置。當交付可消耗套件時驗證打包,當聲稱部署或整合成功時驗證實際行為。
僅在領域生命週期或當前問題需要時,才閱讀 references/migration.md、references/performance.md 與 references/debugging.md。
常駐工作流程
- 在依賴記憶中的 API 語法之前,先檢查當前 repo 或 scaffold。
- 對於實際行為,使用
references/debugging.md,並在認定原始碼編輯有效之前,先驗證已部署/已安裝/執行環境的路徑。 - 當 Schema 變更影響現有 Dataset 時,請在同一個變更中保持其有效且具代表性。閱讀
references/datasets.md;範例用於補充測試,而非窮舉所有情況。