codebase-flattener-0.1.0 is not a library.
codebase-flattener
Flatten a codebase into a single file for easy LLM ingestion.
Features:
- Recursively walk your project, respecting
.gitignore,.llmignore, and custom ignore rules. - Skip the output file itself to avoid self-inclusion.
- Follow or ignore symlinks via a flag.
- Overridable output filename (default:
codebase.txt).
📦 Installation
Ensure you have Rust and Cargo installed (edition 2021).
# Install from crates.io
Or build locally:
# The binary will be in target/release/
🚀 Usage
# Run with defaults (respects .gitignore & .llmignore, follows symlinks)
# Add custom ignore files
# Disable all default ignore files
# Don’t follow symlinks
# Change the output filename
By default, all files are dumped into codebase.txt with separators:
<<< FILE: path/to/file.ext >>>
<file contents>
⚙️ Command-line Options
| Option | Description |
|---|---|
-i, --ignore <FILE> |
Append a custom ignore filename (can be used multiple times) |
--no-default-ignores |
Disable default .gitignore & .llmignore loading |
-n, --no-follow |
Don’t follow symbolic links |
-o, --output <FILENAME> |
Set the output file name (default: codebase.txt) |
-h, --help |
Print help information |
-V, --version |
Print version info |
🤝 Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/foo) - Commit your changes (
git commit -am "Add foo") - Push to the branch (
git push origin feature/foo) - Open a pull request
We welcome improvements, bug fixes, and enhanced documentation!
📝 License
Licensed under MIT See LICENSE for details.
Created by Krystian Mikołajczyk | Crates.io | GitHub