2 unstable releases
new 0.2.0 | Apr 17, 2025 |
---|---|
0.1.0 | Jan 28, 2025 |
#352 in Debugging
74 downloads per month
17KB
242 lines
GitSnap
GitSnap is a CLI tool to take snapshots of GitHub repositories and convert them into readable text files.
Description
gitsnap allows you to download a GitHub repository and convert its contents into a single text file. You can specify a file size threshold to skip large files or include all files regardless of size. The tool also supports debug mode for verbose logging.
Download
You can download the binaries of the latest release from here.
Install from Cargo registry
To install gitsnap, you need to have Rust and Cargo installed. You can install Rust and Cargo from rustup.rs.
You can install gitsnap from crates.io using Cargo.
cargo install gitsnap
Build from source
Alternatively, you can build the project from source.
git clone <https://github.com/flaviodelgrosso/GitSnap.git>
cd gitsnap
cargo build --release
Usage
Run the gitsnap
command with the required arguments:
gitsnap <repository> [OPTIONS]
Arguments
repository
: The GitHub repository URL or user/repo format (e.g., 'user/repo' or 'https://github.com/user/repo'). This argument is required.
Options
-o, --output <FILE>
: Specify the output file path (defaults torepo_name.txt
).-t, --threshold <MB>
: Set file size threshold in MB for text conversion (default: 0.1 MB). Files larger than this are skipped unless--include-all
is used.--include-all
: Include all files, regardless of size or type. Overrides the threshold.--debug
: Enable debug mode with verbose logging.
Example
gitsnap user/repo -o output.txt -t 1.0 --debug
This command will download the user/repo
repository, process files up to 1.0 MB, and save the output to output.txt
with debug mode enabled.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Dependencies
~17–29MB
~501K SLoC