dramaling-app/sop/docs/CLAUDE.md

439 lines
15 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Claude 工作指南 (Claude Working Guidelines)
## 🤖 Claude 協作標準操作程序
本文件為 Claude AI 助手在 Drama Ling 專案中的標準操作程序和協作指南。
## 🛠️ 系統工具使用
### 專案執行管理
```bash
./dl project list # 列出所有專案
./dl phase status # 查看階段狀態
./dl status # 查看執行狀態
```
### 問題管理
```bash
./dl issue # 互動式問題管理
# ❌ 禁止行為:直接編輯問題管理檔案
# 除非是修正現有問題的格式錯誤
```
### 報告建立
```bash
./dl report analysis "分析主題"
./dl report decision "決策主題"
# ❌ 禁止行為:手動創建報告檔案
```
### 檢查作業
```bash
./dl check
./sop/scripts/maintenance_manager.sh
./sop/scripts/sop_consistency_check.sh # SOP一致性檢查 (自動生成報告)
```
## 🎯 核心工作原則
### 1. 三層架構任務管理
#### 架構設計
- **TASKS.md**: 簡潔任務列表80%日常工作在此進行
- **projects/[專案名].md**: 詳細專案規格和技術文檔
- **projects/templates/**: 純模板參考,不追蹤狀態
#### 任務記錄標準格式
```markdown
- [ ] 🎯 **任務名稱** - 簡短描述 (預估時間)
- 📄 參考: [專案詳細文檔](projects/project-name.md)
```
#### 工作流程
1. **討論階段**: 與Claude自由討論需求
2. **記錄階段**: Claude記錄簡潔任務到TASKS.md + 創建詳細專案文檔
3. **執行階段**: 查看TASKS.md選擇批量執行
4. **完成階段**: 只在TASKS.md標記完成✅
#### 管理原則
- **優先級驅動**: 🔥緊急→⚠️重要→📝一般→💡想法
- **類型化管理**: FE/BE/AI/MB/DOC/ENV/TEST標記
- **單一更新點**: 狀態只在TASKS.md更新
- **參考連結**: 任務連結到對應專案詳細文檔
- **階段化執行**: 大型項目拆分為可管理的階段
- **進度追蹤**: 即時更新任務狀態 (⏳ → 🔄 → ✅)
- **依賴管理**: 自動檢查前置條件
### 2. 文件版本管理 SOP
#### 強制性歸檔原則
**重要**: Claude 在更新重要文件時,**必須**先歸檔舊版本,避免資料污染
#### 適用情況
- 重構現有系統文件時 (如TASKS.md)
- 替換重要配置文件時
- 大幅修改核心文檔時
- 產生備份版本的文件時 (如*_OLD.md, *_NEW.md)
#### 執行步驟
```bash
./sop/scripts/archive_file.sh 文件路徑 "歸檔原因"
# 範例
./sop/scripts/archive_file.sh TASK_MANAGEMENT_OLD.md "任務管理系統重構"
```
#### 歸檔機制
- **目標目錄**: `sop/archive/` (扁平化結構)
- **文件命名**: `YYYYMMDDHHMMSS_原文件名`
- **日誌記錄**: `sop/archive/logs/file_migration.log`
- **自動化**: 完整時間戳記、操作者記錄、原因說明
#### 禁止行為
- **絕對禁止**將舊版本文件留在根目錄或主要工作目錄
- 不可手動移動文件 (必須使用腳本確保日誌記錄)
- 不可跳過歸檔步驟直接刪除文件
#### 檢查指令
```bash
./sop/scripts/view_archives.sh # 查看歸檔狀態
cat sop/archive/logs/file_migration.log # 查看日誌
```
### 3. 任務完成清理 SOP
#### 強制性完成後清理原則
**重要**: Claude 完成任務後,**必須**執行完整清理流程,保持任務列表整潔
#### 執行步驟
```bash
# 1. 標記任務完成
- [x] 📚 **任務名稱** - 任務描述 ✅ (完成日期)
# 2. 移動到已完成區域 - 從當前任務區塊完全移除
# 3. 更新專案文檔狀態為"✅ 已完成 (完成日期)"
# 4. 歸檔專案文檔
./sop/scripts/archive_file.sh projects/專案文檔.md "專案完成,文檔歸檔"
# 5. 更新任務文檔中的連結為歸檔路徑
```
#### 清理機制
- **移除規則**: 已完成任務從待辦區域**完全移除**
- **記錄位置**: 移至對應日期的已完成任務區域
- **詳細保留**: 移動時必須保留專案文檔連結和解決細節
- **狀態同步**: 專案文檔狀態必須同步更新為已完成
- **文檔歸檔**: 完成的專案文檔必須歸檔到archive目錄
- **連結更新**: 任務中的專案文檔連結必須更新為歸檔路徑
#### 禁止行為
- **絕對禁止**只標記[x]而不移動到已完成區域
- 不可在待辦任務區域留下已完成的項目
- 不可忘記更新對應的專案文檔狀態
- 不可省略完成總結的撰寫
### 4. 協作提醒原則
用戶可使用以下提醒語句確保問題被記錄:
**標準提醒語句**:
- "如果你在過程中發現任何規格不確定、衝突、技術問題或需要決策的地方,請記錄到任務管理系統。"
- "遇到問題就記錄到任務系統"
- "這些任務我已經記錄到系統中,你可以選定時間批量執行"
### 5. 日期和文檔管理原則
- **系統工具會自動處理日期** - 當前日期以系統時間為準
- **任何手動設定日期都必須使用正確的當前日期**
- **主要記錄**: 所有任務和問題記錄到 TASKS.md
- **分析報告**: 所有分析必須產生正式報告 (使用 `./dl report`)
- **歷史參考**: 歸檔的問題記錄作為歷史參考和流程說明
- **系統整合**: 報告必須與統一任務管理系統整合
- **文檔更新時間戳記**: 任何文檔更新都必須加入時間戳記格式 `(YYYY-MM-DD)`
## 📋 Claude 應該記錄的問題類型
### 🔥 緊急問題
- 架構設計衝突、無法實作的需求、安全性問題、資料不一致
### ⚠️ 重要問題
- 規格定義模糊、API 設計不確定、UI/UX 流程不清楚、技術選型疑慮
### 📝 一般問題
- 文檔格式不統一、命名規範不一致、小的技術改進建議、程式碼品質提升
## 📋 標準工作流程
### 專案任務執行流程
1. 用戶提供任務名稱
2. Claude 識別任務類型、階段、專案歸屬
3. 執行相關工作
4. 自動更新 TASKS.md 狀態 (⏳ → 🔄 → ✅)
5. 記錄執行結果和發現的問題
### 分析任務流程
1. **建立分析報告**: `./dl report analysis "主題"`
2. **執行分析工作**: 使用適當工具進行分析
3. **更新報告內容**: 編輯生成的報告檔案
4. **整合問題系統**: 確認相關問題已正確連結
### 問題處理流程
1. **記錄問題**: `./dl issue`
2. **分配優先級**: 🔥緊急 / ⚠️重要 / 📝一般
3. **建立相關報告**: 如有需要,建立分析或決策報告
4. **追蹤解決進展**: 定期更新問題狀態
### 檢查作業流程
1. **執行系統檢查**: `./dl check`
2. **運行一致性檢查**: `./sop/scripts/maintenance_manager.sh consistency`
3. **SOP工具一致性檢查**: `./sop/scripts/sop_consistency_check.sh` (自動生成檢查log到 sop/reports/logs/)
4. **記錄發現問題**: 使用問題管理系統
5. **產生檢查報告**: 必要時建立分析報告
## ⚠️ 常見錯誤和避免方法
### 錯誤1: 手動創建報告
**解決**: 必須使用 `./dl report` 命令
### 錯誤2: 忽略現有工具
**解決**: 先檢查 `sop/tools/` 目錄下的現有工具
### 錯誤3: 未整合任務管理系統
**解決**: 每次發現問題都必須記錄到 TASKS.md
### 錯誤4: 日期不一致
**解決**: 依賴系統工具的自動日期處理
### 錯誤5: 文檔更新缺少時間戳記
**解決**: 任何文檔更新都必須加入時間戳記
### 錯誤6: 檔案組織混亂
**解決**: 遵循專案檔案組織結構,使用適當的子目錄
## 📁 檔案組織原則
### 目錄結構規範
```
sop/
├── tools/environment/ # 開發環境設定工具
├── scripts/ # 專案維護腳本
├── archive/ # 歸檔目錄
└── docs/ # SOP 文檔
docs/04_technical/environment/ # 環境設定指南
```
### 檔案放置原則
- **設定工具**: `sop/tools/environment/[環境名]/`
- **設定指南**: `docs/04_technical/environment/`
- **維護腳本**: `sop/scripts/`
- **歷史檔案**: `sop/archive/` (扁平化)
- **禁止行為**: 直接在根目錄創建輔助檔案
## 🔍 品質檢查清單
### 每次操作前必檢
- [ ] 是否需要記錄新問題?如是,**必須使用** `./dl issue`
- [ ] 完成的問題**必須移動到「📚 已完成歷史」對應日期區域**
- [ ] 是否需要建立報告?如是,**必須使用** `./dl report analysis "主題"`
- [ ] 檔案編碼是否設定為 UTF-8
- [ ] 中文內容是否正確顯示?
- [ ] **文檔更新是否需要加入時間戳記?**
### 文檔更新時間戳記要求
- 格式:`(當前日期)` 或 `✅ (當前日期)`
- 位置:緊接在更新內容後面
- 檢查清單項目:`- [x] 項目名稱 ✅ (當前日期)`
- 進度狀態更新:`**狀態**: 已完成 (當前日期)`
### 每次任務完成後檢查
- [ ] 是否使用了正確的系統工具?
- [ ] 任務狀態是否已更新為完成 ✅
- [ ] 發現的問題是否已記錄?
- [ ] 報告是否已正確整合到問題系統?
- [ ] **完成的項目是否已正確移動到歷史區域?**
- [ ] **所有文檔更新是否都加入了時間戳記?**
## 🚨 緊急情況處理
### 工具故障時
1. 記錄工具故障情況到統一任務管理系統
2. 使用手動方式完成緊急任務
3. 修正工具後重新使用標準流程
4. 檢查並修正手動操作造成的不一致
### 系統不一致時
1. 立即停止當前工作
2. 運行 `./sop/scripts/maintenance_manager.sh consistency`
3. 記錄發現的不一致問題
4. 修正問題後繼續工作
## 🔔 協作通知規範
### 任務完成通知
- 完成任何工作後:**必須語音提醒** `say "I'm done"`
### 求助通知
- 無法自動繼續工作時:**必須語音提醒** `say "help"`
#### 強制觸發情況
1. **系統確認對話** - `Do you want to proceed?` / 文件覆寫 / Git操作確認
2. **主動詢問執行** - 包含「要我...嗎?」「需要我...嗎?」的疑問句
3. **技術阻擋/決策** - 命令失敗/多選項/衝突需裁決/無法繼續
**判斷標準**:主動詢問執行操作 = 先 `say "help"`
## 🎯 協作流程範例
### 範例1專案任務執行
```
用戶: "請執行 Flutter移動端配置調整"
Claude: 識別為 MB 類型任務,更新狀態為進行中...
[執行配置調整]
✅ 任務完成,狀態已更新
```
### 範例2統一任務管理
```
用戶: "我想加入社交功能讓用戶互相挑戰,遇到問題就記錄"
Claude: [討論功能細節]
我已經將任務記錄到統一任務管理系統:
- 🎨 FE 社交挑戰UI設計 (預估4-6小時)
- ⚙️ BE 挑戰系統API開發 (預估8-12小時)
- 📚 DOC 社交功能規格文檔 (預估2-3小時)
你可以在 TASKS.md 查看詳細內容並安排執行時間
```
### 範例3問題發現和記錄
```
用戶: "檢查API文檔一致性"
Claude: 我發現用戶管理API和認證API的錯誤碼定義衝突...
已將此問題記錄到任務管理系統:
- ⚠️ BE API錯誤碼定義衝突 - 需要統一標準 ⏳
這是重要任務,建議本週內處理
```
## 💡 讓協作更順暢的技巧
### 任務開始時說明
"我希望你把發現的所有問題都記錄下來,這樣我們就不會遺漏任何需要解決的事項。"
### 定期檢查
每週問 Claude"最近有沒有發現什麼新的問題需要記錄?"
### 任務總結
"總結一下這次任務中發現的問題,並確保都記錄了。"
## 🔄 持續改善
### 發現新問題時
1. 立即記錄到 TASKS.md (主要)
2. 如需歷史追蹤,記錄到歸檔系統
3. 評估是否需要新工具或流程
4. 更新本指南文檔
5. 通知相關團隊成員
### 工具優化時
1. 測試新工具的正確性
2. 更新操作流程
3. 修訂本指南文檔
4. 確保向下相容性
## 📋 開發計劃生成標準流程
### 強制約束指令格式
**重要**: AI生成任何開發計劃時**必須**使用以下標準指令格式確保完全遵循既有docs規範
```
請生成[功能名稱]開發計劃,**必須嚴格遵循以下約束**
1. **視覺設計基準**: /docs/02_design/html-prototypes/[相關頁面]
2. **技術架構遵循**: /docs/04_technical/03_frontend/vue-frontend-architecture.md
3. **功能規格對應**: /docs/02_design/function-specs/web/[功能規格].md
4. **開發標準執行**: /docs/04_technical/03_frontend/vue-development-standards.md
**要求**:
- 每章節開始前明確引用對應docs文件
- 不得添加docs規格外的功能
- 技術選型必須與既定規範一致
- 在結論說明如何確保不偏離規格
```
### 三階段驗證流程
#### 階段1規範掃描
- 讀取所有相關 docs/ 文件
- 列出必須遵循的約束清單
- 識別可能的衝突點
#### 階段2計劃生成
- 基於約束清單生成計劃
- 每個決策點引用docs依據
- 標註與原型的對應關係
#### 階段3符合性檢查
- 檢查每個章節是否符合docs規範
- 驗證技術選型一致性
- 確認視覺設計對齊度
### 開發計劃生成檢查清單
#### 生成前檢查
- [ ] 已讀取所有相關 docs/ 文件
- [ ] 已識別對應的 html-prototypes
- [ ] 已確認 function-specs 範圍
- [ ] 已檢查 technical docs 約束
#### 生成後驗證
- [ ] 視覺設計完全基於html-prototypes
- [ ] 技術選型符合vue-frontend-architecture
- [ ] 功能範圍限於function-specs定義
- [ ] 開發標準遵循vue-development-standards
- [ ] 每章節都有明確的docs引用
### 禁止行為
- **絕對禁止**生成未基於docs規範的開發計劃
- 不可忽略現有的html-prototypes視覺設計
- 不可添加function-specs範圍外的功能
- 不可使用與技術架構文檔衝突的選型
## 🤝 推薦指令格式
```
[任務描述] + 請遵循SOP + [具體SOP要點提醒]
```
### 範例指令
```
請分析UI設計問題遵循SOP記得使用./dl report analysis建立報告
執行 Android Studio 安裝和配置,遇到問題就記錄
請生成詞彙學習開發計劃必須嚴格遵循docs約束基於html-prototypes視覺設計
```
## 📚 相關文檔
- [統一任務管理](../TASKS.md) - 主要工作管理系統
- [問題追蹤歷史](../archive/) - 歷史問題記錄參考
- [工具使用說明](../tools/) - 開發和維護工具
- [檢查腳本](../scripts/) - 系統維護和檔案管理腳本
## 🎉 效益
**不會遺漏問題** - 所有發現的問題都被記錄
**追蹤更完整** - 包含 AI 協助時發現的問題
**決策有依據** - 問題記錄成為決策參考
**開發更順暢** - 提前發現潛在問題
**專案管理清晰** - 階段化執行,進度透明
---
**重要提醒**: 本指南是 Claude AI 助手的強制性操作標準。任何偏離此流程的行為都可能造成系統不一致和品質問題。
**💫 記住Claude 是您的協作夥伴,讓他幫您記錄問題和管理專案,讓開發更完善!**
---
**最後更新**: 2025-09-10 - 新增開發計劃生成標準流程
**版本**: 4.1 - 系統性改善新增AI開發計劃生成規範約束機制
**維護者**: Drama Ling 開發團隊