Skip to main content

Organize GitHub starred repositories into intelligent Star Lists with LLMs and embeddings.

Project description

gh-stars-organizer

gh-stars-organizer helps you turn a chaotic GitHub stars list into a searchable, structured knowledge base.

It fetches your starred repositories, classifies them with an LLM, builds embedding-based similarity search, and organizes results into GitHub Lists (with a local fallback when list APIs or scopes are unavailable).

Why this exists

Developers star hundreds of repositories and later struggle to find what matters.
This tool makes starred repos discoverable again.

Key capabilities

  • Fetch all stars (with pagination for large accounts)
  • LLM-based repository classification into practical engineering categories
  • Embedding-based semantic search and similarity grouping
  • Automatic organization into GitHub User Lists
  • Local cache (SQLite + FAISS) to avoid repeated expensive work
  • Insights report (stars-insights.md) with trends and cleanup recommendations
  • Interactive terminal UI (tui) for one-click workflows

Architecture

flowchart TD
    A["GitHub GraphQL API"] --> B["Fetch Stars"]
    B --> C["LLM Classification"]
    C --> D["Embeddings Generation"]
    D --> E["Local SQLite Cache"]
    E --> F["Create/Reuse GitHub Lists"]
    F --> G["Assign Repositories"]
    E --> H["Insights Report"]

Installation

Requirements

  • Python 3.11+
  • GitHub CLI authenticated
  • OpenAI-compatible API key (OPENAI_API_KEY) for remote classification/embeddings (optional; local fallbacks exist)

Install from source

git clone https://github.com/vins13pattar/gh-stars-organizer.git
cd gh-stars-organizer
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

Quickstart

gh-stars-organizer config --init
gh-stars-organizer sync
gh-stars-organizer preview
gh-stars-organizer organize
gh-stars-organizer insights

Commands

  • gh-stars-organizer sync — fetch and cache stars
  • gh-stars-organizer preview — show predicted category per repo
  • gh-stars-organizer organize — assign repositories into GitHub Lists
  • gh-stars-organizer insights — generate stars-insights.md
  • gh-stars-organizer search "<query>" — semantic repo search
  • gh-stars-organizer tui — interactive TUI
  • gh-stars-organizer config — initialize/show configuration

TUI

Launch:

gh-stars-organizer tui

TUI includes:

  • Sync / Preview / Organize / Insights actions
  • Semantic search
  • Live status and progress messages

Configuration

Default config file: ~/.gh-stars-organizer/config.yaml
Example template: examples/config.yaml

Common options:

  • LLM model
  • Embedding model
  • Categories
  • Cache/index/report paths
  • Rate limits

GitHub List behavior

Organization uses GitHub User Lists GraphQL APIs (lists, createUserList, updateUserListsForItem).

  • For GitHub list updates, your gh auth token needs user scope:
    • gh auth refresh -s user
  • If list APIs/scopes are unavailable, the tool generates local categorized lists at:
    • ~/.gh-stars-organizer/lists

Example output

Fetching stars... page 3, repos 300
Caching repositories locally...
Classifying repositories... 120/742
Organize done. Created 8 lists, processed 742 assignments.

Development

pytest -q

CI and release workflows are included in .github/workflows/.

Contributing

See CONTRIBUTING.md.

License

MIT

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

gh_stars_organizer-1.0.2.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

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

gh_stars_organizer-1.0.2-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

Details for the file gh_stars_organizer-1.0.2.tar.gz.

File metadata

  • Download URL: gh_stars_organizer-1.0.2.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gh_stars_organizer-1.0.2.tar.gz
Algorithm Hash digest
SHA256 5bfdd4eb60de32f5b842837f5f508b77536a44c216c813f83aa31f6a66ff0559
MD5 86e24f9bcaeb51f959ed9bd376568e49
BLAKE2b-256 e52b9cfd636c93db19deb6d901828bf6f0ee266b881ac9de3db0202f642a43e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for gh_stars_organizer-1.0.2.tar.gz:

Publisher: publish.yml on vins13pattar/gh-stars-organizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gh_stars_organizer-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for gh_stars_organizer-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 109bace329afedc2b1eda5553ce7e19eb3f3da9d2eb11e25333e4b158d3bec0a
MD5 456fcc1b512d5eda7eb9c4dcf16907e1
BLAKE2b-256 182ac96488a798bdb87a9878dadc3a4d716bd41d419f49f1b839d6831b9bf4c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for gh_stars_organizer-1.0.2-py3-none-any.whl:

Publisher: publish.yml on vins13pattar/gh-stars-organizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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