repog

module
v0.2.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 27, 2026 License: MIT

README

RepoG

AI-powered knowledge base for your GitHub repositories.

CI Go Report Card

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:

  • Sync owned and starred repositories to a local SQLite database
  • Generate vector embeddings using Google Gemini
  • Semantic search across all your code using natural language
  • Ask questions and get AI-synthesized answers (RAG)
  • Get repository recommendations for specific tasks
  • Summarize repositories with AI

Installation

Homebrew (macOS)
brew install hackastak/tap/repog
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 two API keys:

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

Google Gemini API Key

  1. Go to Google AI Studio
  2. Create a new API key
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"

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

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
    • Google Gemini API: To generate embeddings and AI responses

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. Here's what's coming next:

  • Enhanced embeddings - Support for multiple embedding providers (OpenAI, local models)
  • Performance - Incremental syncing and re-ranking
  • TUI - Improve usability by building RepoG terminal user interface using Bubbletea
  • Export capabilities - Generate documentation and knowledge graphs from your repos
  • Code analysis - Dependency graphs, language statistics, and complexity metrics
  • Multi-platform Git support - GitLab, Bitbucket, and self-hosted Git servers

See the issues page for planned features and discussions.

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

Documentation

Document Description
CONTRIBUTING.md Guide for contributors
CHANGELOG.md Version history and release notes
LICENSE MIT License

License

MIT License - see LICENSE for details.


Built with sqlite-vec and Google Gemini.

Directories

Path Synopsis
cmd
repog command
Package main is the entry point for the repog CLI.
Package main is the entry point for the repog CLI.
Package commands provides CLI command implementations for repog.
Package commands provides CLI command implementations for repog.
internal
ask
Package ask provides RAG-based Q&A functionality for repositories.
Package ask provides RAG-based Q&A functionality for repositories.
config
Package config handles configuration loading, saving, and credential management.
Package config handles configuration loading, saving, and credential management.
db
Package db handles database operations including schema management and migrations.
Package db handles database operations including schema management and migrations.
embed
Package embed handles embedding generation for repository chunks.
Package embed handles embedding generation for repository chunks.
format
Package format provides text formatting utilities for CLI output.
Package format provides text formatting utilities for CLI output.
gemini
Package gemini provides HTTP client functionality for the Gemini API.
Package gemini provides HTTP client functionality for the Gemini API.
github
Package github provides HTTP client functionality for the GitHub API.
Package github provides HTTP client functionality for the GitHub API.
recommend
Package recommend provides AI-powered repository recommendations.
Package recommend provides AI-powered repository recommendations.
search
Package search handles vector similarity search for repositories.
Package search handles vector similarity search for repositories.
summarize
Package summarize provides AI-powered repository summarization.
Package summarize provides AI-powered repository summarization.
sync
Package sync handles repository ingestion from GitHub.
Package sync handles repository ingestion from GitHub.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL