Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
rb81 committed Jul 12, 2024
0 parents commit 71576d5
Show file tree
Hide file tree
Showing 5 changed files with 406 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
.DS_Store
.env
venv
repo_category_mapping.json
starred_repos.json
61 changes: 61 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# GitHub Stars Organizer

This project automatically organizes and categorizes starred GitHub repositories using the Anthropic Claude API. It updates a GitHub repository with categorized lists of starred repos and maintains an up-to-date README with statistics.

## Features

- Fetches starred repositories from GitHub
- Categorizes repositories using Anthropic's Claude AI
- Updates a GitHub repository with categorized lists
- Maintains a README with current statistics
- Handles addition of new starred repos and removal of unstarred ones

## Requirements

- Python 3.7+
- GitHub Personal Access Token
- Anthropic API Key

## Setup

1. Clone this repository
2. Install required packages: `pip install -r requirements.txt`
3. Create a `.env` file in the project root with the following content:
```
GITHUB_TOKEN=your_github_token
ANTHROPIC_API_KEY=your_anthropic_api_key
GITHUB_REPO=your_username/your_repo_name
```
4. Create a `categories.json` file with your desired categories
## Limitations
If any modifications are made directly to the repository, the script will not repair or rebuild anything. If this happens, delete the `repo_category_mapping.json` and `starred_repos.json` files, and the script will rebuild everything from scratch.
## Usage
Run the script with:
```
python stars.py
```
Use the `--debug` flag for detailed logging:
```
python stars.py --debug
```
Modify the `categories.json` file to include any categories you wish to use.
## Warning
This script will consume a lot of tokens (since it uses Claude for categorization). You might want to consider running with a local LLM to avoid the cost. Use at your own discretion.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Transparency Disclaimer
[ai.collaboratedwith.me](ai.collaboratedwith.me) in creating this project.
21 changes: 21 additions & 0 deletions categories.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"Development Tools": "Tools for software development, including code management, documentation, and deployment.",
"Productivity Tools": "Applications and tools designed to enhance personal and professional productivity.",
"Data Management": "Tools for managing, processing, and visualizing data.",
"Security and Privacy": "Resources and tools for enhancing computer security and online privacy.",
"AI and Machine Learning": "Frameworks, models, and tools related to artificial intelligence and machine learning.",
"Web Development": "Libraries and tools for building and maintaining websites and web applications.",
"Media Tools": "Applications for managing and editing various types of media like videos, images, and audio.",
"System Management": "Tools for managing operating systems, virtualization, and remote access.",
"File and Document Management": "Tools for organizing, converting, and securing files and documents.",
"Networking and Communication": "Applications and tools for online communication and network management.",
"Design and UX": "Tools related to user interface and user experience design.",
"Browser and Extensions": "Web browsers and their extensions that enhance browsing experience.",
"Natural Language Processing": "Libraries and tools for working with human language data.",
"Financial Tools": "Applications for managing personal finances and financial data.",
"Gaming and Entertainment": "Resources and tools related to gaming and digital entertainment.",
"Educational Resources": "Learning materials and resources for various subjects, including AI.",
"Cryptography and Blockchain": "Tools and libraries for encryption and blockchain development.",
"Mobile Development": "Resources and tools for mobile application development and reverse engineering.",
"Other": "Miscellaneous repos of interest."
}
3 changes: 3 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
PyGithub==1.55
anthropic==0.3.0
python-dotenv==0.19.0
Loading

0 comments on commit 71576d5

Please sign in to comment.