Join-AI
A CLI tool to intelligently find and concatenate files into a single text file, perfect for creating context for GenAI models like GPT and Gemini.
Tired of manually copying and pasting code into a prompt? join-ai
automates the process of gathering all relevant source files into one neatly
formatted file, ready for analysis.
Features
- Recursive File Search: Traverses directories to find all matching files.
- Powerful Filtering: Include files using glob patterns (
-p "*.rs") and exclude specific folders (-e target), extensions, and hidden files. - Smart Content Detection: Automatically detects and skips binary files to keep your context clean.
- Configurable: Control search depth, follow symlinks, and more.
- Fast: Built in Rust with a parallel file walker for excellent performance.
- Easy to Use: Simple and intuitive command-line interface inspired by modern CLI tools.
Installation
macOS & Linux
You can install join-ai with a single command. The script will download the
correct binary for your system and install it to a user-local directory.
|
Windows
- Go to the Releases page.
- Download the appropriate binary for your system (e.g.,
join-ai-x86_64-pc-windows-msvc.exe). - Rename the file to
join-ai.exefor convenience. - Place it in a directory of your choice (for example,
C:\Users\YourUser\bin). - Add that directory to your system's
Pathenvironment variable so you can runjoin-aifrom any terminal.
For Rust Developers
If you have the Rust toolchain installed, you can install join-ai directly
from crates.io on any supported platform:
Usage
Commands
join: Concatenate files from a directory into a single output file.update: Check for new releases and update the application (not yet implemented).
Examples
Concatenate all files in the current directory:
Concatenate only Rust (.rs) and Markdown (.md) files:
Check for updates:
## Command-Line Options
You can get a full and up-to-date list by running `join-ai --help`.
## Contributing
Contributions are welcome! Please feel free to open an issue or submit a pull
request.