AGENTS.md — 專案協作與工程化指引(v1.0 / 2026-03-28)
本文件為本庫的協作與工程化規範(適用於整個專案目錄)。目標:免費優先(Free-first)的 CI / Security / Review / 文件骨架,並避免動到既有業務邏輯。
原則
- 僅新增流程檔、文件檔與 PowerShell 腳本;不修改任何業務程式碼(除非另有明確要求)。
- 文件一律使用繁體中文;腳本使用 PowerShell(7+),CI 使用 GitHub Actions。
- 不要放入真實 Secrets;如需使用,請以
${{ secrets.MY_SECRET }}之類 placeholder 表示,並於 Repo 設定中配置。 - 變更應最小、可回滾、可追溯;避免引入與需求無關的檔案。
- 若同目錄或子目錄存在更特定的
AGENTS.md,以「更近層級」的規範優先。
重要檔案
.github/workflows/ci.yml:通用 CI(Ubuntu Runner + PowerShell),呼叫scripts/lint.ps1/scripts/test.ps1。.github/workflows/security.yml:免費安全檢查(Semgrep、Gitleaks、Trivy FS),上傳 SARIF。.github/dependabot.yml:每週依賴更新(含 github-actions 與常見生態系)。.github/pull_request_template.md:PR 模板與自我檢查清單。code_review.md:程式碼審查清單與建議。docs/engineering-workflow.md:工程作業流程(分支、PR、CI、安全、依賴更新)。scripts/lint.ps1:跨語言的 Lint 腳本(盡量使用免費工具;若工具不存在則跳過或以輕量規則檢查)。scripts/test.ps1:跨語言的 Test 腳本(偵測可用測試框架;無測試則跳過並成功結束)。
本地常用指令
- 執行 Lint:
pwsh -File scripts/lint.ps1 - 執行 Test:
pwsh -File scripts/test.ps1
分支與提交
- 建議分支命名:
feature/*、fix/*、chore/*、docs/*。 - 提交訊息建議遵循 Conventional Commits(例:
feat: 新增設定檔、fix: 修正 CI 條件)。
禁止事項
- 提交任何敏感資訊(金鑰、密碼、私鑰、存取權杖等)。
- 在版本控制中新增編譯產物或大型二進位檔(除非經明確同意)。
文件維護者:工程化維運。更新日期:2026-03-28。