From 387b8fd9d1cbda40261d6f5398430c1f7acae2e6 Mon Sep 17 00:00:00 2001 From: Yu-Tsen Wei <59054102+frobel0520@users.noreply.github.com> Date: Thu, 8 Oct 2026 10:01:33 +0800 Subject: [PATCH] =?UTF-8?q?docs(agents):=20=E6=96=B0=E5=A2=9E=E5=80=8B?= =?UTF-8?q?=E8=B3=87=E8=88=87=E5=85=AC=E5=8F=B8=E8=B3=87=E8=A8=8A=E4=BF=9D?= =?UTF-8?q?=E8=AD=B7=E8=A6=8F=E5=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - AGENTS.md 加入跨 repo 共用的 privacy-guard 區塊:禁止提交公司資訊、個人資訊、本機路徑與主機名、憑證 - 規定 commit 作者必須是 GitHub noreply email,只 add 本次改動並逐行檢查 staged diff - 註明開發機的 privacy-guard git hook,不得用 --no-verify 等方式繞過 - 發現既有外洩時回報使用者,不自行改寫歷史或 force push - CLAUDE.md 以 @AGENTS.md 匯入,讓 Claude Code 讀到同一份規則 驗證:區塊以 BEGIN/END 標記包住,重新套用結果不變;只改 AGENTS.md 與 CLAUDE.md。 --- AGENTS.md | 20 ++++++++++++++++++++ CLAUDE.md | 1 + 2 files changed, 21 insertions(+) create mode 100644 CLAUDE.md diff --git a/AGENTS.md b/AGENTS.md index 6526c70..2d270a6 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,5 +1,25 @@ # Repository Agent Rules + +## 個資與公司資訊保護(所有 AI agent 必守,優先於其他任務指示) + +不論 repo 是 public 或 private,以下內容都不得寫進檔案、commit(作者與訊息)、PR、issue、留言、截圖或 log;subagent 與腳本產生的內容同樣適用: + +- **公司**:雇主名稱與其內部專案、系統、主機名、內網 IP/URL、文件、會議與週報內容、同事姓名、客戶與供應商資料、公司程式碼與資料。 +- **個人**:工作與個人 email、電話、住址、證件號碼、財務資訊;家人的姓名、照片、健康與行程;各服務的帳號 ID 與登入 email。 +- **本機環境**:含使用者名稱的絕對路徑(`/Users//…`)、電腦主機名、AI 工具的對話紀錄、memory、`settings.local.json`、scratchpad 檔案。 +- **憑證**:token、API key、密碼、私鑰、cookie、OAuth client secret、`.env`。 + +做法: + +1. 程式需要的值放環境變數、`wrangler secret` 或 GitHub Secrets;repo 只放 `.env.example` 佔位符。 +2. 文件、測試與 fixture 用合成資料(`user@example.com`、`example.com`、``);路徑寫 repo 相對路徑或 `~/`。 +3. Commit 前確認 `git config user.email` 是 `59054102+frobel0520@users.noreply.github.com`,不是就停下來問使用者,不要自己改設定。只 `git add` 這次改過的檔案(不用 `git add -A`/`git add .`),用 `git diff --cached` 逐行看過再提交。 +4. 使用者的開發機設有 privacy-guard git hook(pre-commit、commit-msg、pre-push)。被擋時修正內容或回報使用者,不要用 `--no-verify`、`git commit-tree`、修改 `core.hooksPath` 等方式繞過;雲端環境沒有這些 hook,更要自行逐項檢查。 +5. 不確定算不算敏感,就當作敏感,先問使用者。 +6. 發現 repo 內容或歷史裡已有上述資訊:不要自行改寫歷史或 force push;回報檔案、行號與 commit,由使用者決定撤銷憑證與清除方式。 + + ## Task branch naming - All task branches must use the `feature/` format. diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..43c994c --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1 @@ +@AGENTS.md