内容
# 架构发现引擎
从Java/Maven源代码中自动发现企业架构工件。扫描您的项目并在几秒钟内生成TOGAF标准的应用程序架构交付成果。
## 功能
指向一个Java/Maven项目并获取:
- **AA-01** 应用模块清单(Excel)
- **AA-02** 功能项清单(Excel)
- **AA-03** 子功能清单(Excel)
- **AA-04** 功能分布(Excel)
- **AA-05** 集成清单(Excel)
- **AA-07** 应用架构图(PPTX)
- **AA-08** 应用集成图(PPTX)
所有成果均通过静态分析生成 - 无需运行时环境,不会离开您的机器。
## 安装
```bash
pip install architecture-discovery-mcp
```
需要Python 3.11+。
## 使用
### 作为MCP服务器(推荐)
引擎作为MCP服务器通过stdio运行。在AI IDE中进行配置:
**Claude Code** (`~/.claude.json`):
```json
{
"mcpServers": {
"architecture-discovery": {
"command": "architecture-discovery-mcp"
}
}
}
```
**Cursor** (`.cursor/mcp.json`):
```json
{
"mcpServers": {
"architecture-discovery": {
"command": "architecture-discovery-mcp"
}
}
}
```
**VS Code** (`.vscode/settings.json`):
```json
{
"mcp": {
"servers": {
"architecture-discovery": {
"command": "architecture-discovery-mcp"
}
}
}
}
```
然后自然地询问您的AI助手:
> "扫描D:/projects/my-java-app并生成应用程序架构工件"
### 可用的MCP工具
| 工具 | 描述 |
|------|-------------|
| `scan_project_tool` | 扫描项目结构,返回模块/框架概述 |
| `generate_app_architecture_tool` | 生成完整的AA工件集(Excel + PPTX) |
| `export_intermediate_data` | 以JSON格式导出结构化分析结果 |
| `generate_data_architecture` | DA工件(即将推出) |
| `generate_tech_architecture` | TA工件(即将推出) |
所有工具都接受可选的`locale`参数(`"zh"` 或 `"en"`,默认为`"zh"`)。
### 作为Python库
```python
from pathlib import Path
from src.scanner.project_scanner import scan_project
from src.analyzers.module_analyzer import analyze_modules
from src.analyzers.api_analyzer import analyze_apis
from src.analyzers.integration_analyzer import analyze_integrations
from src.generators.app_architecture_generator import generate_app_architecture
from src.generators.aa07_generator import generate_aa07
from src.generators.aa08_generator import generate_aa08
project = scan_project(Path("your-java-project"))
project = analyze_modules(project)
endpoints = analyze_apis(project)
integrations = analyze_integrations(project)
out = Path("output")
generate_app_architecture(project, endpoints, integrations, out, locale="en")
generate_aa07(project, out, locale="en")
generate_aa08(project, integrations, out, locale="en")
```
## 支持的项目
- Java/Maven项目(必须有`pom.xml`)
- Spring Boot / Spring Cloud微服务
- Feign客户端集成检测
- 嵌套的多模块项目(例如RuoYi-Cloud风格)
## 国际化
工件可以生成为中文(`locale="zh"`,默认)或英文(`locale="en"`)。这控制:
- Excel列标题和表格名称
- 单元格值(层名称,状态标签)
- PPTX幻灯片标题和图表标签
- 字体选择(中文为微软雅黑,英文为Calibri)
## 安全
- 通过stdio在本地运行 - 无网络暴露
- 源代码永远不会离开您的机器
- 导出的JSON仅包含结构化元数据(类名,API路径,注解),不包含源代码
## 开发
```bash
git clone <repo-url>
cd architecture-discovery-engine
pip install -e ".[dev]"
pytest tests/ -v
```
## 许可证
MIT