semcod/code2llm
GitHub: semcod/code2llm
高性能 Python 代码流分析工具,通过优化的 TOON 格式提取 CFG、DFG、调用图等结构信息,为 LLM 辅助代码理解和重构提供上下文。
Stars: 0 | Forks: 2
# code2llm - 生成的分析文件
## AI 成本追踪
   
  
- 🤖 **LLM usage:** $7.5000 (240 commits)
- 👤 **Human dev:** ~$8680 (86.8h @ $100/h, 30min dedup)
生成于 2026-05-26,使用 [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/qwen/qwen3-coder-next)
此目录包含由 `code2llm` 生成的项目完整分析。每个文件在理解、重构和记录代码库方面都有特定的用途。 # noqa: E501
## 📁 生成文件概述
当你运行 `code2llm ./ -f all` 时,将创建以下文件:
### 🎯 核心分析文件
| 文件 | 格式 | 用途 | 关键洞察 |
|------|--------|---------|--------------|
| `evolution.toon.yaml` | **YAML** | **📋 重构队列** - 优先改进项 | 需要 0 个重构操作 |
| `map.toon.yaml` | **YAML** | **🗺️ 结构图谱 + 项目页眉** - 模块、导入、导出、签名、统计、警报、热点、趋势 | 项目架构概述 |
### 🤖 LLM 就绪文档
| 文件 | 格式 | 用途 | 使用场景 |
|------|--------|---------|----------|
| `context.md` | **Markdown** | **📖 LLM 叙述** - 架构摘要 | 粘贴到 ChatGPT/Claude 中进行代码分析 |
### 📊 可视化
| 文件 | 格式 | 用途 | 描述 |
|------|--------|---------|-------------|
| `calls.mmd` | **Mermaid** | **📞 调用图** | 函数依赖关系(仅限边) |
## 🚀 快速开始命令
### 基础分析
```
# 快速健康检查(仅限 TOON 格式)
code2llm ./ -f toon
# 生成所有格式(创建这些文件的操作)
code2llm ./ -f all
# 仅生成 LLM-ready 上下文
code2llm ./ -f context
```
### 性能选项
```
# 针对大型项目的快速分析
code2llm ./ -f toon --strategy quick
# 内存受限分析
code2llm ./ -f all --max-memory 500
# 跳过 PNG 生成(更快)
code2llm ./ -f all --no-png
```
### 重构焦点
```
# 获取重构建议
code2llm ./ -f evolution
# 关注特定 code smells
code2llm ./ -f toon --refactor --smell god_function
# 数据流分析
code2llm ./ -f flow --data-flow
```
## 📖 了解每个文件
### `analysis.toon` - 健康诊断
**用途**:快速概览代码健康问题
**关键部分**:
- **HEALTH**:严重问题 (🔴) 和警告 (🟡)
- **REFACTOR**:优先重构操作
- **COUPLING**:模块依赖和潜在循环
- **LAYERS**:包复杂度指标
- **FUNCTIONS**:高复杂度函数 (CC ≥ 10)
- **CLASSES**:需要关注的复杂类
**示例用法**:
```
# 查看健康问题
cat analysis.toon | head -30
# 检查重构优先级
grep "REFACTOR" analysis.toon
```
### `evolution.toon.yaml` - 重构队列
**用途**:逐步重构计划
**关键部分**:
- **NEXT**:立即执行的操作
- **RISKS**:潜在的破坏性变更
- **METRICS-TARGET**:成功标准
**示例用法**:
```
# 获取重构计划
cat evolution.toon.yaml
# 跟踪进度
grep "NEXT" evolution.toon.yaml
```
### `flow.toon` - 遗留数据流分析
**用途**:了解系统中的数据流动(遗留 / 显式启用)
**关键部分**:
- **PIPELINES**:数据处理链
- **CONTRACTS**:函数输入/输出契约
- **SIDE_EFFECTS**:具有外部影响的函数
**示例用法**:
```
# 查找 data pipelines
grep "PIPELINES" flow.toon
# 识别 side effects
grep "SIDE_EFFECTS" flow.toon
```
### `map.toon.yaml` - 结构图谱 + 项目页眉
**用途**:高层架构概述以及紧凑的项目页眉
**关键部分**:
- **MODULES**:所有模块及其基本统计信息
- **IMPORTS**:依赖关系
- **EXPORTS**:公共 API 表面和签名
- **HEADER**:统计、警报、热点、演进趋势
**示例用法**:
```
# 查看项目结构
cat map.toon.yaml | head -50
# 查找 public APIs
grep "SIGNATURES" map.toon.yaml
```
### `project.toon.yaml` - 紧凑分析视图
**用途**:从 project.yaml 数据生成的紧凑模块视图
**状态**:按需从统一的 project.yaml 生成的遗留视图
**示例用法**:
```
# 查看紧凑项目结构
cat project.toon.yaml | head -30
# 查找最大文件
grep -E "^ .*[0-9]{3,}$" project.toon.yaml | sort -t',' -k2 -n -r | head -10
```
### `prompt.txt` - 可直接发送的 LLM Prompt
**用途**:预格式化的 prompt,列出用于 LLM 对话的所有生成文件
**生成方式**:当 `code2llm` 使用源路径运行并请求 `-f all`(包含 `--no-chunk`)或 `code2logic` 时写入 # noqa: E501
**内容**:
- **文件部分**:列出所有现有的生成文件及其描述,包括由 `-f all` 生成的 `project.toon.yaml` # noqa: E501
- **源文件部分**:突出显示重要的源文件,例如 `cli_exports/orchestrator.py`
- **缺失部分**:显示哪些文件未生成(如果有)
- **任务部分**:包含具体执行说明的重构简报,而不仅仅是分析
- **优先级顺序部分**:取决于状态的重构优先级,从阻碍项开始,然后是架构清理 # noqa: E501
- **要求部分**:建议更改的指南
**示例用法**:
```
# 查看 prompt
cat prompt.txt
# 复制到剪贴板并粘贴到 ChatGPT/Claude
cat prompt.txt | pbcopy # macOS
cat prompt.txt | xclip -sel clip # Linux
```
### `context.md` - LLM 叙述
**用途**:可随时粘贴的 AI 助手上下文
**关键部分**:
- **Overview**:项目统计信息
- **Architecture**:模块分解
- **Entry Points**:公共接口
- **Patterns**:检测到的设计模式
**示例用法**:
```
# 复制到剪贴板供 LLM 使用
cat context.md | pbcopy # macOS
cat context.md | xclip -sel clip # Linux
# 配合 Claude/ChatGPT 进行代码分析
```
### 可视化文件 (`*.mmd`, `*.png`)
**用途**:直观理解代码结构
**文件**:
- `flow.mmd` - 带有复杂度颜色的详细控制流
- `calls.mmd` - 简单的调用图
- `compact_flow.mmd` - 高层模块视图
- `*.png` - 预渲染图像
**示例用法**:
```
# 查看图表
open flow.png # macOS
xdg-open flow.png # Linux
# 在 Mermaid Live Editor 中编辑
# 将 .mmd 文件内容复制到 https://mermaid.live
```
## 🔍 常见分析模式
### 1. 代码健康评估
```
# 快速健康检查
code2llm ./ -f toon
cat analysis.toon | grep -E "(HEALTH|REFACTOR)"
```
### 2. 重构规划
```
# 获取重构队列
code2llm ./ -f evolution
cat evolution.toon.yaml
# 关注特定问题
code2llm ./ -f toon --refactor --smell god_function
```
### 3. LLM 协助
```
# 为 AI 生成上下文
code2llm ./ -f context
cat context.md
# 配合 Claude 使用:“Based on this context, help me refactor the god modules”
```
### 4. 团队文档
```
# 为团队生成所有文档
code2llm ./ -f all -o ./docs/
# 创建可视化图表
open docs/flow.png
```
## 📊 解读指标
### 复杂度指标 (CC)
- **🔴 严重 (≥5.0)**:需要立即重构
- **🟠 高 (3.0-4.9)**:考虑重构
- **🟡 中 (1.5-2.9)**:监控复杂度
- **🟢 低 (0.1-1.4)**:可接受
- **⚪ 基本 (0.0)**:简单函数
### 模块健康度
- **GOD Module**:过大(>500 行,>20 个方法)
- **HUB**:高扇出(调用多个模块)
- **FAN-IN**:高传入依赖
- **CYCLES**:循环依赖
### 数据流指标
- **PIPELINE**:顺序数据处理
- **CONTRACT**:明确的输入/输出规范
- **SIDE_EFFECT**:外部状态修改
## 🛠️ 集成示例
### CI/CD 流水线
```
#!/bin/bash
# 在 CI 中分析代码质量
code2llm ./ -f toon -o ./analysis
if grep -q "🔴 GOD" ./analysis/analysis.toon; then
echo "❌ God modules detected"
exit 1
fi
```
### Pre-commit Hook
```
#!/bin/sh
# .git/hooks/pre-commit
code2llm ./ -f toon -o ./temp_analysis
if grep -q "🔴" ./temp_analysis/analysis.toon; then
echo "⚠️ Critical issues found. Review before committing."
fi
rm -rf ./temp_analysis
```
### 文档生成
```
# 为 README 生成文档
code2llm ./ -f context -o ./docs/
echo "## Architecture" >> README.md
cat docs/context.md >> README.md
```
## 📚 后续步骤
1. **审查 `analysis.toon`** - 识别严重问题
2. **检查 `evolution.toon.yaml`** - 规划重构优先级
3. **使用 `context.md`** - 获取 LLM 对复杂更改的协助
4. **参考可视化** - 了解系统架构
5. **跟踪进度** - 在更改后重新运行分析
## 🔧 高级用法
### 自定义分析
```
# 包含所有 insights 的深度分析
code2llm ./ -m hybrid -f all --max-depth 15 -v
# 性能优化
code2llm ./ -m static -f toon --strategy quick
# 专注于重构
code2llm ./ -f toon,evolution --refactor
```
### 输出自定义
```
# 分离输出目录
code2llm ./ -f all -o ./analysis-$(date +%Y%m%d)
# 将 YAML 拆分为多个文件
code2llm ./ -f yaml --split-output
# 分离孤立的函数
code2llm ./ -f yaml --separate-orphans
```
**生成方式**:`code2llm ./ -f all --readme`
**分析日期**:2026-05-25
**总函数数**:1312
**总类数**:143
**模块数**:427
有关 code2llm 的更多信息,请访问:https://github.com/tom-sapletta/code2llm
## 许可证
基于 Apache-2.0 许可。
标签:LLM辅助开发, LNA, Python, SOC Prime, 代码可视化, 代码流图, 开发工具, 无后门, 逆向工具, 错误基检测, 防御加固, 静态代码分析