← Open Source
JeremiahPetersen

RepoToText

Turn an entire GitHub Repo into a single organized .txt file to use with LLM's (ChatGPT, Claude, Gemini, etc).

ApplicationsProductivityPython
Open on GitHub
Momentum
+0stars in 24 hours0.0%
579
Stars
65
Forks
+1
This week
1
Contributors
Created 2023-07-09 · Updated 2026-10-11 · #16652 today
Top developers

JeremiahPetersen/RepoToText is ranked 16,652 with 579 stars.

Same-category comparison

JeremiahPetersen/RepoToText is ranked 16,652 among these 8 peers; frost-beta/sisi is ranked 16,646.

Same-category comparison
NameRankMetrics
petermg/Chatterbox-TTS-Extended16,628
Language:
Python
Stars:
581
Forks:
108
Description:
Modified version of Chatterbox that accepts text files as input and no character restrictions. I use it to make audiobooks, especially for my kids.
vijaythecoder/clueless16,634
Language:
Vue
Stars:
581
Forks:
69
Description:
Cluelessly - AI Meeting Assistant App.
Ebrizzzz/Youtube-playlist-to-formatted-text16,637
Language:
Python
Stars:
580
Forks:
38
Description:
A desktop application that extracts YouTube playlist transcripts and enhances them using Google's Gemini AI models. The output is a book in any language you want.
frost-beta/sisi16,646
Language:
TypeScript
Stars:
580
Forks:
23
Description:
Semantic Image Search CLI tool.
kochlisGit/ProphitBet-Soccer-Bets-Predictor16,660
Language:
Python
Stars:
579
Forks:
162
Description:
ProphitBet is a Machine Learning Soccer Bet prediction application. It analyzes the form of teams, computes match statistics and predicts the outcomes of a match using Advanced Machine Learning (ML) methods. The supported algorithms in this application are Neural Networks, Random Forests & Ensembl Models.
google-deepmind/ithaca16,674
Language:
Jupyter Notebook
Stars:
578
Forks:
65
Description:
Restoring and attributing ancient texts using deep neural networks.
efugier/smartcat16,691
Language:
Rust
Stars:
577
Forks:
33
Description:
Putting a brain behind `cat`🐈‍⬛ Integrating language models in the Unix commands ecosystem through text streams.
santiagobasulto/ipython-gpt16,701
Language:
Python
Stars:
577
Forks:
38
Description:
An ChatGPT integration for Jupyter Notebooks and the IPython Shell.
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguagePython
CategoryApplications
SubcategoryProductivity
KeywordsData processing
Stars579
Forks65
Contributors1
Created date2023-07-09
Updated date2026-10-11
Stars in 1 day0
Stars in 7 days1
Rank16,652
Previous rank16,443
Rank change-209
7-day stars rank11,277
Previous 7-day stars rank11,337
7-day stars rank change60
Total stars rank17,252
Previous total stars rank17,228
Total stars rank change-24
README summary

RepoToText RepoToText is a web app that scrapes a GitHub repository and converts its files into a single organized . It allows you to enter the URL of a GitHub repository and an optional documentation URL (the doc info will append to the top of the . The app retrieves the contents of the repository, including all files and directories, and also fetches the documentation from the provided URL and includes it in a single organized text file. txt file will be

saved in the /data folder with user + repo + timestamp info. This file can then be uploaded to (GPT-4, Claude Opus, etc) and you can use the chatbot to interact with the entire GitHub repo. Demo Creating a React front end for a GitHub repo containing a functioning back end: Working front-end project: Running the Application with Docker To run the application using Docker, follow these steps: 1. Set up the environment variable in the file. Access the application

( in a web browser and enter the GitHub repository URL and documentation URL (if available). Choose All files or choose specific file types. Click the "Submit" button to initiate the scraping process. The converted text will be displayed in the output area, and it will also be saved in the /data folder. You can also click the "Copy Text" button to copy the generated text to the clipboard. txt file that represents an entire GitHub repository. py is a script

that allows you to turn a local folder, or local files, into a . Choose your files with browse (you can continue adding by clicking "Browse". Once you have all of your files selected and uploaded with browse, type in the file type endings you want to copy with a ',' in between. The file will be written with your file name choice and a timestamp. txt file is saved in the /data folder You can add a URL to a documentation

page and the documentation page will append to the top of the . txt file (great to use for tech that came out after Sep 2021). ipynb [ ] FIX: FolderToText - fix so a user can pick one folder (currently only working when user selects individual files) [ ] Add in the ability to work with private repositories [ ] Add ability to store change history and update . txt to reflect working changes [ ] Add function to make sure .

Frequently asked questions

How many stars and forks are recorded?

JeremiahPetersen/RepoToText has 579 stars and 65 forks.

What is the repository rank?

JeremiahPetersen/RepoToText is ranked 16,652.

What language and category are recorded?

JeremiahPetersen/RepoToText has 579 stars, uses Python and belongs to Applications.

Which repository is closest in rank?

JeremiahPetersen/RepoToText is compared with frost-beta/sisi, ranked 16,646 with 580 stars.

README

RepoToText

RepoToText is a web app that scrapes a GitHub repository and converts its files into a single organized .txt. It allows you to enter the URL of a GitHub repository and an optional documentation URL (the doc info will append to the top of the .txt). The app retrieves the contents of the repository, including all files and directories, and also fetches the documentation from the provided URL and includes it in a single organized text file. The .txt file will be saved in the /data folder with user + repo + timestamp info. This file can then be uploaded to (GPT-4, Claude Opus, etc) and you can use the chatbot to interact with the entire GitHub repo.

Demo

Creating a React front end for a GitHub repo containing a functioning back end:

https://chat.openai.com/share/0670c1ec-a8a8-4568-ad09-bb9b152e1f0b

Working front-end project: https://github.com/JeremiahPetersen/CaseConnect/tree/front-end

Running the Application with Docker

To run the application using Docker, follow these steps:

  1. Clone the repository. Create a .env file in the root folder.
  2. Set up the environment variable GITHUB_API_KEY in the .env file.
  3. Build the Docker images with docker compose build.
  4. Start the containers with docker compose up.
  5. Access the application (http://localhost:3000) in a web browser and enter the GitHub repository URL and documentation URL (if available).
  6. Choose All files or choose specific file types.
  7. Click the "Submit" button to initiate the scraping process. The converted text will be displayed in the output area, and it will also be saved in the /data folder.
  8. You can also click the "Copy Text" button to copy the generated text to the clipboard.

Prompt Example

This is a .txt file that represents an entire GitHub repository. The repository's individual files are separated by the sequence '''--- , followed by the file path, ending with ---. Each file's content begins immediately after its file path and extends until the next sequence of '''--- Add your idea here (Example): Please create a react front end that will work with the back end

Environment Configuration

Add your GitHub API Key in the .env file

GITHUB_API_KEY='YOUR GITHUB API KEY HERE'

FolderToText

FolderToText.py is a script that allows you to turn a local folder, or local files, into a .txt in the same way RepoToText.py does. Choose your files with browse (you can continue adding by clicking "Browse". Once you have all of your files selected and uploaded with browse, type in the file type endings you want to copy with a ',' in between. Example: .py , .js , .md , .ts ---> You can also turn this off and it will add every file you uploaded to the .txt ---> Last, enter in the file name you want to appear and the output path. The file will be written with your file name choice and a timestamp.

Info

  • Creates a .txt with ('''---) separating each file from the repo.
  • Each file from the repo has a header after ('''---) with the file path as the title.
  • The .txt file is saved in the /data folder
  • You can add a URL to a documentation page and the documentation page will append to the top of the .txt file (great to use for tech that came out after Sep 2021).

Tech Used

  • Frontend: React.js
  • Backend: Python Flask
  • Containerization: Docker
  • GitHub API: PyGithub library
  • Additional Python libraries: beautifulsoup4, requests, flask_cors, retry

TODO

  • [x] Add Docker to project
  • [x] Add Dark Mode
  • [ ] Build web app for (https://repototext.com/)
  • [ ] FIX: Broken file types: .ipynb
  • [ ] FIX: FolderToText - fix so a user can pick one folder (currently only working when user selects individual files)
  • [ ] Add in the ability to work with private repositories
  • [ ] Add ability to store change history and update .txt to reflect working changes
  • [ ] Add function to make sure .txt is current repo version
  • [ ] Adjust UI for flow, including change textarea output width, adding file management and history UI

Nearby in the ranking
Similar items