code2prompt
将任意代码库压缩为结构化 LLM Prompt,支持 Token 计数与模板自定义
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
将任意代码库压缩为结构化 LLM Prompt,支持 Token 计数与模板自定义
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你有没有遇到过这种情况:想用 ChatGPT 分析一个开源项目,但项目有几十个文件、一个一个复制粘贴烦死人?或者你写了个 Agent 工具想让 AI「看懂」你的代码库,结果上下文塞不下?
Code2Prompt 就是来解决这个问题的——它是一个命令行工具,能把任意代码库「压缩」成一份结构化的文本,再直接塞进 AI 的输入框里。它会保留目录树、文件内容,还能自动统计 Token 数量,避免你超限。
这个工具的作者 Mufeed VH 是一名全栈开发者,日常工作中需要频繁和 AI 编程工具打交道。他发现,每次想让 Claude 或 ChatGPT 理解一个新项目,都得手动复制代码、调整格式、计算 Token——这套流程既枯燥又容易出错。
于是他花了一个周末,用 Rust 写出了 Code2Prompt 的原型。没想到上线后大受欢迎,迅速在 GitHub 积累了近 8000 颗星,成为 AI 工程领域的热门工具。如今它已经发展成一个完整的生态系统,支持 CLI、Python SDK、MCP 服务器等多种接入方式。
想象一下:你有一台超高效的文件「打包机」,把一整个代码仓库扔进去,它自动整理成一份干净的文档,还贴心地告诉你这份「文档」的字数是否符合 AI 的胃口。

Code2Prompt 远不止一个文件拼接工具。它的功能设计处处体现了对 AI 使用场景的深刻理解。
Token 精确计数。项目使用 tiktoken(OpenAI 出品的 BPE 分词器)实时统计输出 Token 数量。你不需要猜测 AI 的上下文限制,工具直接告诉你「这份 prompt 消耗了多少 Token,还剩多少余量」。这对 GPT-4 Turbo、Claude 100K 等不同上下文窗口的模型尤其有用。
灵活的模板系统。Code2Prompt 内置 Handlebars 模板引擎,支持高度自定义的输出格式。你可以定义自己的 prompt 模板,比如加上「请用中文回答」「专注于安全漏洞」等指令。每次生成时工具会自动填充代码内容,让你每次都得到格式统一的输入。
Git 感知能力。工具能自动读取当前 Git 分支、提交历史和修改状态,生成带有版本上下文的内容。这对分析「最近改了什么」或对比不同分支的差异特别有帮助。
多后端输出。支持三种输出模式:直接复制到系统剪贴板(默认)、保存为文件、或输出到标准输出。配合配置文件 .c2pconfig,可以实现一键标准化输出。
文件过滤与排除。通过 glob 模式控制包含/排除哪些文件。比如只分析 *.rs 源文件、排除测试代码:include_patterns = ["*.rs"] + exclude_patterns = ["**/test*"]。这对于大型 monorepo 项目至关重要。
从代码结构看,Code2Prompt 体现了相当高的工程素养。
项目采用 Rust Workspace 结构,分为三个核心 crate:
code2prompt-core 是引擎核心,负责文件遍历(walkdir + ignore)、Git 操作(git2)、编码检测(chardetng)、Token 计数(tiktoken-rs)、模板渲染(handlebars)。这个库完全脱离 CLI 依赖,可以被其他 Rust 程序直接调用。
code2prompt 是交互式 CLI 入口,使用 clap 构建命令行界面,配合 ratatui/tui-tree-widget 实现终端 TUI 界面,提供交互式目录选择、配置向导等功能。
code2prompt-python 是 Python SDK 绑定,使用 PyO3 将 Rust 核心编译为 Python 扩展包,支持 pip install code2prompt-rs 一键安装。SDK 可以集成到 Python AI Agent 工作流中,作为 LangChain、AutoGPT 等框架的上下文注入工具。
整个项目依赖管理清晰,workspace 统一管理依赖版本。Release 构建使用了 LTO(链接时优化)和单 codegen 单元策略,确保最终二进制体积小、执行快。
Code2Prompt 的安装极度简洁。如果你的机器有 Rust 工具链:
cargo install code2prompt
用 macOS + Homebrew 更方便:
brew install code2prompt
Python 用户(尤其是做 AI 应用开发的)可以用 pip 安装 SDK:
pip install code2prompt-rs
安装完成后,分析当前目录只需一行命令,结果自动复制到剪贴板:
code2prompt .
如果需要持久化保存或接入脚本:
code2prompt path/to/project --output-file prompt.txt
进阶用户可以配置 .c2pconfig 实现团队标准化输出——所有成员用同一套 prompt 模板,保证 AI 分析结果的一致性。
Code2Prompt 不只是一个 CLI 工具,作者还构建了完整的开发者生态。
MCP 服务器是其最有潜力的扩展方向。MCP(Model Context Protocol)是 Anthropic 主导的 AI Agent 上下文协议。有了 MCP 服务器,Claude Desktop 等工具可以直接「看到」你的代码库,无需手动复制粘贴,实现真正的 AI 原生开发体验。
Python SDK 则面向 AI 应用开发者。通过 SDK,你可以把 Code2Prompt 集成到自己的工作流中:
from code2prompt import Code2Prompt
generator = Code2Prompt(project_path="./my-project")
prompt = generator.generate(template="security-audit")
# 将 prompt 发送给 Claude/GPT...
这种程序化调用方式特别适合需要批量分析多个仓库、或在 CI/CD 流水线中自动生成代码审查 prompt 的场景。
工具虽好,也有明显短板。
无 Web UI:Code2Prompt 是纯命令行工具,没有图形界面。对于不熟悉终端的开发者有一定门槛。虽然有交互式 TUI,但本质上仍是命令行体验。
无 Docker 支持:没有提供 Dockerfile 或 docker-compose.yml,无法在容器环境中快速部署。这意味着团队环境标准化场景下需要额外工作。
对超大型仓库的处理:虽然 Token 计数功能可以预警超限,但当代码库远超 AI 上下文限制时,仍需要人工拆解或使用 RAG 类技术。Code2Prompt 只解决「打包」问题,不解决「拆分」问题。
安全性考量:将整个代码库输出意味着代码内容会进入 AI 服务商的服务器。如果代码涉及敏感信息(密钥、专有逻辑),需评估数据隐私风险。项目本身是纯本地工具,不存在数据外传问题,但输出的 prompt 最终发送到哪家 AI 服务由用户决定。
Code2Prompt 的流行折射出一个更大的趋势:AI 编程工具正在从「问答玩具」向「工程助手」演进。
早期用 AI 写代码,大家都是开一个 ChatGPT 窗口、手动粘贴几段代码、问几个问题。现在有了 Code2Prompt、MCP、以及各种 AI Agent 框架,开发者开始追求更系统化的工作流:让 AI 持续理解整个代码库、主动发现问题、提出修改建议。
这类「上下文工程」工具的兴起,说明 AI 编程正在从单点突破走向系统工程。一个好的上下文注入工具,有时候比换一个更强的模型还有效。
从数据看,Code2Prompt 在 GitHub 获得了 7373 颗星、多次登上 Rust 生态热门榜单、Google 和 OpenAI 工程师曾在社交媒体推荐过它——这些信号都说明它切中了一个真实的痛点。
对于 AI 开发者:Code2Prompt 是提升 Agent 效率的利器,值得集成到自己的开发工具链中。
对于 AI 爱好者:理解这类工具的工作原理,能帮助你更好地使用 AI 编程工具——很多时候,「怎么问」比「问什么」更重要。