reatler

Crates.ioreatler
lib.rsreatler
version0.6.4
created_at2024-11-25 15:44:55.077354+00
updated_at2026-01-02 11:05:26.11596+00
descriptionA thing that can bundle files into single one
homepage
repository
max_upload_size
id1460435
size50,518
Lev Lavryniuk (levlavryniuk)

documentation

README

📦 reatler

reatler is a CLI tool that scans a project directory, detects its type, and bundles matching files into a single output file (output.txt).
It supports automatic project type detection (Rust, JS, Python, etc.) or manual selection of file types, with optional smart directory search.


✨ Features

  • 🔍 Smart search for directories by name (using fd if available, otherwise recursive search).
  • 🧠 Automatic project type detection based on common project files (Cargo.toml, package.json, etc.).
  • 🛠 Manual mode for custom file type and ignore patterns.
  • 📂 .gitignore support — automatically excludes ignored files.
  • 📜 Single-file bundling — concatenates all matched files into output.txt.
  • Fast scanning with optional fd integration.

📥 Installation

From source (with cargo)

git clone https://github.com/yourusername/reatler.git
cd reatler
cargo install --path .

🚀 Usage

reatler [OPTIONS] [DIRECTORY]

Options

Flag / Option Description
--smart <query> Search for a directory whose name contains <query> (case-insensitive).
--manual / -m Manual mode — prompts for file types and ignore patterns.
(no flags) Auto mode — detects project type and includes relevant files.

Examples

1️⃣ Auto-detect project type and bundle files

reatler .
  • Detects project type (e.g., Rust, JS, Python).
  • Includes relevant files automatically.
  • Writes concatenated content to output.txt.

2️⃣ Manual mode

reatler --manual
  • Prompts:
    • File formats to include (rs toml json)
    • Files/directories to ignore (target dist .d.ts)

3️⃣ Smart search for a subproject

reatler --smart api
  • Finds directories containing "api" in their name.
  • Lets you choose from matches.
  • Scans and bundles files from the chosen directory.

📂 Output format

output.txt will contain:

Commit count: 0

cargo fmt