# CLAUDE.md

Claude Code project memory. 本檔以 `@import` 把專案規範帶入 context；所有規則的單一真實來源（SSOT）在 [docs/AGENTS.md](docs/AGENTS.md)。

## 核心規範（必讀）

@docs/AGENTS.md
@docs/model.md

## 專案總覽

@README.md

## 子系統設計

@docs/identity-member-design.md
@docs/auth-unified-registration.md

## 子目錄 README（按需查閱，未 @import；需要時用 Read 工具開啟）

- [`generate/api/README.md`](generate/api/README.md) — `.api` 寫法、middleware 宣告、`@respdoc`
- [`generate/doc-generate/README.md`](generate/doc-generate/README.md) — go-doc tag / `@respdoc` 參考
- [`internal/library/errors/README.md`](internal/library/errors/README.md) — 8 碼錯誤碼設計
- [`internal/library/mongo/README.md`](internal/library/mongo/README.md) — Mongo + Redis cache 流程
- [`internal/library/redis/README.md`](internal/library/redis/README.md) — Redis client 共用
- [`internal/library/validate/custom/README.md`](internal/library/validate/custom/README.md) — 自訂 validator tag
- [`internal/response/README.md`](internal/response/README.md) — Handler / Logic 分工
- [`internal/model/auth/README.md`](internal/model/auth/README.md)
- [`internal/model/member/README.md`](internal/model/member/README.md)
- [`internal/model/permission/README.md`](internal/model/permission/README.md)
- [`internal/model/notification/README.md`](internal/model/notification/README.md)
- [`deploy/README.md`](deploy/README.md) — Docker compose / 部署
- [`etc/README.md`](etc/README.md) — 設定檔說明

## 工作原則摘要

- **回應一律繁體中文。**
- 改動 Go 程式碼後執行 `make check`（= `make fix` + `make test`）才算完成。
- 不主動建立 `*.md` 文件，除非使用者明確要求。
- 不主動 commit；commit 前先 `git status` / `git diff` 確認；commit message 描述「為什麼」。
- `rm -rf` / 強制 push / 改 git config 等破壞性操作前必須先取得使用者同意。
- 程式碼註解只寫「為什麼」與邊界條件，不寫「import the module」這種顯而易見的描述。
