taste 是做什麼的?
審計一個正在執行的 Web 應用程式(按視圖擷取畫面、找出問題並附帶原始碼位置、按層級評分),並在一個擁有獨立分支的克隆中產出改善對策,附帶前後對比報告。絕不寫入被分析的儲存庫。
何時使用
- 有人要求你審查、清理、修正或改善一個具有開發伺服器的儲存庫的介面。
- 你想要在將 UI 變更帶入實際儲存庫之前,先獲得視覺上的驗證。
設定檔與世界
perfiles/REPO.json位於 taste 的儲存庫中:mundo(shift | personal)、perfil(libre | estricto)、url、arranque、lecturas_permitidas(允許的 POST 請求列表{metodo, ruta},這些請求只會讀取資料;其餘的會被封鎖)、previo({nombre, puerto, comando}:伺服器在啟動前需要的先決條件,例如通往開發資料庫的 SSH 隧道;如果端口關閉,taste 會打開它,並只關閉它自己打開的)、entorno(給伺服器的額外環境變數:用於關閉會寫入資料的背景任務,例如定期清理任務)。- 一次執行只會讀取
biblioteca/externa及其所屬世界的函式庫,絕不讀取另一個世界的函式庫。 - 嚴格模式(針對封閉品牌的客戶產品):絕不更換標誌或品牌,也不添加任何元件。
層級
A(最低限度)、AA(預設,包含 A + AA)、AAA(全部)。該層級的分數會使用該層級及其以下所有層級的發現結果。
五種模式
| 模式 | 功能說明 |
|---|---|
| 修正 | 修正發現的問題,不改變佈局或元件 |
| 清理 | 僅移除:標語、輔助文字、次要標籤、重複內容、無效樣式;將「voseo」改為「tuteo」並移除 em-dash |
| 改善 | 在現有架構內進行打磨 |
| 編輯 | 僅執行 --pedido TEXT 指定的要求 |
| 創作 | 從函式庫中建立新的畫面或元件 |
端到端流程
taste MODO --repo RUTA --tier AA [--solo VISTA] [--agente ninguno|claude] [--pedido TEXTO]審計、為每個視圖撰寫paquete/VISTA.md、將儲存庫克隆到CORRIDA/arbol位於taste/AAAAMMDD-HHMM-MODO分支,並撰寫CORRIDA/TAREA.md。使用ninguno會輸出適合貼到你的代理中的文字。- 讀取
TAREA.md和每個套件(擷取畫面、按規則分類的發現結果(附帶檔案:行號)、適用的規則、以及來自相同模式的靈感與元件)。 - 撰寫
CORRIDA/criterios.json:每個發現結果或相同規則的一組發現結果佔一個條目。每個條目包含regla(來自 rules.json 的 ID 或inspo:ID)、criterio(一個命令式句子)、por_que(附帶來源檔案:行號)、ux、dx、ax(改善 | 持平 | 惡化 + 5 個詞)、accion、componente、archivos、estado、motivo_descarte。- 如果某個項目惡化了 UX、DX 或 AX,則會被捨棄(taste 會強制執行)。
- 在清理模式中,所有不是
quitar的項目都會被標記為propuesto。
- 僅將狀態為
aplicado的項目應用到克隆的目錄樹中,每個標準或組別一個提交。絕不執行 git push。 - 在克隆的目錄樹上執行型別檢查(如果存在
tsconfig.json,則執行npx tsc --noEmit)。 taste comparar --corrida CORRIDA:在原始連接埠 + 1 的連接埠上啟動克隆的目錄樹、重複執行相同的視圖、將擷取畫面儲存在capturas/despues、重新偵測、執行守護閘道並產生informe.html。
基線噪聲
審計會對同一個目錄樹的每個視圖進行兩次擷取,並將變動程度(動態資料、時鐘、延遲載入)儲存在 vista.ruido 中。守護閘道會將此噪聲加到未觸碰視圖的 0.5% 上限。--sin-ruido 會跳過此步驟(速度快一半,但守護閘道會比實際情況更嚴格)。每次擷取都使用新的瀏覽器上下文:一個點擊所留下的狀態(例如 localStorage 中摺疊的側邊欄)不會影響到下一個視圖。
閱讀報告
- 上方:全域分數(改善前、改善後、各層級的變化);帶有變化量的視圖索引。
- 每個視圖:改善前後的桌面版與行動版擷取畫面;每個標準(包含規則、來源、ux/dx/ax 與狀態)。
- 守護閘道出現
no ok或負值變化量:不要合併該分支。請檢查原因。 - 提取分支:
git fetch CORRIDA/arbol RAMA。
場景:展示產品(Stageshow)
Taste 清理實際的應用程式;而若要展示它(登陸頁面的英雄區塊、功能卡片、動畫示範),則需使用 Benji Taylor 的 stageshow 技能(保持原樣),並搭配 Taste 的規則。這不是另一個命令。
- 預設框架:金色
finder-glass(場景 860 x 440,視窗位置 40/40/780/480,下方出血;緊湊模式 400 x 340,視窗位置 20/20/460/400,右方與下方出血;圓角半徑 14;三層背景,顏色重新映射為品牌色)。幾何結構與擷取:biblioteca/externa/golds/marco-finder-glass.md。 - 在構建之前,使用測試階段(僅讀取)擷取實際應用程式,並從其 CSS 中取得品牌色彩 token。
- 通過審核的場景 = 每個世界專有的 gold,存放在
biblioteca/<mundo>/escenas/(或使用TASTE_BIBLIOTECA_SHIFT指向第二個工作世界)。 - 排練:StageShow 的
film.mjs --gate僅供參考,並非最終裁決(它自己的 gold 也只有一半通過)。 - 使用 Taste 清理後,場景會建立在已經清理乾淨的畫面上:先有產品,然後才是展示方式。
常見陷阱
- 如果某個視圖出現錯誤,請查看
vista.error:bloqueada POST /api/...表示缺少一個允許的 POST 讀取請求(請將其加入lecturas_permitidas,但僅在你已閱讀過程式碼並確認它不會寫入資料後才加入);500通常表示資料庫或隧道故障:請檢查corrida.notas中previo的備註。 - 克隆的目錄樹會連結原始儲存庫的
node_modules:請勿在克隆的目錄樹中安裝依賴項。