code2prompt简介
code2prompt是一个开源的命令行工具,旨在简化开发者与大型语言模型(LLMs)交互的过程。它可以将整个代码库转换为全面、AI友好的提示,使开发者能够充分利用AI进行代码分析、文档编写和改进。
主要功能
- 生成结构化的Markdown提示,包含源代码树结构和所有代码文件内容
- 智能源代码树生成,提供代码库结构的清晰层次视图
- 使用Jinja2模板自定义提示输出
- 智能令牌管理,确保生成的提示与各种LLM令牌限制兼容
- 支持.gitignore规则,准确排除不相关文件
- 使用glob模式灵活过滤和排除文件
- 自定义文件扩展名与特定语法高亮的映射
- 一键复制生成的提示到剪贴板
- 多种输出选项:保存到文件或显示在控制台
- 为源代码块添加行号,提高代码可读性
- 支持模板导入,实现模块化模板设计
- 支持模板中的输入变量,实现动态提示生成
安装方法
使用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
- 创建AI模型的输入以建议改进:
code2prompt --path /path/to/src/components --suppress-comments --tokens --encoding cl100k_base --output ai_input.md
模板系统
code2prompt支持使用Jinja2模板自定义输出格式。使用--create-templates
命令可以生成示例模板:
code2prompt --create-templates
这将创建一个templates
目录,包含以下示例Jinja2模板:
- default.j2: 通用模板
- analyze-code.j2: 用于详细代码分析
- code-review.j2: 用于全面代码审查
- create-readme.j2: 用于生成README文件
- improve-this-prompt.j2: 用于优化AI提示
与LLM CLI工具集成
code2prompt可以与Simon Willison的llm CLI工具集成,用于增强代码分析:
pip install code2prompt llm
基本用法:
- 生成代码摘要并使用LLM分析:
code2prompt --path /path/to/your/project | llm "Analyze this codebase and provide insights on its structure and potential improvements"
- 处理特定文件并获取重构建议:
code2prompt --path /path/to/your/script.py | llm "Suggest refactoring improvements for this code"
总结
code2prompt是一个强大的工具,可以帮助开发者更好地利用AI进行代码分析和改进。通过将整个代码库转换为结构化的提示,它简化了与大型语言模型的交互过程。无论是进行代码审查、生成文档还是寻求优化建议,code2prompt都能为您的AI辅助开发提供有力支持。
要深入了解code2prompt的更多功能和用法,请访问项目的GitHub仓库。如果您觉得这个工具有用,不要忘了给项目点个星标,这将有助于开发者们继续改进这个工具!
文章链接:www.dongaigc.com/a/code2prompt-learning-resources-ai-prompt
https://www.dongaigc.com/a/code2prompt-learning-resources-ai-prompt