Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RepoG

AI-powered knowledge base for your GitHub repositories.

CI Go Report Card License: MIT

What is RepoG?

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 repog with 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

Installation

Homebrew (macOS)

brew install hackastak/tap/repog

To update to the latest release later:

brew upgrade hackastak/tap/repog

The 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 Binary

Download the latest release for your platform from the Releases page. See the Changelog for version history.

From Source

Requires Go 1.22+ and a C compiler (GCC or Clang) for CGO.

go install github.com/hackastak/repog/cmd/repog@latest

Quick Start

1. Get Your API Keys

You'll need a GitHub token and an API key for your chosen AI provider:

GitHub Personal Access Token (PAT)

  1. Go to GitHub Settings > Developer settings > Personal access tokens > Fine-grained tokens
  2. 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)

2. Initialize RepoG

repog init

This will prompt you for your API keys and store them securely in your system keychain.

3. Sync Your Repositories

repog sync

This syncs both your owned and starred repositories by default.

4. Generate Embeddings

repog embed

5. Start Searching

repog search "authentication middleware"
repog ask "Which repos use PostgreSQL?"
repog recommend "building a CLI tool"

Interactive TUI

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 TUI

Tabs (switch with 15 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:

  • 15 / tab / shift+tab — switch tabs
  • S — open Settings (credentials & providers); also the first-run setup flow
  • q / ctrl+c — quit

Repos tab actions:

  • space — toggle selection on the focused row · a — toggle all
  • s — stream an AI summary of the focused repo · r — recommend related repos
  • esc — 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.

Commands

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

Sync Options

repog sync                   # Sync both owned and starred (default)
repog sync --owned           # Sync only your own repositories
repog sync --starred         # Sync only starred repositories

Reconfiguring

repog 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) provider

Summarizing a Repository

repog summarize facebook/react   # AI summary of a synced repo (owner/repo)

Checking Status

repog status                 # Knowledge-base stats and GitHub rate limit
repog status --json          # Same, as JSON for scripting

Data & Privacy

  • 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.

GitHub API Rate Limits

RepoG respects GitHub's rate limit of 5,000 requests per hour for authenticated users. Use repog status to check your remaining quota.

Roadmap

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.0 gate)
  • 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.

Contributing

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

Quick Links

Documentation

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

License

MIT License - see LICENSE for details.


Built with sqlite-vec. Supports Gemini, OpenAI, Anthropic, Voyage AI, OpenRouter, and Ollama.

About

RepoG is a CLI-first, local AI-powered tool that helps you explore, search, and understand your GitHub repositories using semantic search and LLM-powered insights.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages