GC

glommer/codemogger

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

349 stars 30 forks Качество 73 Тренд 23MIT

Codemogger — это библиотека индексирования кода и MCP-сервер для агентов кодирования ИИ

Обзор

Библиотека индексирования кода для агентов кодирования ИИ. Парсирует исходный код с помощью tree-sitter, разбивает его на семантические единицы (функции, структуры, классы, impl-блоки), встраивает их локально и хранит всё в одном файле SQLite с векторным + полнотекстовым поиском. Нет Docker, нет сервера, нет API-ключей. Один .db файл на каждую кодовую базу. Программисты должны понимать кодовые базы. Им нужно находить определение объектов, понимать, как концепты реализуются между файлами, и быстро ориентироваться в незнакомом коде. Для этого требуется как поиск по ключевым словам (точный поиск идентификатора), так и семантический поиск (запросы на естественном языке, когда вы не знаете точных названий). По мере того как инструменты ИИ становятся более композитными — агенты вызывают агентов, MCP-серверы подключаются к разным хостам — эта возможность должна существовать как локальная библиотека. Никаких внешних серверов, никаких API-ключей, никаких контейнеров Docker. Только вызов функции, который возвращает результаты. Codemogger — это та библиотека.

Обзор (машинный перевод)

Библиотека индексирования кода для агентов кодирования ИИ. Парсирует исходный код с помощью tree-sitter, разбивает его на семантические единицы (функции, структуры, классы, impl-блоки), встраивает их локально и хранит всё в одном файле SQLite с векторным + полнотекстовым поиском.

Нет Docker, нет сервера, нет API-ключей. Один файл .db на кодовую базу.

Почему

Программисты должны понимать кодовые базы. Им нужно находить определение объектов, понимать, как концепты реализуются между файлами, и быстро ориентироваться в незнакомом коде. Для этого требуется как поиск по ключевым словам (точный поиск идентификатора), так и семантический поиск (запросы на естественном языке, когда вы не знаете точных названий).

По мере того как инструменты ИИ становятся более композитными — агенты вызывают агентов, MCP-серверы подключаются к разным хостам — эта возможность должна существовать как локальная библиотека. Никаких внешних серверов, никаких API-ключей, никаких контейнеров Docker. Только вызов функции, который возвращает результаты.

codemogger — это эта библиотека. Встроенный SQLite (через Turso) с FTS + векторным поиском в одном файле .db.

Установка

Или использовать npx для запуска без установки.

Быстрый старт

Добавьте к конфигурации MCP вашего агента по программированию (Claude Code, OpenCode и др.):

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

codemogger

Code indexing library for AI coding agents. Parses source code with tree-sitter, chunks it into semantic units (functions, structs, classes, impl blocks), embeds them locally, and stores everything in a single SQLite file with vector + full-text search.

No Docker, no server, no API keys. One .db file per codebase.

Why

Coding agents need to understand codebases. They need to find where things are defined, discover how concepts are implemented across files, and navigate unfamiliar code quickly. This requires both keyword search (precise identifier lookup) and semantic search (natural language queries when you don’t know the exact names).

As AI coding tools become more composable - agents calling agents, MCP servers plugging into different hosts - this capability needs to exist as a library that runs locally. No external servers, no API keys, no Docker containers. Just a function call that returns results.

codemogger is that library. Embedded SQLite (via Turso) with FTS + vector search in a single .db file.

Install

npm install -g codemogger

Or use npx to run without installing.

Quick start

# Index a project
codemogger index ./my-project

# Search
codemogger search "authentication middleware"

Add to your coding agent’s MCP config (Claude Code, OpenCode, etc.):

{
  "mcpServers": {
    "codemogger": {
      "command": "npx",
      "args": ["-y", "codemogger", "mcp"]
    }
  }
}

The MCP server exposes three tools:

  • codemogger_search - semantic and keyword search over indexed code
  • codemogger_index - index a codebase for the first time
  • codemogger_reindex - update the index after modifying files

Add the local db to .gitignore:

# codemogger db
.codemogger/

SDK

codemogger is also usable as a library. The SDK has no model dependency - you provide your own embedding function:

import { CodeIndex } from "codemogger"
import { pipeline } from "@huggingface/transformers"

// Load embedding model (runs locally, no API keys)
const extractor = await pipeline("feature-extraction", "Xenova/all-MiniLM-L6-v2", { dtype: "q8" })

const embedder = async (texts: string[]): Promise => {
  const output = await extractor(texts, { pooling: "mean", normalize: true })
  return output.tolist() as number[][]
}

const db = new CodeIndex({
  dbPath: "./my-project.db",
  embedder,
  embeddingModel: "all-MiniLM-L6-v2",
})

await db.index("/path/to/project")

// Semantic: "what does this codebase do?"
const results = await db.search("authentication middleware", { mode: "semantic" })

// Keyword: precise identifier lookup
const results = await db.search("BTreeCursor", { mode: "keyword" })

await db.close()

The MCP server and CLI ship with all-MiniLM-L6-v2 by default.

CLI

# Install globally
npm install -g codemogger
Открыть полный README на GitHub

Установка

npx -y codemogger mcp
Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

{ "mcpServers": { "codemogger": { "command": "npx", "args": ["-y", "codemogger", "mcp"] } } }