填一份 project spec
描述專案名稱、repo slug(儲存庫代稱)、產品類型、隱私等級與文件深度。
{
"project_name": "Account App",
"project_slug": "account-app",
"module_pack": "android-app",
"privacy_level": "private",
"docs_depth": "standard"
}
`universal-architecture-modules` 是新產品、新功能、新 repo 的 scaffold source of truth(骨架真實來源)。 你提供 project spec(專案規格),它選擇 module pack(模組包),產生 README、docs、showcase、scripts、tests 與 private data boundary(私密資料邊界)。 目標 repo 後續累積的新架構做法,也會回流成這個 repo 的 template(模板)、pack(模組包)或 generator rule(產生器規則)。
描述專案名稱、repo slug(儲存庫代稱)、產品類型、隱私等級與文件深度。
{
"project_name": "Account App",
"project_slug": "account-app",
"module_pack": "android-app",
"privacy_level": "private",
"docs_depth": "standard"
}
先跑 dry-run(試跑)看會建立哪些檔案,再正式寫入目標 repo。
python scripts\scaffold.py `
--spec project-spec.json `
--target D:\Codex\account-app `
--dry-run
正式寫入時移除 --dry-run。
是 new repo(新儲存庫)、new product(新產品)、new feature(新功能),或 retrofit existing repo(補強既有儲存庫)。
依型態選 `python-cli`、`python-api`、`android-app`、`knowledge-base` 或 `governance-docs`。
把專案名稱、runtime(執行環境)、privacy level(隱私等級)與 docs depth(文件深度)寫成 JSON。
先列出將新增或提案的檔案;既有檔案不直接覆蓋,會輸出到 `_proposed/`。
確認後寫入目標 repo,跑 unit tests(單元測試)與 HTML preview(HTML 預覽)。
目標資料夾是空的時候,generator 會直接建立基礎目錄與 pack 專屬檔案。
目標 repo 已有 README 或 docs 時,generator 不會直接覆蓋;它會把建議版本放到 `_proposed/` 讓你 review(審查)。
Codex 透過 `$universal-project-scaffold` skill(技能)調用;OpenClaw 與 Claude 可讀取 `docs/AGENT_USAGE.md` 後使用同一份 repo source of truth。
Module pack(模組包)會再追加專屬檔案,例如 Android Gradle skeleton(Gradle 骨架)、Python `pyproject.toml`、API `Dockerfile`、knowledge base(知識庫)目錄或 governance docs(治理文件)。
這不是一次性的 template copy(模板複製)。每個目標 repo 在實作後會產生新的架構經驗, 例如更好的 docs 結構、測試入口、Android 分層、API runtime(執行環境)、HTML showcase 版型或 private data rule(私密資料規則)。 這些經驗經過 review(審查)後,回寫到 `universal-architecture-modules`,下一個 repo 就會直接受惠。
| 從其他 repo 學到什麼 | 回寫到 universal repo 哪裡 | 下一個 repo 如何受惠 |
|---|---|---|
| 新的文件章節或 README 入口 | templates/base/docs/、templates/base/README.md |
新 repo 建立時自動帶出一致文件結構。 |
| 更好的 HTML showcase 版型 | templates/base/docs/showcase/index.html、docs/HTML_SHOWCASE_SOP.md |
每個 repo 的靜態展示頁更容易說清楚產品、架構與驗證方式。 |
| 某類產品的專屬架構 | templates/packs/<pack-name>/ |
同類型 repo 不用重新定義資料夾、測試與文件基線。 |
| 新的安全或私密資料規則 | docs/PRIVATE_DATA_BOUNDARY.md、generator validation(產生器驗證) |
新 repo 預設避開真實私密資料與危險覆寫流程。 |
| 建立流程需要更多輸入欄位 | schemas/project-spec.schema.json、examples/project-spec.example.json |
agent 或使用者在 scaffold 前能提供更精準的規格。 |
判斷標準:只有「可跨 repo 重複使用」且「不含專案私密資料」的做法才回寫到 universal repo; 單一 repo 的產品細節留在該 repo 自己的 docs 或 showcase。
新產生或補強的 `docs/showcase/index.html` 不能只是一組簡單文字卡。它必須讓人類 reviewer(審查者) 在 60 秒內看懂 system architecture(系統架構)、user architecture(使用者架構)、 dynamic pipeline(水管線路圖)、verification(驗證方式)與 private data boundary(私密資料邊界)。
固定連到 README、Architecture、Private Boundary 與 Verification,讓 reviewer 不迷路。
首屏右側濃縮 module pack、runtime、privacy level 與驗證入口。
用四個短資訊塊說明 project purpose、system boundary、user workflow 與 private data safety。
預設採用可掃描的水管線路圖,而不是只有孤立節點的裝飾圖。
只有 3-4 個靜態節點、無責任邊界、無 code path(程式路徑)對應。
system(系統)、user(使用者)、pipeline(水管)、verification(驗證)、private boundary(私密邊界)。
不得呼叫 API(介面)、讀取 `.env`、掃描本機資料或使用 browser storage(瀏覽器儲存)。
若實作 repo 暴露新缺口,先更新 template(樣板)、SOP(標準作業程序)與 tests(測試)。
| Pack | 適合情境 | 會額外建立 |
|---|---|---|
python-cli |
Python command line tool(命令列工具)、pipeline(管線)、批次處理工具。 | pyproject.toml、src/、CLI test(命令列測試)。 |
python-api |
API service(服務介面)、FastAPI service(FastAPI 服務)、Docker-first runtime(Docker 優先執行環境)。 | app/main.py、Dockerfile、docker-compose.yml、docs/API.md。 |
android-app |
Android native app(原生 Android 應用)、行動端產品骨架。 | Gradle skeleton(Gradle 骨架)、app/src/main/、Android architecture docs(Android 架構文件)。 |
knowledge-base |
知識庫、研究資料、prompt/evidence(提示與證據)整理。 | START_HERE.md、notes/、evidence/、prompts/。 |
governance-docs |
治理文件、policy(政策)、procedure(程序)、decision log(決策紀錄)。 | GOVERNANCE_OVERVIEW.md、DECISIONS.md、POLICY.md。 |
Copy-Item examples\project-spec.example.json project-spec.json
python scripts\scaffold.py `
--spec project-spec.json `
--target ..\example-product `
--dry-run
python scripts\scaffold.py `
--spec project-spec.json `
--target ..\example-product
請使用 $universal-project-scaffold
幫我建立一個 android-app repo:
- project_name: Account App
- project_slug: account-app
- privacy_level: private
請先 dry-run,再列出會產生的檔案。
HTML showcase 是 static project showcase(靜態專案展示頁),不是 live dashboard(即時儀表板),不得連接真實私密資料。
既有檔案預設走 `_proposed/`,只有明確使用 force(強制)策略時才覆蓋。
模板、規則與設計 decision(決策)留在本 repo;實際 showcase 產物寫到目標 repo,避免互相污染。
延伸文件: docs/USAGE.md、 docs/AGENT_USAGE.md、 docs/PROJECT_STRUCTURE.md。