AI-powered knowledge base for your GitHub repositories.
RepoG is a CLI tool that syncs your GitHub repositories to a local knowledge base, generates vector embeddings, and enables semantic search, Q&A, and AI-powered recommendations across your entire codebase.
Key Features:
- Interactive terminal UI — run
repogwith no subcommand for a full-screen, tabbed dashboard - Sync owned and starred repositories to a local SQLite database
- Generate vector embeddings with multiple providers (Gemini, OpenAI, Voyage AI, Ollama)
- Semantic search across all your code using natural language
- Ask questions and get AI-synthesized answers (RAG) with multiple LLM providers
- Get repository recommendations for specific tasks
- Summarize repositories with AI
brew install hackastak/tap/repogTo update to the latest release later:
brew upgrade hackastak/tap/repogThe binary is roughly 19MB — it statically links a C SQLite build and the sqlite-vec extension via CGO (see ADR-001), so it is larger than a typical pure-Go CLI.
Download the latest release for your platform from the Releases page. See the Changelog for version history.
Requires Go 1.22+ and a C compiler (GCC or Clang) for CGO.
go install github.com/hackastak/repog/cmd/repog@latestYou'll need a GitHub token and an API key for your chosen AI provider:
GitHub Personal Access Token (PAT)
- Go to GitHub Settings > Developer settings > Personal access tokens > Fine-grained tokens
- Create a new token with:
- Repository access: All repositories (or select specific ones)
- Permissions:
Contents: Read-only,Metadata: Read-only
AI Provider API Key (choose one or more)
- Google Gemini - Embeddings and LLM
- OpenAI - Embeddings and LLM
- Anthropic - LLM only
- Voyage AI - Embeddings only
- OpenRouter - Access to 100+ models
- Ollama - Local models (no API key needed)
repog initThis will prompt you for your API keys and store them securely in your system keychain.
repog syncThis syncs both your owned and starred repositories by default.
repog embedrepog search "authentication middleware"
repog ask "Which repos use PostgreSQL?"
repog recommend "building a CLI tool"Running repog with no subcommand on a terminal opens a full-screen, tabbed dashboard built with Bubbletea. It's a presentation layer over the same engine the CLI uses — everything below is still scriptable via the individual subcommands.
repog # opens the TUITabs (switch with 1–5 or tab / shift+tab):
| Tab | What it does |
|---|---|
| Repos | Browse and multi-select indexed repositories; run per-repo actions |
| Search | Semantic search with a query box and scrollable results |
| Ask | RAG-based Q&A; the answer streams in and cites the repos it drew from |
| Sync/Embed | Trigger a sync, an embed, or both, with live progress |
| Status | Knowledge-base statistics and GitHub rate limit |
Keys:
1–5/tab/shift+tab— switch tabsS— open Settings (credentials & providers); also the first-run setup flowq/ctrl+c— quit
Repos tab actions:
space— toggle selection on the focused row ·a— toggle alls— stream an AI summary of the focused repo ·r— recommend related reposesc— dismiss the result pane ·ctrl+r— reload
Sync/Embed tab actions:
s— sync ·e— embed ·a— sync then embed back-to-back
On first launch with no saved credentials, the TUI drops straight into a guided setup flow that validates each credential before saving it — the same as repog init. On a non-TTY (piped output or CI), repog falls back to printing help and never waits for input; NO_COLOR is honored.
| Command | Description |
|---|---|
repog init |
Configure API keys and initialize the database |
repog sync |
Sync repository metadata and content |
repog embed |
Generate vector embeddings for synced repos |
repog search <query> |
Semantic search across your codebase |
repog ask <question> |
Ask questions with AI-synthesized answers |
repog recommend <task> |
Get repository recommendations |
repog summarize <repo> |
AI summary of a specific repository |
repog reconfig |
Update API keys or switch providers |
repog status |
View knowledge base statistics |
repog sync # Sync both owned and starred (default)
repog sync --owned # Sync only your own repositories
repog sync --starred # Sync only starred repositoriesrepog reconfig # Reconfigure everything interactively
repog reconfig github # Update only your GitHub token
repog reconfig embedding # Switch or reconfigure the embedding provider
repog reconfig generation # Switch or reconfigure the generation (LLM) providerrepog summarize facebook/react # AI summary of a synced repo (owner/repo)repog status # Knowledge-base stats and GitHub rate limit
repog status --json # Same, as JSON for scripting- Local First: All data is stored locally in
~/.repog/repog.db - Secure Credentials: API keys are stored in your system keychain (macOS Keychain, Windows Credential Manager, or Linux Secret Service)
- Privacy: Code is only sent to:
- GitHub API: To fetch repository metadata and content
- Your configured AI provider: To generate embeddings and AI responses. This is whichever provider(s) you set up during
repog init/reconfig— one of Gemini, OpenAI, Anthropic, Voyage AI, or OpenRouter. If you use Ollama, embeddings and responses are generated by a model running locally and no code leaves your machine.
RepoG respects GitHub's rate limit of 5,000 requests per hour for authenticated users. Use repog status to check your remaining quota.
RepoG is under active development. The road to v1.0.0 includes:
- Full code base syncing - Deep clone-based sync to index real source code, not just metadata and READMEs
- Incremental syncing - Re-sync only what changed (a
v1.0.0gate) - Faster embeddings - Better batching and parallelism
- Export capabilities - Generate documentation and knowledge graphs from your repos
See the full Roadmap for what's planned, what's after v1.0, and what's out of scope, or the issues page for day-to-day work.
We welcome contributions! Please see our Contributing Guide for details on:
- Development setup and prerequisites
- Running tests and linting
- Code style and conventions
- Submitting pull requests
| Document | Description |
|---|---|
| ROADMAP.md | Public roadmap and the path to v1.0 |
| CONTRIBUTING.md | Guide for contributors |
| UPGRADING.md | Version-to-version upgrade and migration notes |
| CHANGELOG.md | Version history and release notes |
| LICENSE | MIT License |
MIT License - see LICENSE for details.
Built with sqlite-vec. Supports Gemini, OpenAI, Anthropic, Voyage AI, OpenRouter, and Ollama.