chore: initial commit for AWOOOI project

Phase 0 Day 1 - Project initialization:
- Independent repository (Option A)
- .awoooi-agent-rules.md (AI development contract)
- Project skeleton (apps/web, apps/api, packages, docs)
- ADR template for architecture decisions
- LOGBOOK for progress tracking

Strategic decision: 2026-03-19 Operation Cyber-Shell
Reference: /wooo-aiops/docs/meetings/2026-03-19_FRONTEND_RESTRUCTURE_STRATEGY.md

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
OG T
2026-03-19 19:16:12 +08:00
commit ccdf757edd
9 changed files with 440 additions and 0 deletions

202
.awoooi-agent-rules.md Normal file
View File

@@ -0,0 +1,202 @@
# AWOOOI - AI Agent 開發契約 (L1 System Prompt)
> **版本**: v1.0
> **生效日期**: 2026-03-19
> **適用對象**: Claude Code / Cursor / GitHub Copilot
> **強制等級**: 絕對遵守 (違反等同事故)
---
## 🎯 專案定位
**AWOOOI** (AI + WOOO) 是岑洋國際行銷有限公司的下一代智能運維平台。
| 項目 | 說明 |
|------|------|
| **母品牌** | AWOOOI |
| **技術引擎** | leWOOOgo Engine (樂高模組化) |
| **視覺符號** | Data Pincer (數據鉗) |
| **設計風格** | Nothing.tech (點陣字體 + 毛玻璃 + 極簡) |
| **核心理念** | Agent-Centric (AI 主動發現 → 分析 → 建議 → 人類批准) |
---
## 🚫 絕對禁止事項 (紅線)
### 1. 禁止 Import 舊代碼
```typescript
// ❌ 絕對禁止
import { something } from '../../../wooo-aiops/src/...'
import { legacy } from '@wooo-aiops/...'
// ✅ 正確做法:透過 HTTP API 呼叫
const response = await fetch('https://api.aiops.wooo.work/v1/...')
```
### 2. 禁止修改舊專案
```bash
# ❌ 絕對禁止在此專案中編輯以下路徑
/Users/ogt/wooo-aiops/*
# ✅ 舊專案僅供「唯讀參考」
# 如需修改舊專案,請切換到舊專案的工作區
```
### 3. 禁止使用過時標籤
```yaml
# ❌ 禁止
image: wooo/api:latest
image: wooo/api:main
# ✅ 正確:唯一不可變標籤
image: 192.168.0.110:5000/library/awoooi-api:{sha}-{run_id}
```
### 4. 禁止硬編碼機密
```typescript
// ❌ 禁止
const API_KEY = "sk-xxx..."
// ✅ 正確:環境變數
const API_KEY = process.env.API_KEY
```
---
## ✅ 開發準則
### leWOOOgo 六大積木類別
| 類別 | 用途 | 範例 |
|------|------|------|
| **INPUT** | 觸發器 | Webhook, Cron, Alert |
| **BRAIN** | AI 處理 | LLM Router, RAG, Triage |
| **OUTPUT** | 通知 | Telegram, Slack, Email |
| **ACTION** | 執行器 | K8s, SSH, API Call |
| **DATA** | 儲存 | Redis, PostgreSQL, S3 |
| **UI** | 介面元件 | Widget, Card, Chart |
### 技術棧
| 層級 | 技術選擇 |
|------|----------|
| **Frontend** | Next.js 14+ / React 18+ / TypeScript |
| **Styling** | Tailwind CSS (Nothing.tech 配置) |
| **State** | Zustand + React Query |
| **Backend** | FastAPI (Python 3.11+) |
| **Database** | PostgreSQL + Redis Stack |
| **AI** | MCP Protocol + LLM Router |
| **Observability** | SigNoz (OTEL) + Prometheus |
| **Container** | Harbor Registry (192.168.0.110:5000) |
| **Orchestration** | K3s (192.168.0.120/121) |
### Nothing.tech 設計規範
```css
/* 色彩 */
--nothing-black: #000000;
--nothing-white: #FFFFFF;
--nothing-red: #D71921; /* 告警/錯誤 */
--nothing-gray-100: #F5F5F5;
--nothing-gray-800: #1A1A1A;
/* 字體 */
--font-display: "NDot", monospace; /* AI 介面 */
--font-body: "Inter", system-ui; /* 一般文字 */
/* 效果 */
--glass-blur: blur(20px);
--glass-bg: rgba(255, 255, 255, 0.05);
```
---
## 📚 知識參考來源
AI 可跨資料夾讀取以下舊專案文檔 (唯讀)
| 文檔 | 路徑 | 用途 |
|------|------|------|
| **架構規範** | `/Users/ogt/wooo-aiops/CLAUDE.md` | 開發規則參考 |
| **API 規格** | `/Users/ogt/wooo-aiops/docs/` | 舊 API 格式 |
| **會議記錄** | `/Users/ogt/wooo-aiops/docs/meetings/` | 決策歷史 |
| **運維日誌** | `/Users/ogt/wooo-aiops/LOGBOOK.md` | 進度追蹤 |
| **鐵律記憶** | `/Users/ogt/wooo-aiops/.claude/projects/-Users-ogt-wooo-aiops/memory/` | 重要規則 |
---
## 🏗️ 專案結構
```
awoooi/
├── .awoooi-agent-rules.md # 本文件 (AI 必讀)
├── apps/
│ ├── web/ # Next.js 前端
│ └── api/ # FastAPI BFF Gateway
├── packages/
│ ├── lewooogo-core/ # 核心引擎
│ ├── lewooogo-input/ # INPUT 積木
│ ├── lewooogo-brain/ # BRAIN 積木
│ ├── lewooogo-output/ # OUTPUT 積木
│ ├── lewooogo-action/ # ACTION 積木
│ ├── lewooogo-data/ # DATA 積木
│ └── lewooogo-ui/ # UI 積木
├── docs/
│ ├── adr/ # 架構決策記錄
│ └── api/ # OpenAPI 規格
├── architecture/ # 架構圖
├── k8s/ # Kubernetes 配置
└── .github/
└── workflows/ # CI/CD Pipeline
```
---
## 📝 Commit 規範
```bash
# 格式
<type>(<scope>): <subject>
# 類型
feat: 新功能
fix: Bug 修復
docs: 文檔
style: 格式 (不影響邏輯)
refactor: 重構
test: 測試
chore: 雜務
# 範例
feat(brain): add LLM router with Ollama fallback
fix(ui): resolve Nothing.tech glassmorphism on Safari
docs(adr): ADR-001 MCP protocol adoption
# 強制:每個 commit 結尾加上
Co-Authored-By: Claude Code <noreply@anthropic.com>
```
---
## 🔄 每次 Session 啟動流程
AI 在每次新對話開始時,必須:
1. **讀取本文件** (`.awoooi-agent-rules.md`)
2. **檢查 LOGBOOK** (`docs/LOGBOOK.md`) 了解最新進度
3. **確認當前 Phase** 與待辦事項
4. **遵守所有禁止事項**
---
## 🎖️ 品質承諾
- **Zero Technical Debt**: 不留技術債
- **API-First**: 所有功能先定義 OpenAPI
- **Test Coverage > 80%**: 測試覆蓋率
- **No Hardcoded Secrets**: 零硬編碼機密
- **Immutable Tags**: 映像標籤不可變
---
*最後更新: 2026-03-19 (Phase 0 Day 1)*

67
.gitignore vendored Normal file
View File

@@ -0,0 +1,67 @@
# =============================================================================
# AWOOOI - .gitignore
# =============================================================================
# 依賴套件
node_modules/
.pnp
.pnp.js
pnpm-lock.yaml
yarn.lock
package-lock.json
# 測試與建置產物
coverage/
.next/
out/
build/
dist/
.turbo/
# Python
__pycache__/
*.py[cod]
*$py.class
.Python
*.so
.venv/
venv/
ENV/
# 環境變數與機密 (絕對不能進 Git)
.env
.env.local
.env.*.local
*.pem
*.key
secrets/
# 日誌
npm-debug.log*
yarn-debug.log*
.pnpm-debug.log*
*.log
# 編輯器設定
.vscode/*
!.vscode/extensions.json
!.vscode/settings.json
.idea/
*.swp
*.swo
# 系統檔案
.DS_Store
Thumbs.db
# Workspace 檔案 (本地使用,不需提交)
*.code-workspace
# Kubernetes 機密
*-secret.yaml
*-secrets.yaml
# 暫存檔案
tmp/
temp/
*.tmp

89
README.md Normal file
View File

@@ -0,0 +1,89 @@
# AWOOOI
> **AI + WOOO = AWOOOI**
>
> 下一代智能運維平台 | Next-Gen AIOps Platform
<p align="center">
<img src="docs/assets/data-pincer-logo.svg" alt="Data Pincer" width="120" />
</p>
<p align="center">
<strong>Zero-Touch Ops. Human-Centric Decisions.</strong>
</p>
---
## 概述
AWOOOI 是一個 **Agent-Centric** 的智能運維平台,採用 **leWOOOgo Engine** 模組化架構,讓 AI Agent 主動發現問題、分析根因、提出建議,由人類做最終決策。
### 核心理念
```
AI 主動發現 → 智能分析 → 建議方案 → 人類批准 → 自動執行
```
### 設計風格
採用 **Nothing.tech** 極簡美學:
- 點陣字體 (NDot) - AI 介面
- 毛玻璃效果 (Glassmorphism)
- 黑白紅三色系
---
## leWOOOgo 六大積木
| 積木 | 說明 | 範例 |
|------|------|------|
| **INPUT** | 觸發器 | Webhook, Cron, Alert |
| **BRAIN** | AI 處理 | LLM, RAG, Triage |
| **OUTPUT** | 通知 | Telegram, Slack |
| **ACTION** | 執行器 | K8s, SSH, API |
| **DATA** | 儲存 | Redis, PostgreSQL |
| **UI** | 介面 | Widget, Card |
---
## 快速開始
```bash
# 開發環境
pnpm install
pnpm dev
# 測試
pnpm test
# 建置
pnpm build
```
---
## 專案結構
```
awoooi/
├── apps/
│ ├── web/ # Next.js 前端
│ └── api/ # FastAPI BFF
├── packages/
│ └── lewooogo-*/ # 核心積木
├── docs/
│ └── adr/ # 架構決策
└── k8s/ # K8s 配置
```
---
## 授權
Copyright (c) 2026 岑洋國際行銷有限公司. All rights reserved.
---
<p align="center">
Made with ❤️ by WOOO Tech
</p>

2
apps/api/.gitkeep Normal file
View File

@@ -0,0 +1,2 @@
# FastAPI BFF Gateway
# Phase 1 建立

2
apps/web/.gitkeep Normal file
View File

@@ -0,0 +1,2 @@
# Next.js 前端應用
# Phase 1 建立

1
architecture/.gitkeep Normal file
View File

@@ -0,0 +1 @@
# 架構圖

43
docs/LOGBOOK.md Normal file
View File

@@ -0,0 +1,43 @@
# LOGBOOK - AWOOOI 進度軌跡
> **用途**: AI 代理進度追蹤,防止 Session 斷層
> **規則**: 完成重要節點後追加一行
---
## 📍 當前狀態 (2026-03-19)
| 項目 | 狀態 |
|------|------|
| **當前 Phase** | Phase 0 - 契約與骨架 |
| **Day** | Day 1 |
| **下一步** | 建立 OpenAPI 規格 + ADR |
---
## 📋 最近里程碑
| 時間 | 事件 | 負責人 |
|------|------|--------|
| 2026-03-19 22:00 | **專案初始化**: 獨立 Repo 建立 + .awoooi-agent-rules.md + 專案骨架 | CTO + Claude Code |
---
## 🎯 Phase 0 待辦 (Week 1)
- [x] 建立獨立 Repository
- [x] `.awoooi-agent-rules.md` AI 開發契約
- [x] VS Code Multi-root Workspace
- [ ] `api-contract.yaml` OpenAPI 規格
- [ ] `ADR-001` MCP Protocol 採用
- [ ] `ADR-002` Nothing.tech 設計系統
- [ ] `ADR-003` leWOOOgo 模組架構
- [ ] GitHub Actions CI/CD 基礎
- [ ] Tailwind Nothing.tech 配置
---
## 📚 參考文件
- 戰略會議記錄: `/Users/ogt/wooo-aiops/docs/meetings/2026-03-19_FRONTEND_RESTRUCTURE_STRATEGY.md`
- 舊專案規範: `/Users/ogt/wooo-aiops/CLAUDE.md`

View File

@@ -0,0 +1,32 @@
# ADR-000: Template
> **狀態**: Template
> **日期**: YYYY-MM-DD
> **決策者**: [角色]
## 背景
[描述問題背景與需求]
## 決策
[描述採取的決策]
## 理由
[解釋為什麼選擇這個方案]
## 後果
### 優點
- ...
### 缺點
- ...
### 風險
- ...
## 參考
- [相關連結]

2
packages/.gitkeep Normal file
View File

@@ -0,0 +1,2 @@
# leWOOOgo 核心積木
# Phase 1-2 逐步建立