# secret/ — 本機 / 現場敏感資料 這個資料夾集中放**不能進 git** 的東西:per-unit 的 COM port 與序號、prompt 覆寫、 (未來若 Diag image 加上登入的)帳密、客戶提供但未公開的附件。 > ℹ️ 本專案的 Diag OS **開機直接是 root、沒有登入互動**,所以目前 repo 內沒有任何帳密。 > `secret/` 先建起來,是為了 per-unit 覆寫與客戶未公開附件;等真的需要時 > 在 `config.ttl` 加一行 `include "config_secret.ttl"` 即可接上。 ## Committed vs Ignored `.gitignore` 規則是 `secret/*` 搭配 `!secret/README.md` / `!secret/*.example` / `!secret/.gitkeep`。 | 檔案 | 狀態 | 說明 | |------|------|------| | `README.md` | ✅ committed | 本說明 | | `config_secret.ttl.example` | ✅ committed | 現場參數範本,敏感欄位一律 `__CHANGE_ME__` | | `config_secret.ttl` | 🚫 ignored | **實際** per-unit 值 / 帳密 | | `*.local.*` | 🚫 ignored | 其他 per-unit 覆寫 | | `*.pem` / `*.key` / `*.env` | 🚫 ignored | 憑證、金鑰 | | 客戶未公開附件 | 🚫 ignored | diag 指令手冊草稿、schematic、內部 spec 等 | ## 第一次使用 ```bash cp secret/config_secret.ttl.example secret/config_secret.ttl # 編輯 secret/config_secret.ttl,把 __CHANGE_ME__ 換成實際值 ``` Tera Term 端把整包 `src/Script_ABC_Blanton_Diag/` 複製到工作目錄時,**一併把 `secret/config_secret.ttl` 放到 `src/Script_ABC_Blanton_Diag/` 同層**。 現場機器上的那份不要再複製回 repo。 ## 鐵則 - 🔒 **commit 前先 grep 一次**:`git grep -nE 'password|passwd|PaSsWoRd' -- . ':!secret'` 應該只找得到變數名與 placeholder,不該出現真值。 - 🔒 `.example` 檔內敏感欄位一律寫 `__CHANGE_ME__`,不留 `your_password` 這種半吊子 placeholder。 - 🔒 **本 repo 在 Gitea 上是 public**(依專案指示設定)。放進 `docs/` 或任何 committed 路徑的東西 一律當成「會被外人看到」處理;客戶未公開文件只能放 `secret/` 或 `For_AI/`。