Skip to content

功能總覽

這是 blueprint 的全部功能及相關簡易說明,點擊功能名稱就能看到對應的使用方式。

指令 —— 你所執行的

功能說明
init —— 全新專案建置單一指令完成設計理念的護欄導入:分層資料夾、config、lint、手冊、AI Agent 守則、CI 與匯入別名
init —— 既有專案編寫流程對有程式碼但沒有 config 的專案,不硬猜預設藍圖,改為產出一份可執行的編寫作業手冊
init --agent claude|codex啟動你自己的 Agent CLI 執行該作業手冊 —— 由證據推導 config,反覆檢核到每項違規都能解釋為止
survey決定性的專案蒐證:資料夾形狀、匯入矩陣、套件使用集中度 —— 編寫 config 的原料
inspect掃描 src/ 並對照 blueprint config 列出所有違規;只要有 error 等級的違規就以 exit code 1 結束,可直接作為 CI 關卡
inspect --baseline既有專案的 baseline 棘輪:先把今日的債務記錄下來,之後只攔「新增」的違規,隨著債務清償逐步收緊
impact用專案自己的 ESLint 對 emitted rules 做 dry-run:每條 rule 中幾發、最重的檔案是誰 —— 接線前就用數字決定 rule 衝突
deps逐模組的影響範圍 —— 改動它會波及誰,以及全模組的被引用數排行
doctor導入做完了沒?唯讀 checklist —— config、無殘留 reference、eslint 接上、alias 接上、emitted rules 在合併後的 config 裡活著、架構乾淨(附 coverage)、suppressions 帳本沒過期
完整命令列旗標各指令的旗標總表,含 init --preset--dry-run

產出物 —— 一份 config 編譯出的成果

功能說明
eslint.config.mjsemitLint 將分層流向、套件所有權與模組邊界轉譯為 lint config —— plugin 內建,不用額外安裝
docs/architecture-handbook.mdemitHandbook 由與規則相同的來源產出架構手冊(mermaid 圖、分層表、作業守則)—— 兩者不會脫節
CLAUDE.md / AGENTS.md / …emitAgentFiles 將同一份 AI Agent 守則發佈至 Claude、AGENTS.md、Gemini、Copilot、Cursor 與 Windsurf —— 標記區塊外的手寫內容一律保留
blueprint-ci.ymlemitCi 產出 GitHub Actions workflow:從第一個 commit 起執行 lint 與唯讀架構報告

Blueprint config —— 你所宣告的

功能說明
defineBlueprint唯一真實來源 —— 定義時每次載入時都會驗證,結構性錯誤以精確訊息即時回報
分層與單向流有序分層,每層僅可向下匯入;allowedImporters 收窄可匯入者,selfOnly 禁止再匯出
所有權 —— owns分層專屬持有套件、具名匯入或全域物件 —— 其餘分層一律禁止使用
模組形狀folder 為一功能一資料夾、以公開入口對外;flat 為整層單一節點(如 Next 路由樹)—— 可逐層覆寫
blueprint.rules帶等級的規則識別碼:機器查得動的轉譯成 lint 關卡,其餘寫進手冊與 Agent 守則作為判斷準則
其餘 config 欄位sourceRootadditionalAliasesnaminglintOverridesemit.* —— 每項一句話,完整型別見 API 文件
預設藍圖vuePreset / reactPreset 完整編碼治理手冊;nextPreset 相容 App 與 Pages 路由、有無 src/ 皆可

檢測 —— 會被攔下的

功能說明
inspect 的九種檢測未宣告資料夾、流向違規、深入匯入、所有權、相對路徑逃逸、selfOnly 再匯出、循環、缺入口、缺分層資料夾
六條內嵌 ESLint 規則relative-escapeno-deep-watchuse-prefix(含 reactive 檢核)、test-filename-matches-sourceno-typedef-only-file
三級落點機器查得動的轉譯成 lint 規則;需要判斷的轉譯成 Agent 守則 —— lint 全綠永遠不等於架構正確

信任與相容性

功能說明
安全與信任無網路存取、零執行期依賴、唯讀檢測、寫入行為都事先宣告、--dry-run、出處簽章發佈
實測相容性實際驗證過的環境 —— 正式產品專案、五種技術組合、monorepo 模式 —— 以及不支援的項目(Nuxt)與原因
相近工具 —— 差異在哪blueprint 跟 import-boundary linter 重疊在哪 —— 以及只有它能從同一份來源轉譯出的東西
程式化 API所有生成器與執行器都可以直接 import —— 在自己的 ESLint config 用 emitLint,在自己的工具鏈用 runInspect / runDeps