frontend-code-review

frontend-code-review

熱門

審查 Dify 前端程式碼的正確性、無障礙性、元件設計、dify-ui 使用方式、資料/查詢邊界、效能與測試。觸發條件為 `.tsx`、`.ts`、`.js`、UI、React、Next.js、待變更或特定前端審查請求。

15萬星標
2.3萬分支
更新於 2026/7/14
SKILL.md
readonlyread-only
name
frontend-code-review
description

審查 Dify 前端程式碼的正確性、無障礙性、元件設計、dify-ui 使用方式、資料/查詢邊界、效能與測試。觸發條件為 `.tsx`、`.ts`、`.js`、UI、React、Next.js、待變更或特定前端審查請求。

前端程式碼審查

使用時機

當使用者要求審查、稽核、分析或檢查 web/packages/dify-ui/ 或前端相關 TypeScript 檔案時,使用此技能。

支援的模式:

  • 待變更審查:檢查暫存區與工作目錄的變更。
  • 檔案審查:檢查明確指定的檔案或路徑。
  • 差異/片段審查:審查貼上的差異或程式碼片段,盡力參考相關內容。

請勿將此技能用於 api/ 下的後端程式碼;請改用 backend-code-review

必要背景

審查前,請先閱讀相關的本地合約:

  • web/AGENTS.md:了解 Dify 前端工作流程、覆蓋層、設計代碼、狀態與測試。
  • packages/dify-ui/README.mdpackages/dify-ui/AGENTS.md:當程式碼使用或修改 @langgenius/dify-ui/* 時。
  • web/docs/overlay.md:審查對話框、抽屜、彈出視窗、工具提示、選單、選擇器、下拉選單或其他浮動 UI 時。
  • web/docs/test.mdfrontend-testing 技能:審查測試或可測試性時。
  • karpathy-guidelines:控制範圍與聚焦可驗證的變更。
  • how-to-write-component:審查 React 元件結構、所有權、副作用、查詢/變更合約或記憶化時。

對於任何 UI、UX 或無障礙審查,請在最終確定發現前,先取得最新的 Web 介面指南。將其視為必要基準,而非無障礙真理的完整來源:

https://raw.githubusercontent.com/vercel-labs/web-interface-guidelines/main/command.md

如果審查依賴於當前的框架、SDK、瀏覽器 API 或無障礙行為,且本地程式碼無法解決,請先查閱官方文件。對於瀏覽器相容性、棄用或行為敏感的前端 API,請驗證 MDN 或相關標準。

規則包

套用所有相關的規則包:

審查流程

  1. 確定審查範圍。對於待變更,檢查 git diff --statgit diff 及相關的暫存區差異。對於檔案審查,僅限於指定的檔案,除非必須讀取相關的所有者或合約。
  2. 閱讀變更行附近的程式碼及其所屬模組。不要僅根據隔離的片段進行審查,當附近的所有權、標籤、查詢輸入或覆蓋層結構決定正確性時。
  3. 首先檢查使用者可見的回歸:無障礙、互動中斷、認證/權限洩漏、查詢/水合錯誤、資料遺失、導航錯誤與不可能狀態。
  4. 然後檢查可維護性與效能:所有權、副作用、包裝器、記憶化、套件/瀑布風險、測試與設計系統偏移。
  5. 僅報告可操作的發現。不要列出推測性風險、風格偏好或廣泛的重構,除非它們直接與範圍內的可重現問題相關。

嚴重程度

  • P0:安全性/隱私/認證洩漏、資料遺失、生產環境當機、無法存取的關鍵流程或主要工作流程中斷。
  • P1:使用者可見的回歸、水合/SSR 失敗、無效的 API/查詢合約、鍵盤/焦點行為中斷或嚴重的設計系統/a11y 違規。
  • P2:可能導致錯誤的可維護性或效能問題、重複狀態、不正確的所有權、缺少對風險行為的測試或非關鍵的 a11y 問題。
  • P3:具有明確價值的次要清理。除非使用者要求徹底稽核,否則省略。

輸出格式

以發現為主,按嚴重程度排序。使用以下結構:

## 發現

- [P1] 簡短問題標題
  檔案:`path/to/file.tsx:123`
  為何重要以及如何重現或推理。
  建議修正:具體的修正方向。

## 開放問題

- 問題或假設(如有)。

## 總結

簡短的次要背景。提及未執行的測試或殘餘風險。

規則:

  • 如果沒有發現,請說 No issues found. 並提及任何測試缺口或殘餘風險。
  • 始終包含檔案與行號(若可用)。
  • 保持發現具體且可重現。
  • 預設不包含讚美部分。
  • 除非使用者明確要求審查加上實作,否則不要要求套用修正。