• Codex
  • Claude Code
  • VS Code
  • GitHub Copilot
  • Cursor
  • Cline
  • Windsurf
  • Google Anti-gravity
  • OpenCode
  • Pi
  • Gemini CLI
  • Hermes Agent
  • Zed
  • Junie
  • Qwen Code
  • Kiro
  • Kilo Code
  • Factory Droid

Set up GitHits for your agents

Run this command:

<> bash
npx githits@latest init

What happens next:

  1. Opens your browser to authorize GitHits
  2. Asks whether to set up GitHits at the user or project level
  3. Detects your supported AI coding tools
  4. Lets you choose which tools to configure
  5. Configures the selected tools

Equip your agents to use open source right

Connect your software factory or coding agent to a version-aware index of open-source code, documentation, and package data. Discover, use, debug, and maintain dependencies through one interface.

The infrastructure layer connecting agents to the open-source ecosystem.

Tools for software factories and coding agents

Connect your agents through MCP, the CLI, or the API.

Deterministic

Code

resolve_target

Find the right package or repository target.

Example
githits resolve fastapi --prefer-kind repository

ranked targets to choose from

Resolve a package or repository name to ranked canonical targets before searching its code.

search

Find code by keywords or API names.

Example
githits search "OAuth2PasswordBearer" --in pypi:fastapi --source code

ranked hits with file, line range, enclosing symbol, and a matched snippet

Find code and symbols in a package or repository by keywords, API names, or quoted phrases. Narrow with inline filters such as kind:function or path:lib/.

grep

Match exact text or regex in code.

Example
githits grep -F "sendFile" npm:express

file:line matches, plus a cursor for the next page

Find exact text or regex matches across a repo or package. Results are deterministic and paginated, and can be scoped by path, glob, or file extension.

list

Browse source files.

Example
githits list pypi:fastapi fastapi/security

a plain list of file paths

List the indexed files and paths in a repo or package, so agents can find the right file before reading it.

read

Read versioned code by file, lines, or symbol selector.

Example
githits read pypi:fastapi@0.141.1 fastapi/security/oauth2.py --selector OAuth2PasswordBearer

the source for the selected symbol

Read a source file, a focused line range, or a code symbol using a selector, at the exact version or git ref. It follows straight on from search and grep results.

diff

Compare code changes between versions or refs.

Example
githits code diff npm:express 4.21.2..5.2.1 --stat

repository-wide changed files with line statistics

Compare source changes between package versions or repository refs.

Documentation

resolve_target

Find the right documentation site target.

Example
githits resolve express --prefer-kind site

ranked targets to choose from

Resolve a documentation-site name to ranked canonical targets before searching its pages.

search

Find documentation sections by keywords.

Example
githits search "useEffect cleanup" --source docs --in site:react.dev

matching doc sections with a preview and a target to read next

Search a package's documentation, or a standalone docs site, by keywords. Hits point to the exact page and section.

grep

Match exact text or regex in documentation.

Example
githits grep -F "next()" site:expressjs.com

matching lines with page locations and read actions

Find exact text or regex matches in documentation, with matching lines and pages.

list

Browse documentation pages.

Example
githits list site:expressjs.com

page titles, each with a ready-made read command

List all available documentation pages for a package or docs site, ready for the read command. This is the same tool that lists source files.

read

Read a page or section using a heading selector.

Example
githits read 'https://expressjs.com/en/5x/api/express/' --selector expressjson

the selected section as clean markdown

Read a documentation page or select a section by its heading ID using a selector. This is the same tool that reads source files.

Package Intelligence

pkg_info

Check package health, adoption, and license.

Example
githits pkg info npm:express

a one-screen summary (license, stars, monthly downloads, last publish, advisory counts)

Check a package's health and adoption at a glance: license, downloads, repository activity, publish age, and open advisories.

pkg_vulns

Check known vulnerabilities and affected versions.

Example
githits pkg vulns npm:lodash@4.17.20 --severity high

advisories with severity, the versions affected, and the version that fixes each one

Check current security advisories for a pinned version or the package's full history.

pkg_deps

Inspect direct and transitive dependencies.

Example
githits pkg deps npm:express@5.2.1 --depth 2

dependency counts and the resolved package list

Inspect what a package depends on: direct runtime dependencies with resolved versions, and optionally the transitive footprint.

pkg_changelog

Read release notes and changelog history.

Example
githits pkg changelog npm:next --from 15.0.0

one entry per release with date, link, and notes

Get release notes and changelog history for a package or repository, either the latest entries or everything between two versions.

pkg_upgrade_review

Check security and dependency changes before upgrading.

Example
githits pkg upgrade-review npm:next@14.2.0 --to 15.0.0

advisories fixed, added, and still present, plus changelog and dependency changes

Compare two versions of a package before upgrading: vulnerabilities, release notes, deprecations, and peer and dependency changes. It reports facts only and leaves the decision to you.

Agentic

Delegate research and example generation to GitHits. Our managed subagents handle the inference for you and are optimized for token efficiency and answer quality.

example

Get a generated code example grounded in how other open-source projects do something. Prior art.

Cross-project sources produce a generated example

Example
githits example "stream a large file upload to S3 with progress" --lang typescript

a generated code example with links to its sources and their licenses

Adapt the example to your project and check the APIs against the package versions you use.

research

Experimental · Coming soon

Ask how a package or repository works. Get an answer with cited sources.

Search, grep, read produce an explanation with sources

Example
githits research npm:express "How does Express handle errors passed to next()?"

an explanation with cited sources, read commands, and a thread ID for follow-up questions

GitHits searches and reads the relevant code and documentation, then explains what it found. Ask follow-up questions in the same thread.

One version-aware index for the open-source ecosystem

Open source powers modern software. GitHits brings source code, documentation, package releases, dependency graphs, and security advisories together so agents can inspect the versions they use, compare alternatives, and plan changes.

Browse the index
lines of code
25.1B
repositories
35.5K
documentation pages
953.2K
packages
28.2K

GitHits indexes 25,118,954,619 lines of open-source code across public repositories.

Packages by registry

Public repositories

Including repositories that aren’t published to a package registry.

If a repository isn't indexed yet, GitHits indexes it on demand, in tens of seconds for small repositories and minutes for larger ones.

Indexing now

TargetStageProgress
Checking what is indexing right now…

Recently indexed

TargetTookTime from indexing start to fully searchable.
Loading recent completions…

Get your agents started in minutes

Connect your coding agent or software factory through the CLI and MCP.

npx githits@latest init
What does this command do?

Expand what your software factory can build, maintain, and modernize

Equip your agents for greenfield development, brownfield maintenance, and modernization with code, documentation, and package data for the dependency versions they use or plan to adopt. Use the REST API to tailor retrieval and context to each workflow.

Planning agents
Discover existing solutions and check dependency constraints before committing to a plan.
Design agents
Compare architecture patterns and implementation tradeoffs across open-source projects.
Implementation agents
Inspect extension points, types, and call sites in the exact dependency version you use.
Debugging agents
Trace upstream callers and error handlers to distinguish application mistakes from dependency bugs.
Code review agents
Check API usage and behavioral assumptions against the dependency’s version-specific source.
Maintenance agents
Check changelogs, vulnerabilities, and source for installed and target versions before upgrading or migrating.

GitHits index

The infrastructure layer connecting agents to the open-source ecosystem

Connect your software factory or coding agent to a version-aware index of open-source code, documentation, and package data. Discover, use, debug, and maintain dependencies through one interface.

The Problem

Your agent cannot see all the code it depends on

Coding agents can inspect your repository. When the answer lives in dependency source, documentation, or version history, they may have to search or guess.

Your repository is only part of the application

An eclipse-like illustration with part of the central form obscured.

Your agent can inspect the files in your repository.

But much of the application’s behavior comes from public frameworks, SDKs, libraries, and transitive dependencies. When the answer lives inside one of those packages, searching the local repository often stops at the import or API call.

The agent can see how your application uses the package. It cannot necessarily see what the package does.

Documentation may describe a different version

A fragmented torus with sections that do not connect.

Search results and documentation often describe the latest release. Your project may use an older one.

Between versions, method names change. Configuration options move. Defaults, callback arguments, and lifecycle behavior can change too.

Without the source and documentation for the version in use, an agent may combine information from several releases into an answer that was never correct for any one of them.

A plausible change can still be wrong

A grid pattern fraying at the edges.

A generated change may look natural while relying on an incorrect assumption about a dependency.

It might use an option that no longer exists, miss a required initialization step, misunderstand when a hook runs, or depend on behavior that changed between releases.

The mistake may be obvious immediately. It may also appear later, when a particular request, state transition, or edge case reaches that code.

The agent has to recover the missing information

A wireframe form with glowing nodes spiraling inward.

When the agent cannot verify how a dependency works, it has to find another route.

It may search the web, inspect an installed package, clone another repository, try several changes, or ask the developer for help. Any of these can work, but the same investigation must be repeated for each package and version.

  • Repeated searches for the same dependency behavior.
  • Changes based on stale or mismatched documentation.
  • More review to separate verified facts from assumptions.
  • More time and model context spent before reaching the actual fix.

Guess > run > error > retry > burn

The Solution

Equip your agents to use open source right

Let your agents discover packages, understand code and documentation, learn from real-world usage, and evaluate dependencies and upgrades through one interface.

GitHits connects coding agents to the open-source supply chain. It gives the agents building and maintaining your applications one interface to public code, documentation, packages, and dependency information through MCP, the CLI, or the API.

A GitHits query identifies a package, repository, version, or ref. For a fixed version, GitHits maps it to a source commit and retrieves the code and documentation attached to that version.

When an agent reaches an unfamiliar API or dependency behavior, it can query GitHits from the coding tool it already uses. It can search for a symbol, read an exact file, inspect release changes, or find prior art in other public projects.

The results include the package version, repository, and source location. The agent can check what the dependency does instead of relying on a remembered API or documentation for another release.

GitHits complements the agent’s access to your local repository. It provides public open-source context without requiring access to your private source.

Find and evaluate dependencies

Your agent needs a way to add file uploads, background jobs, or another capability. Its training may miss a useful library or a recent release. GitHits finds examples grounded in other open-source projects, giving the agent approaches and libraries to investigate.

Once it has a candidate, the agent can inspect package metadata, licenses, known vulnerabilities, and dependencies before choosing what to use.

Use the APIs your version provides

An example that works with one release can fail with another. GitHits lets your agent read the source at the version your application uses and consult the relevant documentation. It can check a function’s parameters, return value, and implementation before writing the integration.

Examples from other projects provide useful starting points. The agent can check their APIs against your dependency version before adapting them.

Debug dependency behavior

When a library throws an unfamiliar error or handles a request unexpectedly, the explanation may be inside the dependency. Your agent can find the error text, locate the responsible function, and read its implementation at the relevant version.

The agent can then trace the behavior back to your integration and decide what to change.

Understand changes before upgrading

A new release can change an API, introduce a dependency, or fix a vulnerability. GitHits gives your agent release notes and an upgrade review covering security, deprecations, and dependency changes.

The agent can then inspect the relevant source versions to understand how the change affects your application and plan the migration.

AI agents / tools

  • Codex
  • Claude
  • Cursor
  • VS Code
  • Copilot
  • Cline
  • Windsurf
  • OpenCode
  • Antigravity
  • Pi
  • Hermes

The interface between agents and the open-source supply chain

Deterministic

  • Code

    Search, grep, list files, and read source at a package version or repository ref.

  • Documentation

    Search, grep, list, and read documentation pages or selected sections.

  • Package Intelligence

    Inspect metadata, licenses, vulnerabilities, dependencies, releases, and upgrade changes.

Agentic

  • example

    Generate a code example from how other open-source projects solve a problem, with links to sources and licenses.

  • research

    Experimental · Coming soonDelegate a question about how a package or repository works and get an explanation with sources.

GitHits Index(version-aware)
  • Code

    Files, symbols, AST, imports, exports

  • Versions

    Version history and changes

  • Docs

    Markdown, MDX, HTML

  • Graph

    Dependencies, imports, call relationships

  • Security

    Vulnerabilities, CVEs, advisories

  • Changes

    Changelogs, release notes, diffs

Supported sources & registries

  • GitHub
  • GitLab
  • Codeberg
  • Docs Sites
  • npm
  • PyPI
  • Hex.pm
  • crates.io
  • vcpkg
  • Zig
  • NuGet
  • Maven Central
  • Packagist
  • RubyGems
  • Go
  • Swift

Query GitHits > check the code and APIs > make the change

Why GitHits

Let your agents use open source with confidence

GitHits gives coding agents tools to inspect dependency source, documentation, package data, security, changes, dependency graphs, and prior art.

Coding agents can inspect the code in your repository. But application behavior also comes from open-source frameworks, SDKs, libraries, and packages outside that repository.

GitHits gives software factories and individual coding agents one toolkit to discover packages, understand their code and documentation, learn from real-world usage, and evaluate dependencies and upgrades.

The tools answer different questions. When the agent needs to understand an API, it can search for a symbol or read the source. When it is evaluating a package, it can inspect its dependencies, license, and known vulnerabilities. When it is planning an upgrade, it can review what changed between releases. When it needs an implementation pattern, it can look at how open-source projects solved similar problems.

GitHits also keeps the version straight. When the agent specifies a package version or repository ref, GitHits searches the code and documentation for that target.

The agent keeps working in the same coding tool and keeps its view of your local repository. GitHits adds visibility into the open-source dependencies behind it. Together, they let the agent inspect the code it is changing and the code that change relies on.

Without GitHits

The agent sees your repository, but not the open-source code behind it.

The agent can inspect your application code. Dependency source, documentation, package data, vulnerabilities, and release history remain outside its view, so it has to search elsewhere or guess.

30%local repository visible

With GitHits

The agent can inspect the whole open-source code stack.

GitHits adds tools for dependency source, documentation, package data, vulnerabilities, changes, dependency graphs, upgrades, and prior art.

100%local repository + open-source dependencies visible

What developers say

The Builders

The story behind GitHits

How a GitHub search for an undocumented Azure SDK API became a toolkit that helps software factories and coding agents work with open source.

GitHits started with a question in Slack.

The question that started GitHits

When documentation didn’t explain something clearly, I had a simple fallback: search GitHub.

If a problem has been solved before, there is usually code somewhere showing how it works. Finding the right example still requires digging through files, issues, and discussions.

One day, Softlandia co-founder Mikko asked in Slack:

Who can find the definition for TranscribeDefinition?

He was building a transcription pipeline using Azure’s Speech SDK and couldn’t figure out how to initialize the object.

The official documentation didn’t show it yet, but the definition was already present in Microsoft’s GitHub repository inside documentation files prepared for a future release.

After finding it, I wrote in Slack:

GitHub search solves a surprising number of problems if the project is open source.

Then I added:

You could probably build a coding assistant that answers questions by searching GitHub with some heuristics.

That message started a discussion inside Softlandia Venture Studio. We decided to explore the idea, and Jaakko bought githits.com for $9.

Why GitHub search was not enough

Much of the practical knowledge about how libraries are used already exists in open-source repositories.

Developers have already recorded how libraries work in source code, documentation, issues, releases, and package metadata. The difficult part is finding the material for the package version or repository ref the agent is using.

Documentation can be incomplete, and raw search is noisy. Without the relevant source and package data, an agent may produce a plausible answer based on the wrong API or release.

Developers resolve these questions by inspecting source, reading documentation, checking package data, reviewing changes, and looking at how other projects solved similar problems. Doing that by hand works. Repeating it across dependencies, versions, and tasks is the problem GitHits was built to solve.

How GitHits puts open source to work for agents

GitHits is the infrastructure layer connecting agents to the open-source ecosystem. Its index supports tools for code navigation, documentation, package inspection, vulnerability checks, changelog and upgrade review, and prior art.

Agents query these tools from the coding environments they already use, so they can inspect library code, documentation, and package details without cloning repositories or browsing from scratch.

Who it helps

Software factories

Agents working together to produce software can use the same tools to discover packages, inspect implementations, learn from prior art, and evaluate dependencies and upgrades.

Developers using AI coding tools

Engineers using tools such as Claude Code, Cursor, or Copilot when an unfamiliar dependency or undocumented API blocks the task.

Helping Claude Code find undocumented C++ APIs directly from the code.

— Onni Hakala, GitHits user

Developers working with specialized or fast-changing libraries

Engineers using packages whose documentation, examples, or APIs change faster than a model’s built-in knowledge.

I swapped my ritual of 20 browser tabs and stale Stack Overflow answers for a tool that actually understands what I’m trying to do.

— Atharv Singh, GitHits user

Meet the GitHits team

  • Portrait of Olli-Pekka Heinisuo

    Olli-Pekka Heinisuo

    Co-founder, CTO

    I created the opencv-python package. It has over 1B downloads. I wanted to keep contributing to the open source ecosystem. Now I'm building GitHits search agents and the reasoning layer.

  • Portrait of Juha Litola

    Juha Litola

    Co-founder, Chief Architect

    I thought I was done with startups, but I realized the AI coding revolution is just too big an opportunity to miss. I'm responsible for building the code indexing and intelligence engine that understands dependencies.

  • Portrait of Nathan Burg

    Nathan Burg

    Co-founder, CPO

    I was one of the first people to test Olli-Pekka's first prototype. I tried something hard: writing a CUDA kernel. Every other AI tool produced code that wouldn't compile. GitHits passed my tests on the first try. I wanted to join the team.

  • Portrait of Jaakko "Jack" Timonen

    Jaakko "Jack" Timonen

    Co-founder, CEO

    After my first startup, I was on the hunt to find an idea I'd be excited about. When Olli-Pekka pitched “a coding problem solver using GitHub search with smart heuristics”, I was immediately hooked.

  • Portrait of Eze Jaime

    Eze Jaime

    Founding Designer

    20+ years shipping digital products across retail, fintech, and entertainment, used by millions. Joined GitHits after experiencing the frustration of AI giving answers that look right but don't actually work. Now I'm fixing that through design.

  • Portrait of Tayyab Rasheed

    Tayyab Rasheed

    GTM Engineer

    Built AI/LLM automation across multiple production systems — OpenAI, Gemini, Vertex. Awarded for rapid technical growth, strong ownership of complex systems, and continuous skills improvement at Mavric. Now building the GitHits GTM engine.

FAQ

GitHits FAQ

How GitHits works, what it covers, how to get started, and how it handles private code, retrieved context, and open-source licenses.

What does GitHits do?

GitHits is the infrastructure layer connecting agents to the open-source ecosystem. It lets the agents in your software factory, or your individual coding agent, discover packages, understand code and documentation, learn from real-world usage, and evaluate dependencies and upgrades. The tools are available through MCP, the CLI, and the API.

Does GitHits work with all open-source code or only published packages?

GitHits can search and navigate open-source repositories whether or not they are published as packages. Package-specific tools, such as dependency, vulnerability, license, changelog, and upgrade inspection, are available for supported package ecosystems.

How do I get started?

To get started, run npx -y githits@latest init. GitHits detects your coding tool, signs you in, and configures the MCP server automatically.

How does my agent know when to use GitHits?

GitHits is useful when a task calls for context from open-source code, documentation, or package data. Common cases include researching an integration, understanding how a library works, investigating version-specific behavior, checking a package, or finding prior art.

During setup, the GitHits CLI wizard can install guidance that tells your agent when and how to use GitHits. You can also ask the agent to use GitHits explicitly.

How does the GitHits index work?

GitHits indexes open-source repositories, documentation, and package data by package version or repository ref. When an agent asks for a specific target, GitHits resolves it to the corresponding commit and makes that source queryable.

The index records files, symbols, imports, call relationships, and documentation, so the agent can search and read the exact code it needs.

Does indexed source change over time?

Fixed package versions and commits remain tied to the same underlying source. GitHits may re-index them as its parsing and search improve, but the source itself does not change.

Moving refs, such as branches and HEAD, follow the repository and update as it changes.

Why does GitHits use GitHub sign-in?

GitHits uses GitHub authentication to identify your account. Signing in does not give GitHits access to your private repositories.

Can GitHits access my private repositories?

No. GitHits does not access, index, search, or store your private repository code.

Your coding agent works with the code in your local repository. GitHits provides context from open-source code, documentation, and package data.

Does GitHits train on my code, prompts, or outputs?

No. GitHits does not use your code, prompts, outputs, or personal data to train AI models. Service data is processed only to provide GitHits and remains governed by our Privacy Policy and Data Processing Agreement.

How does GitHits handle potentially unsafe context?

GitHits retrieves indexed open-source code, documentation, package data, changelogs, vulnerability data, and examples. It does not modify your code.

Its search infrastructure and MCP tools include guardrails intended to reduce prompt injection and other malicious-content risks. No external source should be treated as automatically safe, and developers should review generated code before shipping it.

How does GitHits select sources and prior art?

For code, documentation, and package queries, the agent specifies a package, version, repository, or ref. GitHits resolves that target to indexed source and package data.

For prior art, GitHits ranks open-source examples using relevance and repository signals such as activity, adoption, maintenance, and license status. License filters are applied before examples are selected, and results link back to their sources.

How does GitHits handle open-source licenses?

Prior-art searches use strict license filtering by default. This excludes repositories with copyleft licenses and repositories that do not declare a license. You can relax these restrictions or disable license filtering.

Package inspection also reports license information, so agents can check a dependency's license before recommending or using it.

The Blog

Recent articles

Product updates, engineering notes, and case studies from GitHits.

View all posts