项目介绍:Code2Prompt
Code2Prompt 是一个强大的命令行工具,旨在将代码库转化为适合人工智能模型(特别是大型语言模型,如LLMs)的全面提示。其主要功能包括代码分析、文档生成和代码改进,为开发者与AI的互动提供了便利。
为什么选择 Code2Prompt?
Code2Prompt 的诞生是为了让开发者更加轻松地与大型语言模型进行互动。通过生成全面、结构化的提示,Code2Prompt 提供了项目上下文的完整视图,帮助AI提供更准确的建议和分析。这使得代码风格和惯例的维护变得更加简单,提升代码质量,并且能够支持更高效的重构和改进。
主要功能
- 整体代码库表示:通过生成结构化的Markdown提示,帮助AI更好地理解项目上下文。
- 智能源码树生成:创建代码库结构的层次视图,帮助用户更好地导航和理解项目。
- 可定制的提示模板:利用Jinja2模板,根据具体AI任务进行输出定制。
- 智能标记管理:优化标记以确保与各种LLM标记限制的兼容性。
- Gitignore 集成:遵循项目的 .gitignore 规则,确保不相关文件被排除。
- 灵活的文件处理:通过过滤和排除模式,用户可以控制包含哪些文件。
- 自定义语法高亮:通过
--syntax-map
选项指定文件扩展名与语法高亮之间的映射。 - 快捷剪贴板功能:快速复制生成的提示到剪贴板,优化工作流程。
- 多种输出选项:提供控制台显示或保存为文件的灵活输出方式。
- 代码可读性增强:为源代码块添加行号,便于特定部分讨论。
- 文件包含支持:支持模板导入,实现模块化设计。
- 输入变量支持:模板中支持输入变量,基于用户输入生成动态提示。
安装方法
用户可以通过下面的方法安装 Code2Prompt:
使用 pip
pip install code2prompt
使用 pipx (推荐)
pipx install code2prompt
快速开始
-
生成Python文件的提示:
code2prompt --path /path/to/your/script.py
-
处理整个项目目录并保存输出:
code2prompt --path /path/to/your/project --output project_summary.md
-
为多个文件生成提示并排除测试文件:
code2prompt --path /path/to/src --path /path/to/lib --exclude "*/tests/*" --output codebase_summary.md
案例示例
-
为Python库生成文档:
code2prompt --path /path/to/library --output library_docs.md --suppress-comments --line-number --filter "*.py"
-
为代码审查准备代码库摘要,专注于JavaScript和TypeScript文件:
code2prompt --path /path/to/project --filter "*.js,*.ts" --exclude "node_modules/*,dist/*" --template code_review.j2 --output code_review.md
基于Token的价格估算
Code2Prompt 提供了强大的token价格估算功能,支持多种AI提供商和模型。使用 --price
选项与 --tokens
,可以展示全面的成本估算,使开发人员能够了解AI模型使用的潜在开销。比如:
code2prompt --path /your/project --tokens --price --provider openai --model gpt-4
项目集成
Code2Prompt 可与多种工具和服务集成,包括GitHub Actions、Simon Willison的 llm CLI工具等,使其在开发流程中更为高效。
贡献和许可证
Code2Prompt 开放源代码,遵循 MIT 许可证进行发布。欢迎任何对该项目感兴趣的人进行贡献,具体细节请查看我们的贡献指南。
欢迎加入 Code2Prompt 的大家庭,与我们一起体验AI辅助开发的强大功能。