fix: restore missing files (package.json etc) and fix sync script logic

This commit is contained in:
xuxiang
2026-01-31 18:55:45 +08:00
parent b1d03833b9
commit 0e5571998f
85 changed files with 17074 additions and 1 deletions

View File

@@ -0,0 +1,49 @@
# Agent 協調
## 可用 Agents
位於 `~/.claude/agents/`
| Agent | 用途 | 何時使用 |
|-------|------|----------|
| planner | 實作規劃 | 複雜功能、重構 |
| architect | 系統設計 | 架構決策 |
| tdd-guide | 測試驅動開發 | 新功能、Bug 修復 |
| code-reviewer | 程式碼審查 | 撰寫程式碼後 |
| security-reviewer | 安全性分析 | 提交前 |
| build-error-resolver | 修復建置錯誤 | 建置失敗時 |
| e2e-runner | E2E 測試 | 關鍵使用者流程 |
| refactor-cleaner | 無用程式碼清理 | 程式碼維護 |
| doc-updater | 文件 | 更新文件 |
## 立即使用 Agent
不需要使用者提示:
1. 複雜功能請求 - 使用 **planner** Agent
2. 剛撰寫/修改程式碼 - 使用 **code-reviewer** Agent
3. Bug 修復或新功能 - 使用 **tdd-guide** Agent
4. 架構決策 - 使用 **architect** Agent
## 平行任務執行
對獨立操作總是使用平行 Task 執行:
```markdown
# 好:平行執行
平行啟動 3 個 agents
1. Agent 1auth.ts 的安全性分析
2. Agent 2快取系統的效能審查
3. Agent 3utils.ts 的型別檢查
# 不好:不必要的循序
先 agent 1然後 agent 2然後 agent 3
```
## 多觀點分析
對於複雜問題,使用分角色子 agents
- 事實審查者
- 資深工程師
- 安全專家
- 一致性審查者
- 冗餘檢查者

View File

@@ -0,0 +1,70 @@
# 程式碼風格
## 不可變性(關鍵)
總是建立新物件,絕不變異:
```javascript
// 錯誤:變異
function updateUser(user, name) {
user.name = name // 變異!
return user
}
// 正確:不可變性
function updateUser(user, name) {
return {
...user,
name
}
}
```
## 檔案組織
多小檔案 > 少大檔案:
- 高內聚、低耦合
- 通常 200-400 行,最多 800 行
- 從大型元件中抽取工具
- 依功能/領域組織,而非依類型
## 錯誤處理
總是全面處理錯誤:
```typescript
try {
const result = await riskyOperation()
return result
} catch (error) {
console.error('Operation failed:', error)
throw new Error('Detailed user-friendly message')
}
```
## 輸入驗證
總是驗證使用者輸入:
```typescript
import { z } from 'zod'
const schema = z.object({
email: z.string().email(),
age: z.number().int().min(0).max(150)
})
const validated = schema.parse(input)
```
## 程式碼品質檢查清單
在標記工作完成前:
- [ ] 程式碼可讀且命名良好
- [ ] 函式小(<50 行)
- [ ] 檔案專注(<800 行)
- [ ] 沒有深層巢狀(>4 層)
- [ ] 適當的錯誤處理
- [ ] 沒有 console.log 陳述式
- [ ] 沒有寫死的值
- [ ] 沒有變異(使用不可變模式)

View File

@@ -0,0 +1,45 @@
# Git 工作流程
## Commit 訊息格式
```
<type>: <description>
<optional body>
```
類型feat、fix、refactor、docs、test、chore、perf、ci
注意:歸屬透過 ~/.claude/settings.json 全域停用。
## Pull Request 工作流程
建立 PR 時:
1. 分析完整 commit 歷史(不只是最新 commit
2. 使用 `git diff [base-branch]...HEAD` 查看所有變更
3. 起草全面的 PR 摘要
4. 包含帶 TODO 的測試計畫
5. 如果是新分支,使用 `-u` flag 推送
## 功能實作工作流程
1. **先規劃**
- 使用 **planner** Agent 建立實作計畫
- 識別相依性和風險
- 拆解為階段
2. **TDD 方法**
- 使用 **tdd-guide** Agent
- 先撰寫測試RED
- 實作使測試通過GREEN
- 重構IMPROVE
- 驗證 80%+ 覆蓋率
3. **程式碼審查**
- 撰寫程式碼後立即使用 **code-reviewer** Agent
- 處理關鍵和高優先問題
- 盡可能修復中優先問題
4. **Commit 與推送**
- 詳細的 commit 訊息
- 遵循 conventional commits 格式

46
docs/zh-TW/rules/hooks.md Normal file
View File

@@ -0,0 +1,46 @@
# Hook 系統
## Hook 類型
- **PreToolUse**:工具執行前(驗證、參數修改)
- **PostToolUse**:工具執行後(自動格式化、檢查)
- **Stop**:工作階段結束時(最終驗證)
## 目前 Hooks在 ~/.claude/settings.json
### PreToolUse
- **tmux 提醒**:建議對長時間執行的指令使用 tmuxnpm、pnpm、yarn、cargo 等)
- **git push 審查**:推送前開啟 Zed 進行審查
- **文件阻擋器**:阻擋建立不必要的 .md/.txt 檔案
### PostToolUse
- **PR 建立**:記錄 PR URL 和 GitHub Actions 狀態
- **Prettier**:編輯後自動格式化 JS/TS 檔案
- **TypeScript 檢查**:編輯 .ts/.tsx 檔案後執行 tsc
- **console.log 警告**:警告編輯檔案中的 console.log
### Stop
- **console.log 稽核**:工作階段結束前檢查所有修改檔案中的 console.log
## 自動接受權限
謹慎使用:
- 對受信任、定義明確的計畫啟用
- 對探索性工作停用
- 絕不使用 dangerously-skip-permissions flag
- 改為在 `~/.claude.json` 中設定 `allowedTools`
## TodoWrite 最佳實務
使用 TodoWrite 工具來:
- 追蹤多步驟任務的進度
- 驗證對指示的理解
- 啟用即時調整
- 顯示細粒度實作步驟
待辦清單揭示:
- 順序錯誤的步驟
- 缺少的項目
- 多餘的不必要項目
- 錯誤的粒度
- 誤解的需求

View File

@@ -0,0 +1,55 @@
# 常見模式
## API 回應格式
```typescript
interface ApiResponse<T> {
success: boolean
data?: T
error?: string
meta?: {
total: number
page: number
limit: number
}
}
```
## 自訂 Hooks 模式
```typescript
export function useDebounce<T>(value: T, delay: number): T {
const [debouncedValue, setDebouncedValue] = useState<T>(value)
useEffect(() => {
const handler = setTimeout(() => setDebouncedValue(value), delay)
return () => clearTimeout(handler)
}, [value, delay])
return debouncedValue
}
```
## Repository 模式
```typescript
interface Repository<T> {
findAll(filters?: Filters): Promise<T[]>
findById(id: string): Promise<T | null>
create(data: CreateDto): Promise<T>
update(id: string, data: UpdateDto): Promise<T>
delete(id: string): Promise<void>
}
```
## 骨架專案
實作新功能時:
1. 搜尋經過實戰驗證的骨架專案
2. 使用平行 agents 評估選項:
- 安全性評估
- 擴展性分析
- 相關性評分
- 實作規劃
3. 複製最佳匹配作為基礎
4. 在經過驗證的結構中迭代

View File

@@ -0,0 +1,47 @@
# 效能優化
## 模型選擇策略
**Haiku 4.5**Sonnet 90% 能力3 倍成本節省):
- 頻繁呼叫的輕量 agents
- 配對程式設計和程式碼產生
- 多 agent 系統中的 worker agents
**Sonnet 4.5**(最佳程式碼模型):
- 主要開發工作
- 協調多 agent 工作流程
- 複雜程式碼任務
**Opus 4.5**(最深度推理):
- 複雜架構決策
- 最大推理需求
- 研究和分析任務
## 上下文視窗管理
避免在上下文視窗的最後 20% 進行:
- 大規模重構
- 跨多個檔案的功能實作
- 除錯複雜互動
較低上下文敏感度任務:
- 單檔案編輯
- 獨立工具建立
- 文件更新
- 簡單 Bug 修復
## Ultrathink + Plan 模式
對於需要深度推理的複雜任務:
1. 使用 `ultrathink` 增強思考
2. 啟用 **Plan 模式** 以結構化方法
3. 用多輪批評「預熱引擎」
4. 使用分角色子 agents 進行多元分析
## 建置疑難排解
如果建置失敗:
1. 使用 **build-error-resolver** Agent
2. 分析錯誤訊息
3. 增量修復
4. 每次修復後驗證

View File

@@ -0,0 +1,36 @@
# 安全性指南
## 強制安全性檢查
任何提交前:
- [ ] 沒有寫死的密鑰API 金鑰、密碼、Token
- [ ] 所有使用者輸入已驗證
- [ ] SQL 注入防護(參數化查詢)
- [ ] XSS 防護(清理過的 HTML
- [ ] 已啟用 CSRF 保護
- [ ] 已驗證驗證/授權
- [ ] 所有端點都有速率限制
- [ ] 錯誤訊息不會洩漏敏感資料
## 密鑰管理
```typescript
// 絕不:寫死的密鑰
const apiKey = "sk-proj-xxxxx"
// 總是:環境變數
const apiKey = process.env.OPENAI_API_KEY
if (!apiKey) {
throw new Error('OPENAI_API_KEY not configured')
}
```
## 安全性回應協定
如果發現安全性問題:
1. 立即停止
2. 使用 **security-reviewer** Agent
3. 在繼續前修復關鍵問題
4. 輪換任何暴露的密鑰
5. 審查整個程式碼庫是否有類似問題

View File

@@ -0,0 +1,30 @@
# 測試需求
## 最低測試覆蓋率80%
測試類型(全部必要):
1. **單元測試** - 個別函式、工具、元件
2. **整合測試** - API 端點、資料庫操作
3. **E2E 測試** - 關鍵使用者流程Playwright
## 測試驅動開發
強制工作流程:
1. 先撰寫測試RED
2. 執行測試 - 應該失敗
3. 撰寫最小實作GREEN
4. 執行測試 - 應該通過
5. 重構IMPROVE
6. 驗證覆蓋率80%+
## 測試失敗疑難排解
1. 使用 **tdd-guide** Agent
2. 檢查測試隔離
3. 驗證 mock 是否正確
4. 修復實作,而非測試(除非測試是錯的)
## Agent 支援
- **tdd-guide** - 主動用於新功能,強制先撰寫測試
- **e2e-runner** - Playwright E2E 測試專家