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.3.tar.gz (19.0 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.3-py3-none-any.whl (22.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gh_stars_organizer-1.0.3.tar.gz
  • Upload date:
  • Size: 19.0 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.3.tar.gz
Algorithm Hash digest
SHA256 959385561006a5b4b2b1172b717577e660ce860d835860e891ce919678c16033
MD5 db04fe10d1dc08ce9e430d2bd254463f
BLAKE2b-256 e6e1c2bce75016b59efab9c99ce561e7ada6d36f9eb151ffcbdafdf87bec4c8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for gh_stars_organizer-1.0.3.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.3-py3-none-any.whl.

File metadata

File hashes

Hashes for gh_stars_organizer-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e76b3afeaa289c7ddeee41e503046e7475303bb8164a9a925e8f4ac42a9def7d
MD5 fc7e35ee7f09ae0b3741d61006c9c3eb
BLAKE2b-256 92a2cf0e44c6de32bee6732eef86da97f55e4014ff9c7d7582f232a850dbc603

See more details on using hashes here.

Provenance

The following attestation bundles were made for gh_stars_organizer-1.0.3-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