kirill-markin/repo-to-text

Convert a repository structure and its contents into a single text file, including the tree output and file contents in markdown code blocks. It may be...

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 1 hour ago
Added to GitGenius on July 29th, 2026
Created on June 8th, 2024
Open Issues & Pull Requests: 0 (+0)
GitHub issues: Enabled
Number of forks: 21
Total Stargazers: 210 (+0)
Total Subscribers: 3 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.3 days
Mean response time: 32.4 days
90th percentile: 94.8 days
Tracked items: 11

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 1
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 1

Top labels

  • development-environment (1)
  • voice-command (1)

Most active issues this week

Sign in to see which issues are moving.

Detailed Description

The repo-to-text repository is a Python-based command-line tool designed to convert an entire repository's structure and file contents into a single consolidated text file. The primary purpose is to facilitate sharing code with large language models for development, debugging, and analysis tasks. The tool generates output that includes a directory tree representation alongside the full contents of tracked files, formatted with XML tags for structured parsing.

Installation is straightforward through pip, and the tool operates as a command-line utility that can be run from any repository directory. The basic workflow involves installing the package, navigating to a target repository, and executing the repo-to-text command, which produces a formatted text file in the current directory. The tool supports multiple operational modes and configuration options, including the ability to specify custom output directories, flatten directory structures, create settings files, and enable debug logging. Users can also pipe output directly to stdout for redirection to custom file locations or use Docker for containerized execution.

The repository includes configuration capabilities through a settings file that allows fine-grained control over which files and directories are included or excluded from the output. The configuration system supports gitignore-style rules, enabling users to ignore files and directories selectively for different sections of the output. Users can specify separate ignore rules for tree and content sections versus content-only sections, and the tool supports negation patterns to explicitly include files that would otherwise be excluded. An optional maximum word count setting allows the output to be automatically split across multiple files when processing large codebases.

The most active issue labels tracked are voice-command and development-environment, each appearing once.

The tool is classified across multiple domains including repository structure analysis, file contents extraction, markdown formatting, tree output generation, text conversion, code summarization, LLM interaction, and codebase analysis. These classifications reflect the tool's positioning as a bridge between traditional code repositories and modern AI-powered development workflows. The project is published on PyPI under the same name, making it readily accessible to Python developers. The repository includes development setup instructions for contributors, with installation available in editable mode for local development and testing via pytest.