工程師最不喜歡做的三件事:寫文件、更新文件、畫架構圖。
Archify 直接幫你解決第三個問題——而且連帶解決第一和第二個。
Archify(GitHub: tt-a1i/archify)是一個 MIT 授權的 Agent Skill,設計用來被 AI coding agent(Claude Code、Cursor、GitHub Copilot Agent Mode)呼叫。它的功能很單純但極其有用:
你當然可以把程式碼貼給 ChatGPT 說「幫我畫架構圖」,但問題在於:
import 後面的實際邏輯Archify 作為 Agent Skill 解決了這些問題——它在 agent 的執行環境裡直接讀取檔案系統,遞迴分析相依關係,輸出經過驗證的標準 Mermaid/PlantUML 語法。
Archify 的執行流程分四個階段:
對各語言使用對應的 AST 解析器,提取:模組結構、import/require 關係、類別繼承、函式呼叫鏈、API 端點定義(Express、FastAPI、Gin 等)
把靜態分析的結果建成有向圖(Directed Graph),節點是模組/類別/函式,邊是呼叫關係和資料流向。
呼叫 LLM(預設用你的 agent 當前模型)對圖結構進行語意標注:「這個模組負責什麼?」「這個資料流是同步還是非同步?」
根據你指定的格式(Mermaid / PlantUML / draw.io / JSON)輸出可直接使用的圖表代碼。
# Claude Code 的 Agent Skills 預設目錄
mkdir -p ~/.claude/skills
git clone https://github.com/tt-a1i/archify ~/.claude/skills/archify
cd ~/.claude/skills/archify
cp config.example.yaml config.yaml
# 編輯 config.yaml
output_format: mermaid # mermaid / plantuml / drawio / json
max_depth: 3 # 遞迴分析深度
include_external: false # 是否包含 node_modules / vendor
language_hints:
- typescript
- python
exclude_patterns:
- "**/*.test.ts"
- "**/migrations/**"
- "**/__pycache__/**"
cd ~/.claude/skills/archify
# Node.js 版(TypeScript/JavaScript 專案用)
npm install
# Python 版(Python 專案分析用)
pip install archify-py
# 在 Claude Code 聊天框直接輸入:
"幫我用 Archify 生成這個專案的架構圖"
"請分析 src/ 目錄並輸出 Mermaid 流程圖"
"生成 API 端點到資料庫的完整資料流圖"
# 安裝
npm install -g archify
# 在專案根目錄執行
archify generate --format mermaid --depth 3
archify generate --format plantuml --target src/services/
archify generate --format drawio --output architecture.xml
# 輸出 Mermaid 到剪貼板(直接貼進 Confluence)
archify generate --format mermaid | pbcopy
# 在 .cursorrules 新增:
When asked to generate architecture diagrams or system design documents,
use the Archify tool located at ~/.claude/skills/archify.
Always output in Mermaid format unless specified otherwise.
Focus on: API routes, service dependencies, database models, and async queues.
| 圖類型 | 使用情境 | 輸出格式 | 最適合 |
|---|---|---|---|
| Flowchart | API 呼叫流程、函式呼叫鏈 | Mermaid flowchart | GitHub README / Confluence |
| Sequence Diagram | 前後端互動、微服務通訊 | Mermaid sequenceDiagram | 技術規格文件 |
| Entity Relationship | 資料庫 Schema 視覺化 | Mermaid erDiagram | 資料庫設計文件 |
| Class Diagram | OOP 繼承關係 | PlantUML / Mermaid | 後端架構設計 |
| C4 Context | 系統邊界與外部整合 | PlantUML C4 | 系統架構審查 |
| Infrastructure | 雲端資源關係(AWS / GCP / DO) | draw.io XML | DevOps / SRE |
$ archify generate --format mermaid
# 輸出:
graph TD
A[routes/users.ts] -->|GET /users| B[controllers/UserController.ts]
A -->|POST /users| B
B -->|validates| C[middleware/validator.ts]
B -->|calls| D[services/UserService.ts]
D -->|Prisma ORM| E[models/User.ts]
D -->|JWT| F[lib/auth.ts]
E -->|PostgreSQL| G[(users table)]
$ archify generate --format mermaid --target app/
# 自動偵測到 FastAPI 路由裝飾器
graph LR
A[main.py] --> B[routers/items.py]
A --> C[routers/users.py]
B -->|Depends| D[dependencies.py]
B -->|CRUD| E[crud/items.py]
E -->|SQLAlchemy| F[(MySQL)]
C -->|OAuth2| G[core/security.py]
# 支援多目錄掃描
archify generate --dirs ./user-service,./order-service,./payment-service \
--format mermaid --type sequence
# 自動生成跨服務的 Sequence Diagram
sequenceDiagram
Client->>UserService: POST /checkout
UserService->>OrderService: createOrder(items)
OrderService->>PaymentService: processPayment(orderId)
PaymentService-->>OrderService: paymentConfirmed
OrderService-->>UserService: orderCreated
UserService-->>Client: 201 Created
| 工具 | 生成速度 | 準確度 | 保持同步 | 費用 | 整合性 |
|---|---|---|---|---|---|
| Archify | 30 秒 | 自動(AST) | 指令重新生成 | 免費(MIT) | Claude Code / Cursor |
| 手動(draw.io) | 2-8 小時 | 依人工 | ❌(常過期) | 免費 | 無 |
| Mermaid Chat | 5 分鐘 | 需手動描述 | ❌ | 部分免費 | 有限 |
| Structurizr | 需要手寫 DSL | 高(手動) | 手動維護 | $9-18/月 | 有限 |
| ChatGPT 直接貼碼 | 3-10 分鐘 | 中(Context 限制) | ❌ | 消耗 token | 無 |
| GitHub Copilot(內建) | 5-10 分鐘 | 中 | ❌ | 需訂閱 | Copilot 限定 |
台灣製造業充滿 10-20 年的舊系統,沒有任何文件。新人入職第一個月通常就是在「讀 code 猜架構」。
技術課程講師最需要清晰的架構圖來解說複雜概念:
想在 Hahow 開設技術課程?先把架構圖做好,學員更容易理解你的教學。
🎓 Hahow 課程平台 →台灣 SaaS 新創在融資或被收購時,投資方常要求提供系統架構文件:
把 Archify 加進 GitHub Actions,每次 merge to main 自動重新生成架構圖並更新 README:
# .github/workflows/update-architecture.yml
name: Update Architecture Diagram
on:
push:
branches: [main]
paths: ['src/**', 'app/**']
jobs:
archify:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install Archify
run: npm install -g archify
- name: Generate Architecture Diagram
run: |
archify generate --format mermaid --depth 3 > /tmp/arch.md
# 更新 README.md 的架構圖區塊
python scripts/update_readme_diagram.py
- name: Commit updated diagram
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "docs: auto-update architecture diagram"
# 只分析特定服務層
archify generate \
--target src/services/ \
--exclude "**/*.spec.ts,**/mocks/**" \
--depth 2 \
--focus "database,external-api" \
--format mermaid
// 在 Claude Code 中呼叫 Archify 的推薦方式:
"請用 Archify 分析 src/api/ 目錄,生成:
1. API 路由到 Service 的流程圖(flowchart)
2. 主要 Service 之間的依賴關係圖
3. 資料庫模型的 ER 圖
全部用 Mermaid 格式,輸出到 docs/architecture/ 目錄"
用 DigitalOcean 建立內部技術文件網站($6/月起),搭配 Archify 自動更新的 Mermaid 圖,讓全團隊隨時看到最新架構。
🚀 DigitalOcean 新用戶 $200 免費額度 →DataCamp — 學 AI Agent 開發、Prompt Engineering、LLM 整合
Archify 是 Agent Skill 生態的一部分,想深入開發自己的 AI Skills,DataCamp 是最好的繁英雙語學習平台。
想把 AI 工具變成被動收入?
Systeme.io 幫你建立課程銷售頁、電子報和聯盟行銷管道,免費方案就夠用。
v2.11.0 支援:Python、TypeScript、JavaScript、Go、Rust、Java、Kotlin、PHP、Ruby、C#。對 Terraform 和 Kubernetes YAML 也有基本支援(基礎設施圖)。
可以,但建議用 --target 指定特定子目錄而非全局掃描。Archify 對 10 萬行的 TypeScript 專案(指定 src/api/)通常 30-60 秒內完成。超大型 Monorepo 建議分層分析(先分析 API 層,再分析 Service 層)。
可以。Archify 輸出的 Mermaid 是標準語法,GitHub 原生渲染支援。格式包在 ```mermaid 代碼塊裡直接貼即可。Confluence 需要安裝 Mermaid Plugin(免費)。
不會。Archify 的靜態分析(AST 解析、關係圖建構)完全在本地執行。只有「AI 語意增強」階段會呼叫 LLM API(你的 Claude Code / Cursor 使用的模型),但傳送的只是結構摘要,不是原始程式碼全文。如需完全離線,可以關閉語意增強:--no-ai-enhance。
可以設定 git hook:
# .git/hooks/post-commit
#!/bin/bash
archify generate --format mermaid --quiet > docs/architecture.md
git add docs/architecture.md
git commit --amend --no-edit --no-verify
GitHub Copilot(Workspace 功能)的架構圖是即席生成,無法自動化。Archify 的優勢是:可作為 Script 執行、可進 CI/CD、支援更多圖類型(ER、C4、Sequence)、且輸出格式更標準(真正可渲染的 Mermaid,不是描述文字)。
如果你在用 Claude Code 開發,這些文章也值得一讀: