🎉 Release v0.4.0: File Output & Smarter Type Filtering!
repoyank v0.4.0 is a focused release that adds direct file output and improves extension filtering for compound file types.
🙏 Thanks:
Special thanks to Siem Kleuskens (@swekkiekekkie) for contributing key work in this release, including the new file output option and improved compound extension filtering.
✨ Key Highlights & New Features:
- Write Output Directly to a File (
-o,--output <FILE>):- Save generated
repoyankoutput to a file instead of copying it to the clipboard. - Works with both relative and absolute paths.
- Parent directories are created automatically when needed.
- Clipboard output remains the default behavior when
-o/--outputis not provided. - The final summary now reports that files were written, including the approximate token count and destination path.
- Save generated
🐛 Fixes & Improvements:
- Compound Extension Filtering:
- Type filtering now supports compound extensions like
contract.json. - For example, this now correctly matches files such as
schema.contract.json:repoyank -a -t contract.json . - Existing single-extension filters like
-t rs,mdcontinue to work as before.
- Type filtering now supports compound extensions like
🔄 CLI Changes:
No breaking changes in this release.
-
New option:
-o, --output <FILE>
Writes generated output to
FILEinstead of copying to the clipboard. -
Dry run behavior remains safe:
repoyank -n -a 'docs/**/*.md' -o exports/docs-snippet.mdThis previews the output but does not write to the file or touch the clipboard.
🛠️ Installation:
No changes to the installation process.
-
Crates.io (Rust ecosystem):
cargo install repoyank
-
AUR (Arch Linux):
If you use an AUR helper likeparuoryay:paru -S repoyank # or yay -S repoyank -
Latest development version (from GitHub):
cargo install --git https://github.com/TimKoornstra/repoyank.git --branch main
📝 Example Usage:
-
Write all matching Rust files to a file:
repoyank -a -t rs src/ -o /tmp/repoyank-output.txt
-
Use a relative output path:
repoyank -a 'docs/**/*.md' -o exports/docs-snippet.md -
Filter by a compound extension:
repoyank -a -t contract.json .