代码库越来越复杂,如何让 LLM 快速理解项目结构?code2prompt 提供了一种优雅的解决方案。

项目概览

属性内容
GitHubraphaelmansuy/code2prompt
Stars883
语言Python
特点代码转Markdown、.gitignore 过滤、模板支持
最后更新2025年6月

它解决了什么问题

开发者经常需要:

  • 向 ChatGPT/Claude 询问代码问题,但复制粘贴太麻烦
  • 希望 AI 审查整个项目的架构设计
  • 需要生成代码文档或README
  • 在多个文件间建立上下文关联

code2prompt 把整个代码库打包成一份结构清晰的 Markdown 文件,LLM 可以一次性理解项目全貌。

核心功能

智能过滤

  • 自动遵循 .gitignore 规则,排除 node_modules、pycache
  • 支持自定义包含/排除模式
  • 按文件类型过滤(如只提取 .ts 和 .json)

结构化输出

  • 生成目录树,展示项目结构
  • 每个文件用代码块包裹,标注路径
  • 可选文件统计信息(行数、大小)

模板引擎

  • 内置多种提示模板
  • 支持自定义 Jinja2 模板
  • 常见场景:代码审查、文档生成、Bug 分析

Token 优化

  • 估算生成内容的 Token 数量
  • 避免超出 LLM 上下文限制

快速开始

# 安装
pip install code2prompt

# 基础用法
code2prompt /path/to/your/project

# 排除测试文件
code2prompt . --exclude "*.test.js,*.spec.ts"

# 使用模板生成代码审查提示
code2prompt . --template code_review

工具对比

工具Stars特点
gpt-repository-loader1.2k早期工具,功能单一
repomix2.8kTypeScript 重写,功能丰富
code2prompt883Python 实现,模板灵活

code2prompt 的优势在于模板系统。你可以定义 “生成 API 文档”、“寻找潜在 Bug”、“解释架构” 等专用模板,一键生成针对性提示词。

适用场景

  • 代码审查:让 AI 检查代码规范、潜在问题
  • 文档生成:从源码自动生成技术文档
  • Onboarding:帮助新成员快速理解项目结构
  • Bug 分析:将错误上下文完整提供给 LLM

注意事项

  • 处理大型仓库时注意 Token 限制(建议先用 --filter 缩小范围)
  • 敏感代码谨慎上传至外部 LLM 服务
  • 模板语法使用 Jinja2,需要简单学习

总结

code2prompt 是一个专注解决单一问题的工具:让 LLM 理解你的代码库。它不追求功能大而全,而是把 “代码转 Markdown” 这件事做到极致。如果你经常需要与 AI 讨论代码,这个 883⭐ 的小工具值得一试。

属性内容
仓库https://github.com/raphaelmansuy/code2prompt
许可证MIT
语言Python
维护者@raphaelmansuy