# 檔案組織策略 ## 🗂️ 檔案歸類指南 本文件定義專案中各種檔案的歸類規則,特別處理難以歸類的檔案。 ## 📂 標準目錄結構 ``` . ├── docs/ # 所有文檔 │ ├── 00_starter/ # 入門文檔 │ ├── 01_requirement/ # 需求文檔 │ ├── 02_design/ # 設計文檔 │ ├── 03_development/ # 開發文檔 │ └── 04_technical/ # 技術文檔 ├── scripts/ # 維護和自動化腳本 │ └── maintenance/ # 系統維護腳本 ├── tools/ # 開發工具 │ └── environment/ # 環境設定工具 ├── temp/ # 臨時檔案 (需要時創建) ├── archive/ # 歸檔檔案 (需要時創建) └── misc/ # 雜項檔案 (需要時創建) ``` ## 🎯 檔案歸類規則 ### 📋 明確歸類的檔案 | 檔案類型 | 位置 | 說明 | |---------|------|------| | 專案文檔 (*.md) | `docs/[xx_category]/` | 根據內容分類 | | 環境設定工具 | `tools/environment/[env]/` | 按環境類型分組 | | 維護腳本 | `scripts/` 或 `scripts/maintenance/` | 系統維護相關 | | 配置檔案 | 對應功能目錄 | 與功能代碼放在一起 | ### 🤔 難以歸類的檔案處理 #### 1. 臨時檔案 → `temp/` - 測試用檔案 - 暫時的輸出結果 - 實驗性腳本 - 一次性使用的工具 ```bash mkdir -p temp mv uncertain_test_file.sh temp/ ``` #### 2. 歷史檔案 → `archive/` - 舊版本的檔案 - 不再使用但有保存價值的檔案 - 已完成的一次性任務相關檔案 ```bash mkdir -p archive/2025-09-08 mv old_setup_script.sh archive/2025-09-08/ ``` #### 3. 雜項檔案 → `misc/` - 完全無法歸類的檔案 - 外部提供的參考檔案 - 特殊用途的實用工具 ```bash mkdir -p misc mv strange_utility.txt misc/ ``` ### 🚫 根目錄保留檔案 只有以下檔案允許留在根目錄: - `README.md` - 專案說明 - `CLAUDE.md` - Claude 工作指南 - `PROJECTS.md` - 專案管理 - `ISSUES.md` - 問題追蹤 - `dl` - 主要管理工具 - `.gitignore`, `.DS_Store` 等系統檔案 ## 🛠️ 歸類決策流程 遇到無法歸類的檔案時,按以下順序決策: ### 1. 功能性檢查 ``` Q: 這個檔案有明確的功能分類嗎? └─ Yes → 放入對應的功能目錄 └─ No → 繼續下一步 ``` ### 2. 時效性檢查 ``` Q: 這個檔案是臨時性的嗎? └─ Yes → 放入 temp/ └─ No → 繼續下一步 ``` ### 3. 歷史性檢查 ``` Q: 這個檔案是歷史檔案嗎? └─ Yes → 放入 archive/[date]/ └─ No → 繼續下一步 ``` ### 4. 最終歸類 ``` 無法明確歸類 → 放入 misc/ ``` ## 📝 檔案移動記錄 當移動檔案時,建議在對應的 README.md 中記錄: ```markdown ## 檔案移動記錄 (2025-09-08) - `old_script.sh` → `archive/2025-09-08/` (已完成功能,保存備查) - `test_file.txt` → `temp/` (測試用檔案) - `utility.py` → `misc/` (外部工具,無明確分類) ``` ## 🧹 定期清理策略 ### 每月清理 (月初執行) 1. **檢查 temp/ 目錄** - 刪除超過30天的檔案 - 確認是否有檔案需要移到其他目錄 2. **檢查 misc/ 目錄** - 重新評估檔案是否能明確歸類 - 移除不再需要的檔案 ### 每季清理 (季初執行) 1. **檢查 archive/ 目錄** - 整理和壓縮舊檔案 - 確認是否可以永久刪除某些檔案 ## 🚨 緊急處理 當 Claude 產生了無法立即歸類的檔案時: ```bash # 創建帶時間戳的臨時目錄 mkdir -p temp/$(date +%Y%m%d_%H%M%S) # 移動未歸類檔案 mv uncategorized_file.* temp/$(date +%Y%m%d_%H%M%S)/ # 記錄移動原因 echo "Moved uncategorized files generated during [task description]" > temp/$(date +%Y%m%d_%H%M%S)/README.md ``` ## 🎯 持續改善 這個策略會根據實際使用情況持續調整和改善。 --- **建立時間**: 2025-09-08 **適用範圍**: Drama Ling 專案 **維護者**: Drama Ling 開發團隊