yAGna is a local-first library for a GitHub stars catalog that outgrew the GitHub UI. Every repo you ever starred comes down to your disk and stays there: READMEs with their images, licenses including the non-standard ones as full text, topics, languages, file trees, the first and last commit, and a twelve-point health index for each repository. User tags, notes, fuzzy and full-text search across everything, and gitingest-style digests of any repository on demand.
Everything the app displays is answerable from the local database. What is missing is requested through queues and rendered when it lands, so the collection reads the same whether you are online or not.
A list is not a library
The GitHub stars page cannot be searched the way you think, it forgets everything about a repo the moment the repo is deleted, and it shows you a star button where you wanted an answer. yAGna treats your stars as a collection worth keeping: filter by topic, walk the health scores, keep a note on why you starred, and read the README years later even if the repository is long gone.
Under the hood it is Rust with GPUI for the interface, octocrab behind a Forge trait for gathering, SQLite with FTS5 for remembering, and nucleo for the fuzzy matching. The forge pulls, the store keeps, the app projects — and never the other way around.
The library filtered to one topic — health scores, tags and notes on every row.
One repository's page: the facts it carried, the health index by point, and its README with images, all local.
Your agent reads your library
MCP, built in
yAGna ships a Model Context Protocol server: yagna mcp, or npx yagna-mcp from any MCP host. Your coding agent gets fifteen tools over your whole collection — search it with the app's deep-search grammar, read any README, list your tags and topics so it uses your words, pull one repository's full record with its health and fit scores, write the tags and notes you asked it to, and rewrite the fit spec you score by.
No other stars manager does this. Not the browser extensions that export a JSON list, not the scripts that clone starred repos into a folder — the best existing option is a script that downloads a flat list of your stars, or asking the GitHub API the same questions by hand, every time, on the clock. yAGna is the memory your agent reads and writes locally, in seconds, for free.
The activity drawer lists every tool call an agent made; the title bar says an agent is connected.
The agent spends, you watch
The reads are free — they never leave your disk. The live GitHub calls pass a spend ledger with per-hour and per-minute ceilings from a policy file you own, and past the confirmation threshold the server asks you first: the host shows one question, and a host that cannot be asked gets a refusal, never a silent yes. Every call lands in the activity trace, and the app's title bar tells you an agent is there. yAGna never acts on GitHub for you — no issues, no comments, no pushes. It is the memory, not a second client.
The download page has the two-line config that puts it into your MCP host.
Find new stars on purpose
Discover queries GitHub with five filters — created within, minimum stars, language, one topic, one word — and shows the cost of every search before you run it.
The honest pace
The first sweep of your stars takes about five minutes per thousand repositories — GitHub's rate limits set the speed, and yAGna runs serial with jitter because the fast way gets stars silently dropped. It is once: after the sweep, everything reads from your disk, and updates bring only what moved. Discover searches cost one of the thirty requests per minute GitHub allows, and the surface says so on every screen.
Score it your way
The pinned health, the personal fit
Every repository carries a twelve-point health index computed from the facts the catalog stores — age, stars, maintenance, cadence, license, versioning. Beside it sits the fit score: a spec you own, in a JSON file you can edit in the app, that turns the same facts into a number that means something to you — recency over stars, permissive over copyleft, whatever the weights say. Your agent can read the spec, rewrite it, and re-score the catalog; the surface shows the distribution before and after.
The fit spec, editable in place — apply validates and backs the file up, and a re-score moves the numbers.
Your library in numbers: the languages, the health spread, the years, the topics.
Rules it keeps
Open, with ethics attached
yAGna ships under a Hippocratic-based open-source license: the closed-source clauses of the studio license are flipped to open-source grants, the ethical use restrictions stay, and yAGna is a reserved name. It is not OSI-open-source — the ethical restrictions are the point. Dependencies stay permissive-only, and no copyleft imports are allowed in, ever.
Windows first, GitLab next
yAGna is Windows-first, with macOS and Linux kept green. The forge is built as a trait with GitHub as its first tenant, and GitLab support is coming — the same library, the same tools, the second forge on the roadmap. Web and mobile are not version-one targets: the crate seams keep them possible, and nothing more is promised.
Small settings: four themes, the sweep, the cache cap.
Where it stands
Released
yAGna 0.9.0 ships the library, the Discover surface, the fit score and the MCP server. Grab the Windows archive on the download page, or point your MCP host at npx yagna-mcp and give your agent the whole shelf.
Curious about the rest of the shelf? AGIT handles the writing, AGony rebuilds the terminal, and the playground holds the small experiments.