Skip to content

A tool to take snapshots of GitHub repositories in a single text file for LLMs

License

Notifications You must be signed in to change notification settings

flaviodelgrosso/gitsnap

Repository files navigation

GitSnap

Latest Version Crates.io Downloads GitHub Repo stars

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.

Installation

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

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 to repo_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.

About

A tool to take snapshots of GitHub repositories in a single text file for LLMs

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages