Skip to content
Development
Command

/analyze-java

分析 Legacy Java Spring Boot 專案並生成教學文件

From plugin
claude-plugin-marketplace
2614 skills18 agents14 commands
Install
$ npx -y skills add DennisLiuCk/claude-plugin-marketplace --agent claude-code

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/analyze-java

Context preview

What this command does when you run it.

分析 Legacy Java Spring Boot 專案並生成教學文件

Command definition

analyze-java.md
description: 分析 Legacy Java Spring Boot 專案並生成教學文件
allowedTools:
  - Task
  - TodoWrite
  - Read
  - Write
  - Glob
  - Grep
  - Bash

Legacy Java Project Analyzer

為給定的 Java Spring Boot 專案生成詳細的分析文件,using multiple specialized agents with confidence-based scoring。

要執行此操作,請精確遵循以下步驟:

準備工作

1. 首先使用 TodoWrite 建立待辦事項清單,包含所有階段

2. 創建工作目錄:`.legacy-analysis/session-{timestamp}/`

階段 1: 資格預檢與快速掃描

3. 使用 Haiku 代理檢查專案是否適合分析。代理應檢查:

  • 專案根目錄是否存在 `pom.xml` 或 `build.gradle`?
  • 是否包含 Spring Boot 依賴?(檢查 spring-boot-starter)
  • Java 檔案數量是否適中?(使用 Glob 統計 **/*.java,應 < 1000)

如果不符合任一條件,說明原因並終止。

4. 使用 Haiku 代理快速掃描專案結構。代理應:

  • 使用 Glob 找出所有 .java 檔案並統計數量
  • 使用 Grep 搜尋以下註解並統計數量:
  • `@RestController` 或 `@Controller`
  • `@Service`
  • `@Repository`
  • `@Entity`
  • 讀取 pom.xml 或 build.gradle 獲取:
  • Spring Boot 版本
  • 前 10 個主要依賴
  • 使用 Glob 列出主要 package(src/main/java 下的第一層目錄)

返回專案摘要 JSON:

   {
     "projectType": "Spring Boot",
     "springBootVersion": "2.7.12",
     "buildTool": "Maven",
     "totalJavaFiles": 245,
     "componentCounts": {
       "controllers": 15,
       "services": 20,
       "repositories": 12,
       "entities": 10
     },
     "mainPackages": [
       "com.example.order.controller",
       "com.example.order.service",
       "com.example.order.repository"
     ],
     "keyDependencies": [
       "spring-boot-starter-web",
       "spring-boot-starter-data-jpa",
       "mysql-connector-java"
     ]
   }

5. 將專案摘要寫入:`.legacy-analysis/session-{timestamp}/01-project-scan.json`

階段 2: 多視角並行分析

6. 啟動 **6 個並行 Sonnet 代理**來獨立分析專案。

**所有代理的共同輸入**:

  • 專案摘要 JSON(來自步驟 4)
  • 專案根目錄路徑

**所有代理的共同輸出格式**(JSON):

   {
     "analyst": "代理名稱",
     "findings": [
       {
         "finding_id": "分類前綴-編號",
         "type": "發現類型",
         "title": "簡短標題",
         "description": "詳細描述(2-3 句話)",
         "evidence": [
           {
             "file": "檔案相對路徑",
             "lines": "起始行-結束行",
             "snippet": "關鍵程式碼片段(可選)"
           }
         ],
         "importance": "high/medium/low",
         "notes": "額外說明(可選)"
       }
     ],
     "total_findings": 數量
   }

**所有代理的重要規則**:

  • ❗ 每個發現必須有實際的檔案路徑和行號作為證據
  • ❗ 使用 Read 工具驗證檔案內容,確保引用正確
  • ❗ 使用 Glob/Grep 輔助搜尋,不要猜測
  • ❗ 如果無法確認,不要包含該發現
  • ❗ 只返回 JSON,不執行 Write 操作
  • ❗ 專注於自己的分析領域,不要越界

---

**代理 #1:架構分析代理**

職責:分析專案的整體架構和分層設計

應分析:

  • Package 組織結構(使用 Glob 掃描目錄)
  • 分層架構識別:
  • Controller 層:處理 HTTP 請求
  • Service 層:業務邏輯
  • Repository 層:資料存取
  • Entity 層:資料模型
  • 識別架構模式(MVC、三層架構、DDD 等)
  • 層與層之間的依賴關係(通過讀取代表性類別)

應使用工具:

  • Glob: 掃描 package 結構
  • Grep: 搜尋 @RestController, @Service, @Repository, @Entity
  • Read: 讀取 2-3 個代表性類別(每層一個)

發現類型前綴:`ARCH-`

發現類型:`architecture`

預期發現數量:8-15 個

---

**代理 #2:API 端點分析代理**

職責:分析所有 REST API 端點和請求處理流程

應分析:

  • 所有 @RestController 或 @Controller 類別(使用 Grep 找出)
  • 主要 API 端點:
  • HTTP 方法(GET/POST/PUT/DELETE)
  • 路徑和路徑參數
  • 請求/響應格式
  • 主要業務流程:
  • Controller → Service → Repository 的調用鏈
  • 事務管理(@Transactional)
  • 認證授權機制(如果有 Spring Security)
  • 異常處理(@ExceptionHandler, @ControllerAdvice)

應使用工具:

  • Grep: 搜尋 @RestController, @RequestMapping, @GetMapping, @PostMapping
  • Read: 讀取所有 Controller 類別(或前 10 個如果太多)
  • Grep: 搜尋 @Transactional, @ExceptionHandler

發現類型前綴:`API-`

發現類型:`endpoint`

預期發現數量:15-25 個(視 Controller 數量)

---

**代理 #3:資料流分析代理**

職責:分析資料模型和資料流轉

應分析:

  • 所有 JPA Entity 類別(使用 Grep 找出 @Entity)
  • Entity 之間的關聯關係:
  • @OneToOne, @OneToMany, @ManyToOne, @ManyToMany
  • 關聯的方向和級聯設定
  • 資料流轉路徑:
  • DTO → Entity(轉換邏輯)
  • Entity → Database(Repository 操作)
  • Repository 介面和自定義查詢
  • 資料驗證邏輯(@Valid, @NotNull 等)

應使用工具:

  • Grep: 搜尋 @Entity, @OneToMany, @ManyToOne
  • Read: 讀取所有 Entity 類別
  • Grep: 搜尋 @Repository, extends JpaRepository
  • Read: 讀取主要 Repository 介面

發現類型前綴:`DATA-`

發現類型:`entity` 或 `dataflow`

預期發現數量:10-20 個

---

**代理 #4:業務邏輯分析代理**

職責:分析核心業務邏輯和 Service 層

應分析:

  • 所有 @Service 類別(使用 Grep 找出)
  • 主要業務方法:
  • 方法簽名和參數
  • 業務規則和驗證
  • 複雜的業務邏輯
  • Service 之間的調用關係(依賴注入)
  • 事務管理:
  • @Transactional 的使用
  • 事務邊界
  • 業務異常處理

應使用工具:

  • Grep: 搜尋 @Service, @Transactional
  • Read: 讀取所有 Service 類別(或主要的 5-10 個)
  • 分析依賴注入(@Autowired, 建構子注入)

發現類型前綴:`BIZ-`

發現類型:`service` 或 `business-logic`

預期發現數量:15-25 個

---

**代理 #5:配置分析代理**

職責:分析專案配置和第三方整合

應分析:

  • application.yml 或 application.properties:
  • 資料庫配置
  • Server 配置
  • 環境變數
  • Spring Boot 配置類別(@Configuration):
  • Bean 定義
  • 第三方服務整合
  • Spring Security 配置(如果有)
  • 依賴管理(pom.xml 或 build.gradle):
  • 主要依賴及版本
  • 第三方庫的用途

應使用工具:

  • Read: 讀取 application.yml/properties
  • Grep: 搜尋 @Configuration, @Bean
  • Read: 讀取配置類別
  • Read: 讀取 pom.xml 或 build.gradle

發現類型前綴:`CONF-`

發現類型:`configuration` 或 `dependency`

預期發現數量:8-15 個

---

**代理 #6:模式識別代理**

職責:識別設計模式和編碼最佳實踐

應分析:

  • 設計模式的應用:
  • Factory Pattern(工廠模式)
  • Strategy Pattern(策略模式)
  • Builder Pattern(建造者模式)
  • Singleton Pattern(單例模式)
  • Spring 特定模式:
  • Dependency Injection(依賴注入)
  • AOP(面向切面編程,如果有 @Aspect)
  • 異常處理模式:
  • 全域異常處理器(@ControllerAdvice)
  • 自定義異常類別
  • 日誌記錄實踐(Logger 使用)
  • DTO 模式的使用

應使用工具:

  • Grep: 搜尋常見模式關鍵字(Factory, Strategy, Builder, Singleton)
  • Read: 讀取包含模式的類別
  • Grep: 搜尋 @ControllerAdvice, @Aspect, @Pointcut
  • 分析代碼風格和命名慣例

發現類型前綴:`PATTERN-`

發現類型:`pattern` 或 `practice`

預期發現數量:5-15 個

---

7. 等待所有 6 個代理完成,收集所有輸出

8. 合併所有發現清單為一個 JSON 陣列

9. 將合併的發現清單寫入:`.legacy-analysis/session-{timestamp}/02-findings-raw.json`

10. 統計總發現數量並報告(例如:"收集到 102 個發現")

階段 3: 獨立置信度評分

⚠️⚠️⚠️ **CRITICAL - THIS STAGE IS MANDATORY AND CANNOT BE SKIPPED** ⚠️⚠️⚠️

**為什麼這個階段是核心且不可跳過的:**

1. **這是整個插件的靈魂**

  • 置信度評分系統是本插件與其他分析工具的根本差異
  • 沒有評分 = 沒有質量保證 = 無法區分真實發現與幻覺
  • 跳過此階段違反了插件的核心設計原則

2. **防幻覺機制完全依賴此階段**

  • 第二層防護:評分代理使用 Glob 驗證檔案存在
Read more
Ships withclaude-plugin-marketplace

專為繁體中文使用者設計的 Claude Code 插件集合,提供開發、生產力、安全與學習等工具。

Get the whole plugin, auto-invoked
Stats
26
Stars
1
Views
5
Forks
Maintained
Maintenance
Python
Language
5mo ago
Last commit
8mo ago
Created

Repo: DennisLiuCk/claude-plugin-marketplace