LLM 上下文

专门给 AI / LLM 当上下文用的格式。紧凑的 markdown,没 JSON 包装,不带元数据噪音——直接复制粘进 Claude / ChatGPT / Cursor 等就能让 AI 帮分析、解释、提修复方案。

样例输出

# Code Smell Analysis

## Issue 1

- **Smell**: lazy_class
- **Category**: Dispensables
- **Severity**: Hint
- **Location**: cha-core/src/cache.rs:8:7-8:16 (`FileEntry`)
- **Problem**: Class `FileEntry` has only 0 method(s) and 8 lines, consider Inline Class
- **Suggested refactorings**:
  - Inline Class

## Issue 2

- **Smell**: lazy_class
- **Category**: Dispensables
…

适用场景

  • Code review 时让 AI 给修复建议cha analyze foo.rs --format llm | pbcopy,粘进 Claude 让它一条条改
  • 批量重构计划:把整个文件 / 模块的 finding 喂给 AI,让它估算重构工作量
  • 学习模式:AI 接手解释每条 smell 为什么是问题、Refactoring Guru 上的对应章节
  • 塞进 prompt context:MCP 工具或自动化 agent 把 finding 当输入

跟 JSON 的区别

维度--format json--format llm
体积较大(JSON 字段名 + 嵌套)紧凑(每个 issue ~6 行)
机器友好❌(结构化提取困难)
LLM 友好凑合(要让 AI 解析 JSON)✅(markdown 是 LLM 母语)
适合 jq

要给 AI 看 → llm。要给脚本看 → json

备注

  • 输出是英文的——LLM 现阶段对英文表述的 smell 名字识别更准。如果要中文 prompt,自己包一层告诉 AI "这是英文报告,请用中文回复"
  • 没有 schema——这是设计如此,给 LLM 看不需要 schema