Readme
π BLAZINGLY FAST π file concatenator built with π¦ Rust π¦! β‘οΈ Combines your
files into a single output while preserving Git history metadata with
ZERO-COST ABSTRACTIONS and MEMORY SAFETY guarantees! β‘οΈ Designed to
create rich, contextual file dumps with Git metadata that serve as perfect
context windows for Large Language Models β because your AI assistant
deserves to know not just WHAT your code is,
but WHEN and WHY it was written!
Features
πΆββοΈ Recursively walks through directories
π― Filters files by extension
π Adds Git metadata headers (commit hash and timestamp)
βοΈ Configurable via TOML file
π οΈ Customizable delimiter for file sections
Installation
cargo install all-my-circuits
Quick Start
Create a configuration file .amc.toml
(in current directory):
delimiter = "---"
extensions = ["rs", "ts", "py"]
Run the tool:
# Scan current directory with default config
amc
# Scan specific directory with custom config
amc --dir ./src --config custom-config.toml
The tool generates output in the following format:
- - -
File: src/ main. rs
Last commit: 623a9e4b9dbdfa9367232ba67e7abe90245c2948
Last update: 1729838996
- - -
< file contents>
- - -
File: src/ walk. rs
Last commit: 623a9e4b9dbdfa9367232ba67e7abe90245c2948
Last update: 1729838996
- - -
< file contents>
CLI Options
Usage: amc [ OPTIONS ]
Options:
- d, - - dir < DIR > Directory to scan [ default: . ]
- c, - - config < FILE > Config file path [ default: . amc. toml]
- h, - - help Print help
- V, - - version Print version
Configuration
Create a .amc.toml
file with the following options:
# String used to separate file sections
delimiter = "---"
# List of file extensions to process (without dots)
extensions = ["rs", "ts", "py", "md"]
Use Cases
Generate documentation with context
Create annotated source code compilations
Prepare code for review with Git history
Archive project snapshots with metadata
Create meaningful diffs with context
Error Handling
The tool provides friendly error messages for common issues:
Missing configuration file
Invalid directory paths
Git repository access problems
File reading permissions
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.