#file #size #md #txt #feedyourai

app feedyourai

A tool to combine text files for AI processing with filtering options

25 stable releases

Uses new Rust 2024

new 1.3.2 Apr 25, 2025
1.3.1 Apr 15, 2025
1.1.0 Mar 31, 2025

#1 in #md

Download history 944/week @ 2025-03-26 188/week @ 2025-04-02 486/week @ 2025-04-09 188/week @ 2025-04-16

1,806 downloads per month

MIT license

56KB
1K SLoC

FeedYourAI

A command-line tool to combine files from a directory into a single file for AI processing, with flexible filtering options.

Features

  • Combines multiple text files into one output file
  • Filters files by:
    • Size
    • File extensions (e.g., .txt, .md)
  • Preserves file boundaries with headers showing filename and size
  • Customizable input directory and output file

Installation

Prerequisites

  • Rust (latest stable version recommended)

Install via Cargo

cargo install feedyourai

Or,

cargo install --git https://github.com/alexandretrotel/feedyourai.git

This installs the fyai binary to ~/.cargo/bin/. Ensure this directory is in your PATH.

Usage

Run fyai in your terminal to combine files:

Basic Usage

fyai
  • Combines all files from the current directory into feedyourai.txt

Options

USAGE:
    fyai [OPTIONS]

OPTIONS:
    -d, --dir <DIR>          Sets the input directory [default: .]
    -o, --output <FILE>      Sets the output file [default: feedyourai.txt]
    -e, --ext <EXT>          Comma-separated list of file extensions to exclude (e.g., txt,md)
    -n, --min-size <BYTES>   Exclude files smaller than this size in bytes (default: 51200)
    -m, --max-size <BYTES>   Exclude files larger than this size in bytes
    -h, --help               Print help information
    -V, --version            Print version information

Examples

  • Combine .txt and .md files from a specific directory:

    fyai -d ./docs -e txt,md
    
  • Include all files (no size minimum) up to 1MB:

    fyai -n 0 -m 1048576
    
  • Custom output file with files between 10KB and 500KB:

    fyai -n 10240 -m 512000 -o ai_input.txt
    

Output Format

The combined file includes headers for each source file:

=== File: example.txt (12345 bytes) ===
[contents of example.txt]

=== File: notes.md (67890 bytes) ===
[contents of notes.md]

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Submit a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Built with Rust
  • Uses clap for command-line parsing

Dependencies

~5–13MB
~141K SLoC