rescuerepo
Project for the Bio X AI Hackathon. All about resurrecting old abandonware repos, and reducing the effort to get them up and running again.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.8%) to scientific vocabulary
Keywords
Repository
Project for the Bio X AI Hackathon. All about resurrecting old abandonware repos, and reducing the effort to get them up and running again.
Basic Info
- Host: GitHub
- Owner: matthew-mcateer
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://rescuerepo.vercel.app/
- Size: 7.02 MB
Statistics
- Stars: 12
- Watchers: 5
- Forks: 54
- Open Issues: 7
- Releases: 0
Topics
Metadata Files
README.md
RescueRepo
Project originally built for the Bio X AI Hackathon. All about resurrecting old abandonware repos, and reducing the effort to get them up and running again.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
About The Project
A project built for resurrecting the countless abandonware repos littering GitHub. The goal is to make it easier to turn any repo, no matter how old, and turn it into a working GitHub Codespace.
https://github.com/matthew-mcateer/rescuerepo/assets/16986576/a480ab0e-aca1-4dcf-b7e0-7803a1931b0f
Built With
- Python
- NextJS
- OpenAI
- FastAPI
- React
- LangChain
- Supabase
- Docker
- GitHub Codespaces
- Postmark
- Celery
- RabbitMQ

Getting Started
For running this project locally, you can skip ahead to the Usage section.
To get a local copy up and running follow these simple steps:
Prerequisites
Here is a list of prerequisites you need to install before you can start using the examples in this repo.
- python 3.9 or later
- node 14.17.0 or later
- NPX 7.19.1 or later
Installation
- First, Fork/Clone the repository.
Using HTTPS:
bash
git clone https://github.com/matthew-mcateer/rescuerepo.git
or using the GitHub CLI:
bash
gh repo clone matthew-mcateer/rescuerepo
- Obtain the following API keys, and put them in a
.envfile in theapidirectory of the project. You can use the api/.env.example file as a template.
your SUPABASE_URL and SUPABASE_ANON_KEYk from your Supabase account
bash
export SUPABASE_URL=<your-supabase-url>
export SUPABASE_ANON_KEY=<your-supabase-anon-key>
your OpenAI API key
bash
export OPENAI_API_KEY=<your-api-key>
your Anthropic API key
bash
export ANTHROPIC_API_KEY=<your-api-key>
Your GitHub access token (classic) (make sure it has the codespaceand repo scopes):
bash
export GH_ACCESS_TOKEN=<your-api-key>
- First, log in to your GitHub account.
- Click on your profile photo in the upper right corner of any page.
- From the dropdown menu, select "Settings."
- On the settings page, find "Developer settings" at the bottom of the left-hand side menu and click it.
- Now you should see "Personal access tokens" on the left-hand side menu, click it (click the "classic" tokens).
- Click "Generate new token" on the Personal access tokens page.
- In the "Note" field, enter a descriptive name for this token that will help you recognize its purpose later (e.g., "Token for forking and Codespaces").
To choose the required permissions, you'll need to select the following scopes:
- For forking repositories, you will need the "repo" scope which includes 'public_repo' and others.
- To create GitHub Codespaces, you will need the 'codespaces' scope which will allow "full access to managing user codespaces." Therefore, you should select both 'repo' and 'codespaces'.
Scroll down and click "Generate token" at the bottom of the page.
After you click the "Generate token" button, GitHub will display your new personal access token. Make sure you copy this token value and store it in a secure location. GitHub will not show the token to you again.
Your CELERY_BROKER_URL:
bash
export CELERY_BROKER_URL=<your-api-key>
CELERYBROKERURL (click to expand)
If you're using RabbitMQ, you can use export CELERY_BROKER_URL=pyamqp://guest@localhost//.
The demo version of this project is using a CloudAMQP instance from Heroku (the free "Little Lemur" tier).
Or if you're using redis, you can use docker run -d -p 6379:6379 redis && export CELERY_BROKER_URL=redis://localhost:6379/0.
Your POSTMARK_API_KEY:
bash
export POSTMARK_API_KEY=<your-api-key>
POSTMARKAPIKEY (click to expand)
Set up a https://postmarkapp.com/ account, and see the developer documentation.
- Once you've added your API keys to the file
api/.env, you can set the environment variable with the following command:
bash
$ export $(cat api/.env | xargs)
- Install the python dependencies.
bash
$ python3.9 -m venv env
$ source env/bin/activate
(env)$ pip install -r requirements.txt
- Make sure that you have
npxinstalled, and install the frontend dependencies:
bash
$ npm install -g npx
$ npm install
- (OPTIONAL): Start up the Celery worker in one terminal window (separate from the one in the next step):
bash
$ (env)$ celery --app api.tasks worker --loglevel INFO
- In a terminal window, run the NextJS front-end (which concurrently starts up the server-side FastAPI backend):
bash
$ npm run dev
7. Navigate to http://localhost:3000 to see the app running in your browser.

- (OPTIONAL): navigate to http://localhost:8000/api/docs to see the FastAPI docs.

Usage
In order to start this project locally, you'll need to start the frontend and then the backend.
First, follow the installation instructions above.
Navigate to http://localhost:3000 to see the app running in your browser.
Sign into GitHub, after which you'll be greeted with the below page.

You can enter in a GitHub repo URL of your choice. At the moment the default is https://github.com/lucidrains/progen.
Include with this information your GitHub Access token (make sure it has the repos and codespaces scopes enabled), as well as your email.
This will trigger the creation of the GitHub codespace.
If you navigate to the GitHub Codespaces Dashboard, you should see it being created (will resemble the below).

And if you load the codespace, you should be able to access it through VSCode or in the browser

Roadmap
The scope of this project is admittedly quite large, so we've broken it down into a few phases:
- ✅ Embedding Map of Bioinformatics tools ( view here, see the notebook for its creation here )
- ✅ Setting up a workflow for generating dev environments from an arbitrary repo
- ✅ Creating a fork with a
dockerfile,devcontainer.json, and anything else needed for a GitHub Codespace - ✅ Automatically Generated Dev Environments using GPT-4 (or Claude 100k)
- 🚧 Get running environments built without error >50% of the time
- ✅ Creating a fork with a
- ✅ Automatically Refactoring Code using GPT-4 (or Claude 100k)
- 🚧 Translating languages using GPT-4 (or Claude 100k)
- ✅ Nextflow-to-Flyte Translaton
- 🚧 Nextflow-to-Snakemake Translaton
- 🚧 Nextflow-to-Redun Translaton
- 🚧 Nextflow-to-CWL Translaton
- 🚧 MATLAB-to-Python Translaton
- 🚧 Improving the UI/UX of the above.
See the open issues for a full list of proposed features (and known issues).
Contributing
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
Distributed under the MIT License. See LICENSE for more information.
Contact
Matthew Mcateer (Author) - @MatthewMcAteer0 - bioml@5cubelabs.us
Project Link: https://github.com/matthew-mcateer/rescuerepo
Acknowledgments
We'd like to thank everyone for their contributions to this project and the hackathon.
We would also like to thank the organizers of the Bio X AI Hackathon for putting on such a great event.
- Chelsea Voss - OpenAI
- Michael Retchin - Nucleate
- Tess van Stekelenburg - Lux Capital
- Niccolo Zanchelli - OpenBioML
- Katie Link - HuggingFace
- Alfredo Andere - LatchBio
- Anton Troynikov - Chroma
- Lan Jiang - Lux Capital
- Joshua Meier - AbSci
Owner
- Name: Matthew McAteer
- Login: matthew-mcateer
- Kind: user
- Location: San Francisco, CA
- Company: 5cube Labs
- Website: https://5cubelabs.com/
- Twitter: MatthewMcAteer0
- Repositories: 46
- Profile: https://github.com/matthew-mcateer
Interested in synthetic biology, biological aging, machine learning and Artificial Intelligence. ..also dogs and bad puns.
GitHub Events
Total
- Watch event: 2
Last Year
- Watch event: 2
Committers
Last synced: about 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Matthew McAteer | m****0@g****m | 116 |
| Shubhamai | s****r@g****m | 5 |
| Viktorius Suwandi | v****i@g****m | 5 |
| Ashenafee | a****m@g****m | 3 |
| Joyce Lai | l****e@g****m | 2 |
Issues and Pull Requests
Last synced: about 2 years ago
All Time
- Total issues: 5
- Total pull requests: 15
- Average time to close issues: N/A
- Average time to close pull requests: 1 day
- Total issue authors: 1
- Total pull request authors: 5
- Average comments per issue: 0.0
- Average comments per pull request: 1.67
- Merged pull requests: 13
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 5
- Pull requests: 15
- Average time to close issues: N/A
- Average time to close pull requests: 1 day
- Issue authors: 1
- Pull request authors: 5
- Average comments per issue: 0.0
- Average comments per pull request: 1.67
- Merged pull requests: 13
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- matthew-mcateer (5)
Pull Request Authors
- matthew-mcateer (6)
- Shubhamai (3)
- lai-joyce (2)
- viktoriussuwandi (1)
- ashenafee (1)