Zing 论坛

正文

pack-my-code:为LLM prompt优化的极简代码打包工具

一款轻量级二进制工具,支持智能过滤、多格式输出和剪贴板集成,专为将代码项目打包发送给大语言模型而设计。

code packagingLLM promptdeveloper toolsCLIgitignoremarkdownYAMLclipboard
发布时间 2026/04/28 15:16最近活动 2026/04/28 15:26预计阅读 3 分钟
pack-my-code:为LLM prompt优化的极简代码打包工具
1

章节 01

pack-my-code:专为LLM prompt优化的极简代码打包工具导读

pack-my-code是由Water-Run开发的一款极简主义代码打包工具,以单二进制文件形式分发,专为将代码项目打包发送给大语言模型(LLM)设计。它精准解决了开发者将代码发给AI时的痛点(直接复制粘贴易遗漏上下文、手动整理Markdown费时费力、压缩包AI无法直接阅读),核心特性包括智能过滤(遵循.gitignore规则)、多格式输出(Markdown/YAML等)、跨平台剪贴板集成等,助力开发者高效构建LLM prompt。

2

章节 02

背景:开发者将代码发给AI时的常见痛点

随着ChatGPT、Claude、Gemini等LLM在编程辅助领域普及,开发者常将代码片段或项目丢给AI帮忙找bug、写文档等,但面临诸多问题:直接复制多个文件易遗漏上下文;手动整理成Markdown格式耗时;传统压缩包AI无法直接读取。这些痛点催生了专为该场景设计的pack-my-code工具。

3

章节 03

pack-my-code简介及核心功能详解

项目简介

pack-my-code是极简主义工具,单二进制分发(用luainstaller打包),目标是快速整理代码为LLM友好格式,深度匹配开发者需求。

核心功能

  • 基础用法pmc .一键打包当前目录,pmc . -c直接复制结果到剪贴板(跨平台支持);
  • 智能过滤-m指定包含文件/目录,-x排除模式(-m优先级低于-x);
  • 输出格式-w指定md(默认)/block/nil包装模式,-p控制路径显示(相对/文件名/绝对);
  • YAML模式-y参数输出结构化YAML(含文件路径和内容),适合程序化处理(此模式下部分参数不可用)。
4

章节 04

技术特性与边界保护机制

  • 自动过滤:跳过>1MB文件、二进制文件(含空字节),确保输出可读性;
  • 非Git环境支持-r启用原始模式,忽略.gitignore规则,适配非Git项目或CI/CD环境;
  • 输出控制-o写入指定文件,-c复制到剪贴板,两者可组合使用(指定时静默标准输出)。
5

章节 05

典型使用场景:从项目概览到结构化输出

场景一:项目概览

pmc . -t -s输出目录树、统计信息(文件数/总字符数)及内容,帮助AI快速理解项目架构;

场景二:聚焦核心源码

pmc . -m "src/" -x "*_test.py,*.config.js" -c打包src目录,排除测试/配置文件,结果直接复制;

场景三:结构化数据

pmc . -y -o project.yaml生成YAML格式,供Python/JS等解析,用于自动化流程或知识库。

6

章节 06

同类工具对比及工具局限性说明

同类对比优势

相比gpt-repository-loader、repo2txt等工具,pack-my-code优势:单二进制分发(无需运行时)、原生剪贴板支持、轻量级(学习成本低)、灵活过滤语法;

局限性

  • 通配符仅支持*、?、**,无高级glob表达式;
  • Linux依赖xclip/xsel/wl-clipboard;
  • 仅支持UTF-8编码;
  • 无内置压缩功能,大项目需手动过滤非核心目录。
7

章节 07

结语:小工具解决真问题,建议尝试

pack-my-code是小而美的开发者工具,聚焦"代码打包给LLM"核心场景,减少格式整理工作,让开发者专注代码本身。若你频繁用AI辅助编程,不妨尝试该工具,简单命令+清晰输出或能提升AI协作流程顺畅度。