// the find
mohsen1/yek
A fast Rust based tool to serialize text-based files in a repository or directory for LLM consumption
yek is a CLI tool that packs a codebase into a single text file formatted for LLM context windows. It uses Git commit history to score file importance and orders files so that high-priority content lands late in the output, where attention is stronger. Aimed at developers who regularly paste code into Claude, GPT, or similar.
The Git-history-based priority scoring is the most interesting part — files touched frequently or recently bubble up, which is a better heuristic than alphabetical order or file size. The 230x speedup over repomix on the Next.js repo is credible for a Rust parallel implementation vs. a Node.js one. Token-based capping (`--tokens 128k`) is a practical feature that saves you from manually trimming context. The output template and `yek.yaml` config give you enough control to fit different LLM workflows without forking the tool.
The file format is just `>>>> FILE_PATH\nFILE_CONTENT` — there's no structured boundary that prevents a model from confusing separator lines with content if a file happens to contain the same pattern. Token counting mode almost certainly uses an approximation rather than the actual model's tokenizer, so the 'cap at 128k' guarantee is loose. With 67 forks and no contribution guidelines visible in the tree, the project is effectively one person's tool that others are watching; the roadmap is an issue tracker link, not a direction. The `ailoop.yaml` workflow and `scripts/ailoop.ts` suggest the repo is partly maintained by an AI loop, which is either confidence-inspiring or a warning sign depending on how you feel about that.