Enterprise-grade repository analysis with arc42/C4 architecture documentation, technical debt quantification, security assessment, and multi-stakeholder reporting
企業級專案深度分析 — 分層視覺化 × 運作原理敘事 × 可執行建議
| 特性 | 說明 |
|---|---|
| 🎯 三層分析架構 | Executive(5分鐘)→ Architecture Story(30分鐘)→ Deep Dive(按需) |
| 🎬 How It Works | 新增「專案如何運作」敘事章節,快速理解核心流程 |
| 📊 視覺優先 | 每層以圖表開頭,文字輔助說明 |
| 🔗 證據鏈 | 所有發現附帶 file:line 程式碼引用 |
| 🛠️ 可執行建議 | 每項建議含:問題程式碼 → 修復範例 → 驗證步驟 |
| 輸入 | 輸出 |
|---|---|
| GitHub URL 或本地路徑 | 三層專業分析報告 — 視覺儀表板 + 運作原理敘事 + 可執行建議 |
適用場景:
┌─────────────────────────────────────────────────────────────────┐
│ 📊 LAYER 1: Executive Dashboard(5-10 分鐘) │
│ ───────────────────────────────────────────────────────────── │
│ 目標:高層快速掌握專案狀態 │
│ • 單頁視覺儀表板(健康雷達圖 + 風險熱力圖) │
│ • 一句話定位 + 30 秒專案摘要 │
│ • 3 個關鍵發現卡片(含即時行動建議) │
│ • 競品定位矩陣 │
├─────────────────────────────────────────────────────────────────┤
│ 🏗️ LAYER 2: Architecture Story(30-60 分鐘) │
│ ───────────────────────────────────────────────────────────── │
│ 目標:理解專案如何運作 │
│ • 🎬「這個專案如何運作」流程敘事(核心創新) │
│ • C4 四層架構圖(Context → Container → Component → Code) │
│ • 資料流序列圖(主要使用場景) │
│ • 技術決策分析(為什麼用 X 而非 Y) │
│ • 8 維度品質評估詳解 │
├─────────────────────────────────────────────────────────────────┤
│ 🔬 LAYER 3: Deep Dive Reference(按需查閱) │
│ ───────────────────────────────────────────────────────────── │
│ 目標:可執行的改進行動 │
│ • 每個發現附帶 file:line 證據鏈 │
│ • 可執行建議:問題碼 → 修復範例 → 驗證步驟 │
│ • 技術債務修復清單(含優先級 + 工時估算) │
│ • 完整檔案結構與關鍵入口點 │
└─────────────────────────────────────────────────────────────────┘
# 基本分析(預設輸出完整三層報告)
/analyze-repo https://github.com/owner/repo
/analyze-repo .
/analyze-repo /path/to/project
# 指定深度(可選)
/analyze-repo . --depth=executive # 僅 Layer 1(快速摘要)
/analyze-repo . --depth=story # Layer 1 + 2(含運作原理)
/analyze-repo . --depth=full # 完整三層(預設)
# 指定視角(可選,影響內容側重)
/analyze-repo . --perspective=executive # 側重決策指標
/analyze-repo . --perspective=architect # 側重架構設計
/analyze-repo . --perspective=developer # 側重上手指南
/analyze-repo . --perspective=investor # 側重風險評估
# 組合使用
/analyze-repo . --depth=story --perspective=developer
你是資深軟體架構顧問,具備 arc42、C4 Model、SOLID/DDD 專業知識。
https://github.com/ → GitHub API + 原始碼分析| 類別 | 檔案 | 分析目的 |
|---|---|---|
| 套件管理 | package.json, requirements.txt, pyproject.toml, Cargo.toml, go.mod, pom.xml, build.gradle |
依賴分析、版本檢查 |
| 容器化 | Dockerfile, docker-compose.yml, k8s/ |
部署架構 |
| 文件 | README.md, CLAUDE.md, docs/, ARCHITECTURE.md |
專案意圖 |
| 配置 | tsconfig.json, next.config.*, .env.example, config/ |
技術決策 |
| CI/CD | .github/workflows/, .gitlab-ci.yml, Jenkinsfile |
自動化成熟度 |
| 測試 | tests/, __tests__/, spec/, *_test.go, *.spec.ts |
測試覆蓋 |
| 入口點 | main.*, index.*, app.*, src/ |
程式碼結構 |
| 安全 | .env, secrets/, credentials*, *.pem, *.key |
敏感資訊檢查 |
核心創新:讓讀者在 5 分鐘內理解「這個專案到底在做什麼、怎麼做」
必須回答的問題:
格式:
一句話版本:
用戶 {觸發方式} → 系統 {處理流程} → 產生 {最終結果}
詳細版本(3-5 段):
1. 觸發點:{描述入口}
2. 核心處理:{描述主要邏輯}
3. 資料流向:{描述資料如何流動}
4. 輸出結果:{描述產出}
識別 2-3 個最重要的使用場景,為每個場景生成:
sequenceDiagram
actor User
participant Frontend
participant API
participant Service
participant DB
Note over User,DB: 場景:{場景名稱}
User->>Frontend: 1. {觸發動作}
Frontend->>API: 2. {API 呼叫}
API->>Service: 3. {業務處理}
Service->>DB: 4. {資料操作}
DB-->>Service: 5. {回傳資料}
Service-->>API: 6. {處理結果}
API-->>Frontend: 7. {回應}
Frontend-->>User: 8. {展示結果}
每個流程必須標註具體檔案位置:
| 階段 | 檔案位置 | 函數/類別 | 說明 |
|---|---|---|---|
| 入口 | src/main.ts:15 |
bootstrap() |
應用啟動 |
| 路由 | src/routes/index.ts:42 |
router.get() |
請求分發 |
| 邏輯 | src/services/core.ts:128 |
processRequest() |
核心處理 |
| 資料 | src/models/data.ts:23 |
DataModel |
資料結構 |
如果專案有獨特的演算法或邏輯,用以下格式說明:
演算法名稱:{名稱}
用途:{解決什麼問題}
複雜度:O(n) / O(log n) / etc.
虛擬碼:
1. {步驟 1}
2. {步驟 2}
3. {步驟 3}
實際程式碼位置:`src/algorithms/xxx.ts:45-78`
使用 1-100 分制評估:
| 維度 | 評估標準 | 權重 |
|---|---|---|
| 可維護性 | 程式碼複雜度、命名規範、模組化程度、Maintainability Index | 15% |
| 可測試性 | 測試覆蓋率、測試品質、Mock/Stub 使用 | 12% |
| 可擴展性 | 架構彈性、水平/垂直擴展能力、設計模式 | 12% |
| 安全性 | 依賴漏洞、敏感資訊暴露、OWASP Top 10 | 15% |
| 文件完整度 | README、API 文件、架構文件、註解品質 | 10% |
| 架構健康度 | SOLID 合規、關注點分離、層次清晰 | 15% |
| 依賴健康度 | 依賴數量、版本過時程度、循環依賴 | 11% |
| 開發者體驗 | 上手難度、開發工具配置、錯誤訊息品質 | 10% |
綜合健康分數 = 加權平均
| 類別 | 偵測指標 |
|---|---|
| 可靠性債務 | 未處理例外、空指標風險、資源洩漏 |
| 安全性債務 | 已知漏洞、硬編碼密鑰、SQL 注入風險 |
| 可維護性債務 | 重複程式碼、過長函數、過深巢狀 |
| 效能債務 | N+1 查詢、無快取策略、同步阻塞 |
| 測試債務 | 低覆蓋率、無整合測試、脆弱測試 |
| 檢查項 | 風險等級 |
|---|---|
| 已知 CVE 漏洞 | 🔴 Critical |
| 重大版本落後(>2 版) | 🟠 High |
| 無維護套件(>2 年無更新) | 🟠 High |
| 次要版本落後 | 🟡 Medium |
| 授權合規風險 | 🟡 Medium |
| 風險 | 檢查項目 |
|---|---|
| A01 Broken Access Control | 授權檢查、路由保護 |
| A02 Cryptographic Failures | 加密演算法、密鑰管理 |
| A03 Injection | 輸入驗證、參數化查詢 |
| A07 Authentication | 身份驗證機制、Session 管理 |
| A09 Logging & Monitoring | 日誌記錄、異常追蹤 |
| 維度 | 評估 |
|---|---|
| 技術獨特性 | 核心演算法、專利、獨特實現 |
| 生態整合深度 | 與其他系統的整合程度 |
| 遷移成本 | 換到替代方案的成本 |
| 學習曲線 | 團隊上手難度 |
| 社群活躍度 | 維護者、貢獻者、Issue 回應 |
識別 2-3 個主要競品/替代方案,進行功能對比:
必須包含的比較維度:
| 維度 | 說明 |
|---|---|
| 核心功能 | 主要解決的問題 |
| 技術架構 | 技術選型差異 |
| 擴展性 | 是否支援插件/擴展 |
| 學習曲線 | 上手難度 |
| 社群活躍度 | 維護狀態、Issue 回應 |
| 授權方式 | 開源/商業/混合 |
範例格式:
| 特性 | 本專案 | 競品 A | 競品 B | 競品 C |
|------|--------|--------|--------|--------|
| 核心功能 | ✅ 完整 | ⚠️ 部分 | ✅ 完整 | ❌ 無 |
| 擴展性 | ✅ Plugin | ❌ 無 | ⚠️ 有限 | ✅ 完整 |
| 學習曲線 | ⚠️ 中等 | ✅ 簡單 | ❌ 困難 | ⚠️ 中等 |
用餅圖呈現最適合的使用場景佔比:
pie title 最適合使用場景
"場景 A" : 35
"場景 B" : 25
"場景 C" : 20
"場景 D" : 15
"其他" : 5
並提供採用建議矩陣:
| 情境 | 建議 | 說明 |
|---|---|---|
| 情境 A | ✅ 強烈推薦 | {為什麼適合} |
| 情境 B | ✅ 推薦 | {為什麼適合} |
| 情境 C | ⚠️ 可能過重 | {為什麼可能不適合} |
| 情境 D | ❌ 不適用 | {為什麼不適合} |
評估專案與當前/未來技術趨勢的契合程度:
| 趨勢領域 | 評估項目 |
|---|---|
| AI/ML 整合能力 | 是否有 AI 整合點、LLM 友好 API、向量資料庫支援 |
| 雲原生成熟度 | 容器化、K8s 支援、Serverless 適配性 |
| 邊緣運算準備度 | 輕量化可能性、離線能力、低延遲設計 |
| Web3/去中心化 | 區塊鏈整合潛力、去中心化架構可能性 |
| 永續性/綠色運算 | 資源效率、能耗優化潛力 |
quadrantChart
title Market Position Matrix
x-axis Low Tech Complexity --> High Tech Complexity
y-axis Low Market Demand --> High Market Demand
quadrant-1 Star (Invest)
quadrant-2 Question Mark (Evaluate)
quadrant-3 Pet (Divest)
quadrant-4 Cash Cow (Maintain)
| 指標 | 評估方式 |
|---|---|
| TAM/SAM/SOM 估算 | 目標市場規模、可服務市場、可獲取市場 |
| 成長動能 | GitHub Stars 趨勢、npm 下載量、社群活躍度成長率 |
| 網路效應潛力 | 使用者越多價值越高的特性 |
| 平台化可能性 | 是否可發展為生態平台 |
| 商業模式彈性 | 開源/SaaS/企業版等多元變現路徑 |
| 類別 | 內部 | 外部 |
|---|---|---|
| 正面 | 優勢 Strengths | 機會 Opportunities |
| 負面 | 劣勢 Weaknesses | 威脅 Threats |
基於以上分析,給出明確建議:
如果專案有 CHANGELOG 或 Git 歷史,分析版本演進:
Gantt 時間軸視覺化:
gantt
title 專案版本演進
dateFormat YYYY-MM-DD
section 核心功能
v1.0 初始版本 :done, 2024-01-01, 30d
v2.0 重大更新 :done, 2024-03-01, 60d
v3.0 架構重構 :done, 2024-06-01, 90d
section 整合功能
Plugin 系統 :done, 2024-04-01, 45d
API 擴展 :active, 2024-08-01, 60d
關鍵版本里程碑表:
| 版本 | 日期 | 重點功能 | 影響 |
|---|---|---|---|
| v1.0 | YYYY-MM-DD | 初始發布 | 建立基礎 |
| v2.0 | YYYY-MM-DD | {重大功能} | {帶來的改變} |
| v3.0 | YYYY-MM-DD | {重大功能} | {帶來的改變} |
演進趨勢分析:
使用 Impact × Effort 矩陣對所有發現進行分類:
quadrantChart
title Priority Matrix
x-axis Low Effort --> High Effort
y-axis Low Impact --> High Impact
quadrant-1 Do First (Quick Wins)
quadrant-2 Plan (Major Projects)
quadrant-3 Delegate/Automate
quadrant-4 Evaluate (Consider Later)
核心原則:每項建議必須可立即執行,不需額外研究
每項建議必須包含以下結構:
| 欄位 | 說明 | 必填 |
|---|---|---|
| ID | 唯一識別碼(如 REC-001) | ✅ |
| 類別 | Architecture / Security / Performance / Quality / Documentation / DevOps | ✅ |
| 標題 | 簡潔描述(< 10 字) | ✅ |
| 重要性 | ⭐⭐⭐ 核心/必要 / ⭐⭐ 重要/建議 / ⭐ 可選/增強 | ✅ |
| 優先級 | 🔴 Critical / 🟠 High / 🟡 Medium / 🟢 Low | ✅ |
| 問題位置 | 🆕 file:line 具體程式碼位置 |
✅ |
| 問題程式碼 | 🆕 展示有問題的實際程式碼片段 | ✅ |
| 修復範例 | 🆕 展示修復後的程式碼範例 | ✅ |
| 驗證步驟 | 🆕 如何驗證修復成功(命令或測試) | ✅ |
| 成功指標 | 可衡量的驗收標準 | ✅ |
建議格式範例:
### REC-001: 修復 SQL 注入漏洞
| 屬性 | 值 |
|------|-----|
| 類別 | 🔒 Security |
| 重要性 | ⭐⭐⭐ 核心 |
| 優先級 | 🔴 Critical |
#### 📍 問題位置
- `src/api/users.ts:87`
- `src/api/products.ts:142`
#### ❌ 問題程式碼
```typescript
// src/api/users.ts:87
const query = `SELECT * FROM users WHERE id = ${userId}`;
// ^^^^^^^^^ SQL 注入風險
// src/api/users.ts:87
const query = 'SELECT * FROM users WHERE id = $1';
const result = await db.query(query, [userId]);
# 1. 執行安全掃描
npm run security:audit
# 2. 測試注入防護
curl "localhost:3000/api/users/1'%20OR%20'1'='1"
# 預期:400 Bad Request(而非資料洩漏)
npm audit 無 Critical 警告
#### 8.2.1 重要性與優先級的區別
- **重要性 (Importance)**:對專案長期健康的影響程度
- ⭐⭐⭐ **核心/必要** — 不做會導致專案失敗或嚴重風險
- ⭐⭐ **重要/建議** — 顯著提升專案品質或降低風險
- ⭐ **可選/增強** — 錦上添花,提升體驗
- **優先級 (Priority)**:應該何時執行
- 結合重要性 + 緊迫性
```mermaid
quadrantChart
title Importance vs Priority Matrix
x-axis Low Priority --> High Priority
y-axis Low Importance --> High Importance
quadrant-1 Strategic (Plan Carefully)
quadrant-2 Critical (Do Now)
quadrant-3 Optional (If Time Permits)
quadrant-4 Quick Wins (Easy Wins)
flowchart TB
subgraph Critical["🔴 立即處理"]
C1[安全漏洞]
C2[生產環境風險]
end
subgraph High["🟠 短期處理"]
H1[架構問題]
H2[效能瓶頸]
end
subgraph Medium["🟡 規劃處理"]
M1[技術債務]
M2[測試覆蓋]
end
subgraph Low["🟢 適時處理"]
L1[文件完善]
L2[程式碼風格]
end
必須產生以下圖表:
C4Context
title System Context Diagram
Person(user, "User")
System(system, "Target System")
System_Ext(ext, "External System")
Rel(user, system, "Uses")
Rel(system, ext, "Integrates")
C4Container
title Container Diagram
Container(web, "Web App", "React")
Container(api, "API", "Node.js")
ContainerDb(db, "Database", "PostgreSQL")
flowchart LR
subgraph Core
A[Module A]
B[Module B]
end
A --> B
flowchart TB
subgraph Frontend
F1[React]
end
subgraph Backend
B1[Node.js]
end
subgraph Data
D1[(PostgreSQL)]
end
產生完整 Markdown 報告(詳見 extended/output-template.md):
╔════════════════════════════════════════════════════════════════╗
║ 📊 LAYER 1: Executive Dashboard(5-10 分鐘) ║
╠════════════════════════════════════════════════════════════════╣
1. Executive Summary(視覺儀表板)
- 🎯 一句話定位
- 📊 健康分數雷達圖(視覺化)
- ⚠️ 3 個關鍵風險卡片
- 🚀 立即行動建議(Top 3)
- 📈 競品定位矩陣圖
2. 30 秒專案摘要
- 這是什麼?(一段話)
- 解決什麼問題?
- 技術棧一覽
╠════════════════════════════════════════════════════════════════╣
║ 🏗️ LAYER 2: Architecture Story(30-60 分鐘) ║
╠════════════════════════════════════════════════════════════════╣
3. 🎬 How It Works(專案如何運作)🆕
- 核心流程敘事(輸入 → 處理 → 輸出)
- 主要使用場景序列圖(2-3 個)
- 關鍵程式碼入口點表
- 核心演算法/邏輯說明
4. Architecture Analysis(架構分析)
- C4 四層圖表(附說明文字)
- 架構模式識別
- 技術選型分析(為什麼選 X)
- 架構決策記錄 (ADR) 推測
5. Quality Assessment(品質評估)
- 8 維度雷達圖
- 各維度詳細評分與說明
- 優勢與風險清單
6. Value & Competitive Analysis(價值分析)
- UVP 陳述
- 不可替代性評分
- 競品比較矩陣
- 市場定位分析
╠════════════════════════════════════════════════════════════════╣
║ 🔬 LAYER 3: Deep Dive Reference(按需查閱) ║
╠════════════════════════════════════════════════════════════════╣
7. Technical Debt Report(技術債務報告)
- 債務分類清單(附 file:line)
- 優先級矩陣
- 修復建議(含程式碼範例)
8. Dependency Analysis(依賴分析)
- 依賴圖譜
- 健康檢查報告
- 循環依賴警告
9. Security Assessment(安全評估)
- 漏洞掃描摘要
- OWASP 檢查清單
- 風險等級分類(附 file:line)
10. 🛠️ Actionable Recommendations(可執行建議)🆕
- 按優先級分類:
* 🔴 立即處理
* 🟠 短期處理
* 🟡 規劃處理
* 🟢 適時處理
- 每項建議包含:
* 📍 問題位置(file:line)
* ❌ 問題程式碼
* ✅ 修復範例
* 🧪 驗證步驟
* ✓ 成功指標
11. Appendix(附錄)
- 完整目錄結構
- 關鍵檔案清單與說明
- 術語表
- 分析方法說明
/evolve — 自主完成複雜目標/commit — 提交程式碼變更/code-review — 深度程式碼審查ARGUMENTS: $ARGUMENTS