Skip to content
    ↑↓ select↵ openesc close
    English中文
    maharshi365

    Gitloops

    v0.3.4Git & VCS
    opencode-gitloops

    GitHub repo explorer agent and plugin for OpenCode. Clone and explore any public GitHub repo locally.

    GitHub stars

    0

    Monthly installs

    126

    17 in 7 days

    Composite scoreSCORE

    9.8

    Multi-signal model

    Last commit

    3 months ago

    2026-05-15

    Install and configure

    opencode.json

    Writes to this project's opencode.json — applies to this repository only.

    opencode.json

    {
      "$schema": "https://opencode.ai/config.json",
      "plugin": ["opencode-gitloops@0.3.4"]
    }

    opencode loads npm dependencies through its embedded runtime on startup and caches them locally — no manual global install needed.

    Gitloops

    A plugin for OpenCode that lets you clone and explore GitHub repositories locally. Ask questions about a repo's code, structure, and patterns — all without leaving your terminal.

    Gitloops provides three custom tools (gitloops_clone, gitloops_refresh, gitloops_list) restricted to read operations — no file modifications, no shell access. You can use these tools from any agent, or optionally enable a dedicated gitloops agent via config.

    Installation

    Add the plugin to your opencode.json config file:

    {
      "$schema": "https://opencode.ai/config.json",
      "plugin": ["opencode-gitloops"]
    }
    

    OpenCode will automatically install the package.

    Alternatively, you can install it as a local plugin by placing it in your plugin directory:

    • Project-level: .opencode/plugins/
    • Global: ~/.config/opencode/plugins/

    Configuration

    Gitloops auto-creates a config file on first load at:

    ~/.config/opencode/plugin/gitloops.json
    
    {
      "$schema": "https://raw.githubusercontent.com/maharshi365/opencode-gitloops/master/schema/config.schema.json",
      "max_repos": 10,
      "cache_loc": "~/.cache/gitloops/repos",
      "eviction_strategy": "lru",
      "agent": {
        "enabled": false,
        "model": "anthropic/claude-sonnet-4-5",
        "temperature": 0.1,
        "color": "#ed5f00",
        "mode": "all"
      }
    }
    
    Option Type Default Description
    max_repos integer 10 Maximum number of cached repos. When exceeded, repos are evicted automatically.
    cache_loc string ~/.cache/gitloops/repos Directory where cloned repos are stored (<cache_loc>/<owner>/<repo>/). Supports ~.
    eviction_strategy string "lru" Strategy for removing repos when max_repos is exceeded.
    agent object see below Controls the optional dedicated gitloops agent.

    Eviction strategies

    Strategy Behavior
    lru Remove the least recently used repo (oldest modification time)
    fifo Remove the oldest cloned repo (oldest creation time)
    largest Remove the largest repo by disk size

    Agent configuration

    The agent object controls the optional dedicated gitloops agent entry in OpenCode. By default (enabled: false) only the plugin tools are registered — you can call them from any agent or the default assistant.

    Field Type Default Description
    enabled boolean false Set to true to add a gitloops entry to the OpenCode agent picker.
    model string (session) Model to use, e.g. "anthropic/claude-sonnet-4-5". Falls back to the session model if omitted.
    temperature number 0.1 Sampling temperature (0–2).
    color string "#ed5f00" Hex color (e.g. "#FF5733") or theme color name ("primary", "accent", etc.) shown in the UI.
    mode string "all" "primary" — main picker only. "subagent"@mention only. "all" — both.

    The $schema field enables autocompletion and validation in editors that support JSON Schema.

    Private repositories

    Private repositories are supported as long as your local git credentials or SSH keys grant access — the same way git clone works in your terminal. No additional configuration is needed.

    If a clone fails due to missing credentials, Gitloops will surface a specific error message directing you to configure your git credentials or SSH keys.