Skip to main content
Glama

Alpha (0.1.x): funciona en proyectos reales y el autor lo usa a diario. Espera asperezas.

Los asistentes de IA editan tu código un archivo a la vez. No ven las dependencias. Hacen grep, leen, adivinan — y rompen cosas a tres archivos de distancia.

LensPR construye un grafo de dependencias de tu base de código y le da a tu IA una comprensión estructural antes de que cambie nada.

Inicio rápido

Requiere Python 3.11+, macOS o Linux. Para proyectos TypeScript/JS, también Node.js 18+.

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

Reinicia tu IDE. Listo. Tu IA ahora tiene las herramientas lens_*.

Añade .lens/ a tu .gitignore: el grafo es local y se reconstruye a partir del código fuente.


Related MCP server: codemap

Qué hace

"¿Qué depende de esta función?"

Una sola llamada devuelve el código fuente, quién lo llama, a qué llama y las pruebas relacionadas:

> 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

Sin LensPR, tu IA hace de 5 a 7 llamadas de grep/lectura y aun así se le escapan cosas. Con LensPR: una llamada, panorama completo.

"¿Qué se rompe si cambio esto?"

Antes de cualquier modificación, la IA ve el radio de explosión:

> lens_check_impact("models.User")

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

La IA te avisa, cambia su enfoque o pide confirmación. Se acabaron las ediciones a ciegas.

"¿Cómo de saludable es esta base de código?"

> 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

Realiza un seguimiento de si la base de código mejora o degrada con el tiempo.

Visibilidad entre lenguajes

LensPR conecta el frontend y el backend en un único grafo:

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

También realiza un seguimiento de: tablas de bases de datos, servicios Docker, variables de entorno, flujos de trabajo CI/CD, migraciones SQL.


Funciona con

IDE

Configuración

Claude Code

lenspr setup . — automático

Cursor

Copia .mcp.json a .cursor/mcp.json

Cualquier cliente MCP

lenspr serve <path>

Lenguajes: Python (resolución del 95%+ mediante Jedi/Pyright) y TypeScript/JavaScript (85-95% mediante tree-sitter + TS Compiler API).

Infraestructura: archivos .sql, Dockerfiles, docker-compose.yml, flujos de trabajo de GitHub Actions, archivos .env — todo se analiza en el mismo grafo.

Todo se ejecuta localmente. Tu código nunca sale de tu máquina.


Características principales

Análisis de impacto

Severidad (LOW → CRITICAL) antes de cualquier cambio

Contexto en una llamada

Fuente + llamadores + llamados + pruebas en una sola solicitud

Entre lenguajes

HTTP del frontend → rutas del backend, tablas de BD, Docker, variables de entorno, CI/CD

Ediciones quirúrgicas

Búsqueda y reemplazo específicos dentro de una función — sin reescribir archivos completos

Código muerto

Encuentra funciones inalcanzables (puntos de entrada de Django, FastAPI, Celery)

Reglas de arquitectura

Aplica límites de capas — las violaciones avisan antes de aplicar los cambios

Git por función

Blame, historial y alcance de commits a nivel de función

Memoria de sesión

La IA retoma donde lo dejó entre reinicios de contexto

Auto-sincronización

Un vigilador de archivos actualiza el grafo en cada guardado

Puntuación de salud

Puntuación de 0 a 100 en 6 dimensiones — realiza un seguimiento de la calidad con el tiempo

Más de 60 herramientas organizadas en 12 grupos: habilita solo lo que necesites con lenspr tools.

Navegación y búsqueda (8): lens_context, lens_get_node, lens_search, lens_grep, lens_find_usages, lens_get_structure, lens_list_nodes, lens_get_connections

Modificación (6): lens_update_node, lens_patch_node, lens_add_node, lens_delete_node, lens_rename, lens_batch

Análisis (6): lens_check_impact, lens_validate_change, lens_health, lens_dead_code, lens_dependencies, lens_diff

Calidad (7): lens_vibecheck, lens_nfr_check, lens_test_coverage, lens_security_scan, lens_dep_audit, lens_fix_plan, lens_generate_test_skeleton

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

Infraestructura (5): lens_api_map, lens_db_map, lens_env_map, lens_ffi_map, lens_infra_map

Pruebas y trazado (3): lens_run_tests, lens_trace, lens_trace_stats

Anotaciones (5): lens_annotate, lens_save_annotation, lens_batch_save_annotations, lens_annotate_batch, lens_annotation_stats

Sesión (4): lens_session_write, lens_session_read, lens_session_handoff, lens_resume

Temporal (2): lens_hotspots, lens_node_timeline

Explicación (1): lens_explain


Limitaciones conocidas

  • Windows — no compatible. Solo macOS y Linux.

  • Llamadas a self.method() — el parser estático no puede resolver por completo el despacho de métodos de instancia. Solución: lens_trace (Python 3.12+) las resuelve en tiempo de ejecución.

  • Go, Rust, Java — aún no compatibles. La interfaz de parser está lista para colaboradores.

  • Código dinámico — getattr, eval, las importaciones dinámicas no se pueden rastrear estáticamente.


Contribuciones

Pruébalo. Si se rompe, dímelo.

  • Informes de errores — incluso "esto no funciona" es útil

  • Parsers de lenguajes — Go, Rust, Java (la interfaz BaseParser está lista)

  • Ideas — abre un issue

Licencia

MIT


Construido porque la IA seguía rompiendo mi código.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    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.
    29 npm
    11
    -
  • 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
    C
    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.
    75 npm
    MIT