Skip to main content
Glama

Альфа (0.1.x) — работает на реальных проектах, автор пользуется ежедневно. Возможны шероховатости.

ИИ-ассистенты редактируют ваш код по одному файлу за раз. Они не видят зависимости. Они делают grep, читают, предполагают — и ломают что-то через три файла.

LensPR строит граф зависимостей вашего кода и даёт вашему ИИ структурное понимание до того, как он что-либо изменит.

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

Требуются Python 3.11+, macOS или Linux. Для TypeScript/JS проектов также Node.js 18+.

pip install 'lenspr[all]'
lenspr init .
lenspr setup .

Перезапустите вашу IDE. Готово. Теперь у вашего ИИ есть инструменты lens_*.

Добавьте .lens/ в ваш .gitignore — граф локальный и пересобирается из исходников.


Related MCP server: codemap

Что это делает

«Что зависит от этой функции?»

Один вызов возвращает исходный код, кто его вызывает, что он вызывает и связанные тесты:

> lens_context("auth.login_handler")

source: 42 lines
callers: auth_routes.create_routes, test_auth.test_login_success
callees: db.get_user, crypto.verify_password, jwt.create_token
tests: test_login_success, test_login_wrong_password

Без LensPR ваш ИИ делает 5-7 вызовов grep/чтения и всё равно упускает детали. С LensPR — один вызов, полная картина.

«Что сломается, если я это изменю?»

Перед любым изменением ИИ видит радиус поражения:

> lens_check_impact("models.User")

severity: CRITICAL
direct_dependents: 15
indirect_dependents: 23
affected_modules: auth, payments, notifications
tests_covering: 3

ИИ предупреждает вас, меняет подход или запрашивает подтверждение. Никаких слепых правок.

«Насколько здорова эта кодовая база?»

> lens_vibecheck()

score: 86/100 (B)
  test_coverage:    17/25 — 67% functions tested
  dead_code:        20/20 — 0% dead code
  circular_imports: 15/15 — 0 cycles
  architecture:     12/15 — 1 violation
  documentation:     8/10 — 81% documented
  graph_confidence: 14/15 — 94% edges resolved

Отслеживайте, улучшается или деградирует кодовая база со временем.

Межъязыковая видимость

LensPR соединяет фронтенд и бэкенд в единый граф:

LoginModal.tsx → fetch("/api/auth/login")
                        ↓ CALLS_API
Backend:  @router.post("/login") → login_handler()
            → db.query(User)        [reads: users]
            → verify_password()
            → create_jwt_token()

Также отслеживает: таблицы баз данных, Docker-сервисы, переменные окружения, CI/CD-пайплайны, SQL-миграции.


Совместимость

IDE

Настройка

Claude Code

lenspr setup . — автоматически

Cursor

Скопируйте .mcp.json в .cursor/mcp.json

Любой MCP-клиент

lenspr serve <path>

Языки: Python (разрешение 95%+ через Jedi/Pyright) и TypeScript/JavaScript (85-95% через tree-sitter + TS Compiler API).

Инфраструктура: .sql-файлы, Dockerfile, docker-compose.yml, workflow-файлы GitHub Actions, .env-файлы — всё парсится в единый граф.

Всё работает локально. Ваш код никогда не покидает вашу машину.


Ключевые возможности

Анализ влияния

Серьёзность (LOW → CRITICAL) до любого изменения

Контекст одним вызовом

Исходный код + вызывающие + вызываемые + тесты за один запрос

Межъязыковой

HTTP фронтенда → маршруты бэкенда, таблицы БД, Docker, переменные окружения, CI/CD

Точечные правки

Адресный find/replace внутри функции — без переписывания файла целиком

Мёртвый код

Поиск недостижимых функций (точки входа Django, FastAPI, Celery)

Правила архитектуры

Контроль границ слоёв — нарушения предупреждают до применения изменений

Git для функции

Blame, история, область коммита на уровне функции

Память сессии

ИИ продолжает с того места, где остановился, после сброса контекста

Автосинхронизация

Наблюдатель за файлами обновляет граф при каждом сохранении

Оценка здоровья

Оценка 0-100 по 6 измерениям — отслеживание качества во времени

60+ инструментов в 12 группах — включайте только то, что нужно, через lenspr tools.

Навигация и поиск (8): lens_context, lens_get_node, lens_search, lens_grep, lens_find_usages, lens_get_structure, lens_list_nodes, lens_get_connections

Изменение (6): lens_update_node, lens_patch_node, lens_add_node, lens_delete_node, lens_rename, lens_batch

Анализ (6): lens_check_impact, lens_validate_change, lens_health, lens_dead_code, lens_dependencies, lens_diff

Качество (7): lens_vibecheck, lens_nfr_check, lens_test_coverage, lens_security_scan, lens_dep_audit, lens_fix_plan, lens_generate_test_skeleton

Архитектура (9): lens_arch_rule_add, lens_arch_rule_list, lens_arch_rule_delete, lens_arch_check, lens_class_metrics, lens_project_metrics, lens_largest_classes, lens_compare_classes, lens_components

Git (4): lens_blame, lens_node_history, lens_commit_scope, lens_recent_changes

Инфраструктура (5): lens_api_map, lens_db_map, lens_env_map, lens_ffi_map, lens_infra_map

Тестирование и трассировка (3): lens_run_tests, lens_trace, lens_trace_stats

Аннотации (5): lens_annotate, lens_save_annotation, lens_batch_save_annotations, lens_annotate_batch, lens_annotation_stats

Сессия (4): lens_session_write, lens_session_read, lens_session_handoff, lens_resume

Временной анализ (2): lens_hotspots, lens_node_timeline

Объяснение (1): lens_explain


Известные ограничения

  • Windows — не поддерживается. Только macOS и Linux.

  • Вызовы self.method() — статический парсер не может полностью разрешить диспетчеризацию методов экземпляра. Обходной путь: lens_trace (Python 3.12+) разрешает их во время выполнения.

  • Go, Rust, Java — пока не поддерживаются. Интерфейс парсера готов для контрибьюторов.

  • Динамический код — getattr, eval, динамические импорты нельзя отследить статически.


Участие

Попробуйте. Если что-то сломается — расскажите мне.

  • Отчёты об ошибках — даже «это не работает» полезно

  • Языковые парсеры — Go, Rust, Java (интерфейс BaseParser готов)

  • Идеи — откройте issue

Лицензия

MIT


Создано, потому что ИИ постоянно ломал мой код.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    MCP server for AI coding agents that builds a complete code structure graph and semantic vector index, enabling fast querying of code entities, relationships, and impact analysis.
    14 npm
    10
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for local-first code intelligence, providing structural code graph, semantic search, and impact analysis to AI agents.
    2
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    A persistent code-intelligence MCP server that builds a queryable knowledge graph of your codebase, enabling AI assistants to perform cross-file structural reasoning, dependency analysis, and blast radius detection.
    9
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server that provides coding agents with structured repository context, including graph-based navigation, dependency analysis, runtime flow tracing, and configuration surface across supported stacks.
    59 npm
    MIT