# AWOOOI 專案開發憲法與行為準則
> **本文件為 AWOOOI 專案的最高行為準則。所有開發成員必須 100% 嚴格遵守,沒有例外!**
---
## 第一章:Triage (傷患分級) 異常處理鐵律
### 🔴 紅燈異常 (立刻停機修復)
以下情況視為紅燈異常,必須**立刻停止所有新功能開發**:
- 架構阻斷
- API 無法連線 (CORS / Failed to fetch)
- 編譯失敗
- 嚴重的資安漏洞 (如 Multi-Sig 邏輯錯誤)
**行為準則:**
> 底層斷了,上面蓋的 UI 也只是壞的。優先修復紅燈,禁止繞過!
### 🟡 黃燈異常 (記錄 Backlog,延後處理)
以下情況視為黃燈異常,不應打斷開發心流:
- UI 排版稍微跑位
- 非關鍵字的 i18n 翻譯遺漏
- 非阻斷性的 Warning
**行為準則:**
> 記錄進 WBS 待辦清單,集中在 Phase 結束前的「Bug Bash」一次解決。
---
## 第二章:0 個 Hardcode 字串與 i18n 清零鐵律
### 最高憲法
**前端 UI 代碼絕對禁止出現任何寫死的中文或英文字串!**
所有 UI 文字必須 100% 透過 `next-intl` 從字典檔提取,包含但不限於:
- 按鈕文字
- 標籤與標題
- 狀態文字
- 列舉值顯示 (如 CRITICAL → 危急)
- 錯誤訊息
- 表單欄位標籤
- Tooltip 與提示文字
### 優先級
| 優先級 | 語系 | 說明 |
|--------|------|------|
| 1 | 繁體中文 (zh-TW) | **最高優先級預設顯示** |
| 2 | 英文 (EN) | 雙軌並行 |
**Hardcoded English 視為開發失敗!**
### 範例
```tsx
// ❌ 錯誤 - Hardcode (違憲)
CRITICAL
No recent backup!
// ✅ 正確 - 使用 next-intl
const t = useTranslations('risk')
const tDryRun = useTranslations('dryRun')
{t('critical')}
{tDryRun('noRecentBackup')}
```
### 違規處理
**違背此規則視為開發失敗,必須立即修正後才能繼續其他任務!**
---
## 第三章:防禦性工程與 Zero Trust 鐵律
### 1. 先質疑,後實作 (Fail Fast & Ask)
遇到以下架構盲區時,**絕對禁止自行假設或使用脆弱的臨時方案**:
- 缺乏認證憑證
- 狀態機定義不完整
- 可能導致資料遺失 (如 In-memory 儲存稽核日誌)
**行為準則:**
> 必須立刻暫停實作,列出選項並向統帥回報 Blocker。
### 2. 零信任預設 (Zero Trust Defaults)
所有環境變數與安全配置,必須預設為最嚴格狀態:
- `MOCK_MODE=False`
- 禁止 CORS `*`
- 禁止重複簽核
- 禁止跳過驗證
### 3. 強制乾跑 (Dry-run Mandatory)
任何牽涉到基礎設施變更的破壞性操作,**必須在程式碼層級實作並呼叫 Dry-run(預檢)機制**:
- K8s API 操作
- SSH 命令執行
- Database Drop/Truncate
- 任何不可逆操作
### 4. 邊界預判 (Edge Case Anticipation)
寫任何邏輯前,必須先思考並實作防呆機制:
- 「如果網路斷線怎麼辦?」→ 重試機制
- 「如果使用者連按兩次怎麼辦?」→ 冪等性設計
- 「如果 K8s API 回應超時怎麼辦?」→ 超時處理
---
## 第四章:CPO 絕對美學與品牌靈魂鐵律
### 1. Pixel-Perfect 細節至上
UI 實作必須嚴格講究:
| 要素 | 標準 |
|------|------|
| Padding/Margin | 必須有「呼吸感」,絕不允許擁擠 |
| Typography | 字體大小與粗細必須建立清晰的視覺層級 |
| 邊框與陰影 | 使用微妙的 border-opacity 與 subtle shadows |
| 質感 | Nothing.tech 那種「通透感與極簡」 |
**禁止事項:**
- 禁止使用預設的、廉價的樣式
- 禁止元素不對齊
- 禁止忽略 hover/active 狀態的視覺回饋
### 2. 生物機械有機進化
IT AI 的 UI 不要硬綁綁!視覺上必須融合:
| 風格來源 | 精髓 |
|----------|------|
| openclaw.ai | 有機、流線、親和力 |
| Nothing.tech | 通透、工業風、極簡 |
**禁止生硬的幾何設計!**
### 3. 品牌靈魂 - Claw 設計語言
AWOOOI 的核心品牌意象為「智慧之眼機械爪 (Mechanical Claw)」:
- Logo 必須體現「Claw」精密抓取的意象
- 側邊欄展開/折疊應模擬爪子開合
- HITL 批准動畫應呈現爪子鎖定的效果
- 顏色基調:純白工業風、金屬光澤、科技感
### 4. CSS 代碼去背 SOP (CRITICAL)
當整合 Raster 圖像 (JPEG/PNG) 資產時:
**絕對禁止直接放上死白貼紙!**
必須強制套用 CSS 技術,將純白背景濾除:
```tsx
// ✅ 正確 - mix-blend-mode 去背
// ✅ 備選 - mask-image 去背
// ✅ 正確 - 純代碼方案
import { Bot, Sparkles } from 'lucide-react'