Skip to main content

Just turns your repo into a text file innit...🦖

Project description

🦖 Reposaurus

A powerful tool for transforming repositories into comprehensive text files. Perfect for documentation, AI tool integration, and code review preparation.

Overview

Reposaurus is designed to capture your entire codebase in a single, well-organized text file. It intelligently handles file filtering with sophisticated pattern matching, allowing you to create customized repository snapshots. Whether you're preparing code for AI analysis, documenting your project, or archiving project states, Reposaurus helps you focus on what matters by excluding unnecessary files.

Features

  • 📁 Smart Directory Structure Visualization
  • 📝 Complete File Content Extraction
  • 🧠 Intelligent File Filtering
  • 🎯 Customizable Exclusion Patterns
  • 🦖 Compatible with Any Git Repository
  • ⚡ Fast and Efficient Processing
  • 🛠️ Simple Command-Line Interface

Installation

Install Reposaurus using pip:

pip install reposaurus

Basic Usage

Reposaurus offers straightforward command-line operation:

# Process current directory
reposaurus

# Process a specific directory
reposaurus /path/to/repository

This creates a repository_contents.txt file in your target directory containing:

  • A visual representation of your directory structure
  • The complete contents of all included text files
  • Automatic filtering of binary files and development artifacts

Advanced Usage

Custom Exclusion Patterns

Reposaurus supports .gitignore-style pattern matching for precise control over file inclusion and exclusion:

# Use custom exclusion patterns
reposaurus --exclude-file my_patterns.txt

# Combine custom patterns with default exclusions
reposaurus --exclude-file my_patterns.txt --append-exclude

Pattern Syntax

Your exclusion file can use the full .gitignore syntax:

# Ignore all .txt files
*.txt

# But keep important.txt
!important.txt

# Ignore temp folders anywhere
**/temp/

# Ignore a specific directory
build/

# Ignore files in specific paths
docs/internal/

Pattern matching features include:

  • Basic wildcards (*.txt, project-*/)
  • Directory wildcards (**/temp matches temp anywhere)
  • Negation patterns (!important.txt)
  • Directory-specific matching (docs/*.md)
  • Comments for pattern documentation

Default Exclusions

Reposaurus automatically excludes common development artifacts:

Development Directories

  • Version control (.git, .svn)
  • IDE configurations (.vs, .idea, .vscode)
  • Python artifacts (__pycache__, .egg-info)
  • Virtual environments (venv, .env)

Build and Dependencies

  • Build outputs (bin, obj, build, dist)
  • Dependencies (node_modules, packages)
  • Cache directories (.cache, __pycache__)

System and Binary Files

  • System files (.DS_Store, Thumbs.db)
  • Compiled files (.pyc, .exe, .dll)
  • Archives (.zip, .tar, .gz)
  • Media files (.jpg, .png, .mp3)
  • Logs and databases (.log, .sqlite)

Output Format

The generated repository_contents.txt file is structured for clarity:

Directory structure:
└── repository/
    ├── src/
    │   ├── main.py
    │   └── utils.py
    ├── docs/
    │   └── README.md
    └── config.json

================================================
File: /src/main.py
================================================
[File contents here]

================================================
File: /src/utils.py
================================================
[File contents here]

Error Handling

Reposaurus handles various edge cases gracefully:

  • Binary files are automatically skipped
  • Files with encoding issues are noted but don't halt processing
  • Invalid patterns in exclusion files are reported with helpful messages
  • Missing directories or permissions issues are clearly reported

Contributing

Contributions are welcome! Feel free to:

  • Report bugs
  • Suggest features
  • Submit pull requests
  • Improve documentation

License

MIT License - See LICENSE file for details

Authors

  • Andy Thomas - Initial work

Acknowledgments

Built with love and a touch of prehistoric magic 🦖✨

For more information, visit our documentation or raise an issue on GitHub.

Version History

  • 0.1.4 - Added custom exclusion patterns with gitignore syntax
  • 0.1.3 - Initial public release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reposaurus-0.1.4.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reposaurus-0.1.4-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file reposaurus-0.1.4.tar.gz.

File metadata

  • Download URL: reposaurus-0.1.4.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.6

File hashes

Hashes for reposaurus-0.1.4.tar.gz
Algorithm Hash digest
SHA256 7b555b4d5d99c1c21d6b0245d42a433fea47c6f9298e3599ea1639fbe53d82aa
MD5 1c3f71572a8fce18fc748253a39f9745
BLAKE2b-256 98cec6fa7c22f646d71c8179b60a5e6f12435d786aca04128e40ce2621edd612

See more details on using hashes here.

File details

Details for the file reposaurus-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: reposaurus-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.6

File hashes

Hashes for reposaurus-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5e965e7b9118c073f477bae7a3fb9dffd11fd9e1aefa322cfc7b17b98dd4688a
MD5 edd8bde5c36f097ce24c82d8977c5e73
BLAKE2b-256 e379c6f0e71c6187b853f7d407c264bf36a906df7e54bbded45fa7c10a6a924b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page