oss-cli

Your repositories
and your notes,
on your machine.

OSS-CLI indexes the projects you follow and the notes you already keep, then reviews pull requests against what it finds. A GitHub token is the only thing it requires — everything else is a layer you add when you want it.

$ brew install ramanathan1504/oss-cli/oss-cli

Linux and Windows run the same jar — see the install guide.

How it works

Nothing is mandatory. Every layer is yours to add.

Most tools fail closed — install this, configure that, then maybe you get an answer. OSS-CLI is built as a ladder. It runs on whatever you have connected and tells you, every single time, exactly which sources went into the answer you are reading.

The factsneeds: a GitHub token Issues and pull requests synced to local SQLite. Diffs, commits, changed files grouped by area, CI results, review threads. No clone required.
Project conventionsneeds: a repo profile The rules a change is actually judged against — toolchain version, formatting gates, API baselines, OSGi packaging. Read from the repository, and from the build files it inherits.
Local answersoptional: Ollama Semantic search across every issue you have synced, and a verdict on a pull request — generated on your own machine, with nothing sent anywhere.
Your prior workoptional: your own notes Point it at folders you already keep. Past investigations, saved conversations and hand-written notes become searchable evidence, surfaced while you review rather than after.
Escalationoptional: a cloud API key When local context or confidence runs out, OSS-CLI assembles a complete expert prompt. Send it automatically, or copy it into whichever model you prefer.

Why it exists

Stop reassembling the same context by hand.

The work of understanding a change is mostly retrieval: what the project's rules are, what was decided last time, which upstream file this actually inherits from. OSS-CLI does that part once and keeps it.

Inherited rules

Finds what isn't in the repo

Many projects publish their packaging and API rules in a parent build file, not in the repository you are reading. OSS-CLI follows that chain and tells you where each rule came from.

Commit-aware cache

Re-reviewing is free

Evidence is cached against the head commit, not the pull request number. Nothing changed since last time? Instant. Someone pushed? It re-fetches on its own, with no staleness setting to get wrong.

Local-first

Your data stays put

Issues, vectors and notes live in SQLite on your disk. Retrieval and embedding run locally. Nothing leaves your machine unless you explicitly escalate a prompt to a cloud model.

Install

Java 17 and a GitHub token. That's the whole requirement.

OSS-CLI ships as a single self-contained jar, so the Linux and Windows steps are the same file Homebrew installs for you on macOS.

1 · Install
brew install ramanathan1504/oss-cli/oss-cli

Homebrew pulls in OpenJDK 17 for you and puts oss-cli on your PATH.

2 · Give it a GitHub token
# any token with the `repo` scope — the gh CLI already has one
security add-generic-password -a "$USER" -s github_token \
  -w "$(gh auth token)" -U
3 · Check everything
oss-cli doctor

First run

Register a repository and sync it
# any repository you want to follow
oss-cli sync --add apache/kafka

# pulls issues and PRs, then builds the search index
oss-cli sync --all

# review a pull request with everything you have connected
oss-cli review 4234 -r apache/kafka

Optional, any time: install Ollama for local answers and semantic search, then run oss-cli setup to point OSS-CLI at your own note folders. Skip both and every command above still works.

Reference

The commands you will actually use

Run oss-cli --help for the full list, or oss-cli doctor when something is not behaving — it checks every prerequisite and names what to fix.

CommandNeedsWhat it does
sync --add <repo>tokenRegisters a repository and builds its convention profile
sync --alltokenPulls issues and pull requests, then updates the search index
sync --metokenIndexes your own pull request history and your note folders
profiletokenShows a project's language, build, toolchain and enforced conventions
review <pr>tokenReviews a pull request using every source you have connected
prompt <issue>tokenAnswers locally, or assembles a complete expert prompt when it cannot
search <query>OllamaSemantic search across everything you have indexed
triage <issue>OllamaFull triage audit for a single issue
doctorChecks every prerequisite and says exactly what to fix