Yek 项目使用与配置教程
1. 项目目录结构及介绍
Yek 是一个使用 Rust 语言编写的工具,用于将文本文件序列化以便于大型语言模型(LLM)的消费。项目的主要目录结构如下:
.
├── benches # 性能测试代码目录
├── scripts # 脚本目录
├── src # 源代码目录
│ ├── main.rs # 主程序入口
│ └── utils.rs # 工具函数
├── tests # 测试代码目录
│ └── test.rs
├── .cargo # Cargo 配置目录
├── .github # GitHub 配置目录
├── .vscode # VSCode 配置目录
├── .gitignore # Git 忽略文件
├── Cargo.lock # Cargo 依赖锁定文件
├── Cargo.toml # Cargo 配置文件
├── LICENSE # MIT 许可证文件
├── Makefile # Makefile 文件
├── README.md # 项目说明文件
├── bench.toml # 性能测试配置文件
├── cliff.toml # cliff 配置文件
└── yek.yaml # Yek 配置文件
2. 项目的启动文件介绍
项目的启动文件是 src/main.rs
,这是 Rust 程序的入口点。在这个文件中,定义了程序的命令行接口,并处理用户输入的参数,调用相应的处理逻辑。
fn main() {
// 程序入口逻辑
}
用户可以通过命令行运行 Yek,例如:
yek
这将序列化当前目录下的所有文件,并将结果输出到一个临时文件中。
3. 项目的配置文件介绍
Yek 的配置文件是 yek.yaml
,它允许用户自定义序列化过程中的各种行为。配置文件支持以下内容:
ignore_patterns
: 额外的忽略模式列表,用于排除不需要序列化的文件。git_boost_max
: 基于 Git 历史的最高优先级分数。priority_rules
: 定义文件优先级的规则,分数高的文件将先被处理。binary_extensions
: 额外的二进制文件扩展名,这些文件将被忽略。output_dir
: 定义输出目录。output_template
: 定义输出模板,用于格式化输出内容。
下面是一个配置文件的示例:
ignore_patterns:
- "ai-prompts/**"
- "__generated__/**"
git_boost_max: 50
priority_rules:
- score: 100
pattern: "^src/lib/"
- score: 90
pattern: "^src/"
- score: 80
pattern: "^docs/"
binary_extensions:
- ".blend"
- ".fbx"
- ".max"
- ".psd"
output_dir: "/tmp/yek"
output_template: "{{{FILE_PATH}}}\n\nFILE_CONTENT"
用户可以通过编辑这个文件来自定义 Yek 的行为,以满足特定的序列化需求。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考