DevContext

Proporciona a los desarrolladores una conciencia contextual continua y centrada en el proyecto. Requiere una base de datos TursoDB.

Documentación

DevContext: Servidor de Protocolo de Contexto de Modelo (MCP) de Conciencia de Contexto Autónoma

DevContext Banner

Potencia tu flujo de trabajo de desarrollo con conciencia de contexto inteligente - DevContext comprende tu código, conversaciones y patrones de desarrollo para proporcionar contexto relevante exactamente cuando lo necesitas.

Introducción

DevContext es un servidor de Protocolo de Contexto de Modelo (MCP) de vanguardia diseñado para proporcionar a los desarrolladores una conciencia de contexto continua y centrada en el proyecto. A diferencia de los sistemas de contexto tradicionales, DevContext aprende continuamente de tus patrones de desarrollo y se adapta a ellos. DevContext aprovecha métodos de recuperación sofisticados, centrándose en análisis de palabras clave, grafos de relaciones y metadatos estructurados para entregar contexto altamente relevante durante el desarrollo, comprendiendo tanto tus conversaciones como tu código a un nivel más profundo.

El servidor opera con una instancia de base de datos dedicada a un solo proyecto, eliminando la complejidad entre proyectos y garantizando el rendimiento con requisitos mínimos de recursos. DevContext construye una comprensión integral de tu código, desde la estructura del repositorio hasta funciones individuales, mientras aprende continuamente de tus patrones de desarrollo y se adapta a ellos.

La MEJOR manera de usar este servidor MCP es seguir la guía a continuación sobre la implementación del sistema de Reglas de Cursor proporcionado, que a su vez te brinda:

  • Gestión de contexto completamente autónoma
  • Contexto y uso de documentación externa autónoma
  • Integración completa del flujo de trabajo de gestión de tareas

Tecnologías Principales

  • Node.js: Entorno de ejecución (Node.js 18+)
  • TursoDB: Base de datos SQL optimizada para implementación en el borde (compatible con SQLite)
  • SDK de Protocolo de Contexto de Modelo: Para comunicación estandarizada con clientes IDE
  • Reglas de Cursor: Gestión autónoma del entorno de desarrollo y flujo de trabajo
  • JavaScript/TypeScript: Implementación pura en JavaScript sin dependencias externas de ML

Guía de Instalación

Requisitos Previos

  • Node.js 18.0.0 o superior
  • IDE Cursor con soporte MCP
  • Cuenta de TursoDB (para la base de datos)

Paso 1: Configurar la Base de Datos TursoDB

  1. Regístrate en TursoDB:

    • Visita Turso y crea una cuenta
    • El nivel gratuito es suficiente para la mayoría de los proyectos
  2. Instala la CLI de Turso (opcional pero recomendado):

    curl -sSfL https://get.turso.tech/install.sh | bash
    
  3. Autentícate con Turso:

    turso auth login
    
  4. Crea una base de datos de proyecto:

    turso db create devcontext
    
  5. Obtén las credenciales de la base de datos:

    # Get database URL
    turso db show devcontext --url
    
    # Create auth token
    turso db tokens create devcontext
    

    Guarda tanto la URL como el token para el siguiente paso.

Paso 2: Configurar MCP en Cursor (también se puede aplicar a otros IDEs)

Crea o edita .cursor/mcp.json en el directorio de tu proyecto:

{
  "mcpServers": {
    "devcontext": {
      "command": "npx",
      "args": ["-y", "devcontext@latest"],
      "enabled": true,
      "env": {
        "TURSO_DATABASE_URL": "your-turso-database-url",
        "TURSO_AUTH_TOKEN": "your-turso-auth-token"
      }
    }
  }
}

Reemplaza your-turso-database-url y your-turso-auth-token con los valores obtenidos en el Paso 1.

Implementación de Reglas de Cursor

DevContext implementa un conjunto sofisticado de Reglas de Cursor que crean un entorno de desarrollo autónomo. Estas reglas guían a los asistentes de IA de Cursor para mantener la alineación del alcance del proyecto, incorporar documentación actualizada e implementar flujos de trabajo de tareas avanzados.

Mantente atento al Generador de Proyectos DevContext que llegará muy pronto y creará una configuración COMPLETA para tu proyecto para multiplicar literalmente por 10 tu flujo de trabajo de desarrollo.

Componentes Clave de las Reglas

1. Guía de Uso de Herramientas MCP de DevContext

La regla principal define una secuencia precisa para la ejecución de herramientas:

1. FIRST: Call initialize_conversation_context EXACTLY ONCE at START
2. AS NEEDED: Call update_conversation_context for code changes/new messages
3. AS NEEDED: Call retrieve_relevant_context when specific context is required
4. OCCASIONALLY: Call record_milestone_context for significant achievements
5. LAST: Call finalize_conversation_context EXACTLY ONCE at END

Este flujo de trabajo garantiza una gestión integral del contexto durante toda la sesión de desarrollo.

2. Requisitos de Documentación de Bibliotecas Externas

Todo uso de bibliotecas externas debe estar precedido por una recuperación adecuada de documentación:

  • Recuperación de Documentación en Dos Pasos usando Context7
  • Respaldo de Búsqueda Web para documentación no disponible a través de Context7
  • Síntesis de Documentación de Múltiples Fuentes para una comprensión integral

Esto previene problemas comunes con uso incorrecto de API, versiones incompatibles o dependencias faltantes.

3. Sistema de Flujo de Trabajo de Tareas

El sistema de flujo de trabajo de tareas permite:

  • Gestión estructurada de tareas en tasks.md
  • Orden de implementación basado en ID de tarea
  • Seguimiento de estado con metadatos de finalización
  • Integración del blueprint del proyecto para contexto arquitectónico

Configuración de Reglas de Cursor

  1. Crear Directorio de Reglas:

    mkdir -p .cursor/rules
    
  2. Descargar/Copiar y Pegar Reglas:

Descarga o copia y pega el directorio .cursor/rules en tu proyecto. A continuación, copia y pega el contenido del archivo .cursorrules en la raíz de tu proyecto y pégalo en las reglas de configuración de tu cursor (Configuración de Cursor -> Reglas -> Reglas de Usuario). También debes copiar y pegar el archivo .cursorrules en tu directorio principal.

  1. Personalizar el Flujo de Trabajo de Tareas (Opcional): Una vez implementadas las reglas de cursor, reinicia Cursor y procede a pedirle que cree tareas para ti basadas en cualquier idea de proyecto que tengas.

Ejemplo de Configuración

A continuación se muestra un ejemplo completo de un archivo mcp.json que configura tanto los servidores MCP de DevContext como Context7:

{
  "mcpServers": {
    "devcontext": {
      "command": "npx",
      "args": ["-y", "devcontext@latest"],
      "enabled": true,
      "env": {
        "TURSO_DATABASE_URL": "libsql://your-project-db-name.turso.io",
        "TURSO_AUTH_TOKEN": "your_turso_auth_token_here"
      }
    },
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp@latest"]
    }
  }
}

Parámetros Importantes

ParámetroDescripciónValor Predeterminado
TURSO_DATABASE_URLURL de tu instancia de TursoDBNinguno (Requerido)
TURSO_AUTH_TOKENToken de autenticación para TursoDBNinguno (Requerido)

Tabla de Contenidos

Descripción General del Sistema

DevContext es un sistema de gestión de contexto de última generación para el desarrollo de software, que implementa el Protocolo de Contexto de Modelo (MCP) con técnicas avanzadas de recuperación de contexto.

El sistema opera como una aplicación Node.js con una base de código JavaScript modular, empaquetada en un solo archivo .js usando esbuild. Aprovecha TursoDB (o una base de datos SQL similar) como almacenamiento persistente para todo el contexto, metadatos y registros opcionales de un proyecto específico.

Diferenciadores Clave:

  • Recuperación No Vectorial: La recuperación de contexto utiliza análisis sofisticado de palabras clave, grafos de relaciones y metadatos estructurados en lugar de embeddings vectoriales
  • Diseño Centrado en el Proyecto: Cada instancia del servidor está dedicada a un solo proyecto, simplificando la gestión de datos
  • Dependencias Mínimas: Restringido a lo esencial - SDK de MCP, cliente de TursoDB y análisis AST ligero
  • Comprensión Jerárquica: El contexto se comprende desde la estructura del repositorio hasta los niveles de función/variable
  • Priorización Inteligente de Contexto: Puntuación de relevancia multifactorial basada en actualidad, importancia, relaciones y enfoque del desarrollador

Componentes Principales

Procesamiento de Texto

  • Tokenización consciente del lenguaje con manejo especializado para JavaScript/TypeScript, Python, Java, C#, Ruby y Go
  • Extracción de palabras clave con ponderación específica del lenguaje
  • N-gramas que respetan límites semánticos
  • Detección de modismos específicos del lenguaje

Gestión de Contexto

  • Indexación de entidades de código y seguimiento de relaciones
  • Segmentación de temas de conversación y detección de propósito
  • Registro de eventos de línea de tiempo y capturas de hitos
  • Predicción de áreas de enfoque basada en la actividad del desarrollador

Reconocimiento de Patrones

  • Identificación y almacenamiento de patrones de código
  • Aprendizaje automático de patrones a partir de ejemplos
  • Promoción de patrones entre sesiones
  • Detección de patrones de diseño

Análisis de Intención y Relevancia

  • Predicción de intención de consulta
  • Priorización de contexto multifactorial
  • Gestión de presupuesto de tokens
  • Integración de contexto entre cambios de tema

Herramientas MCP

DevContext implementa las siguientes herramientas MCP que pueden ser invocadas por el IDE Cursor:

initialize_conversation_context

Inicializa una nueva sesión de conversación con contexto integral del proyecto.

Cuándo usar: Al inicio de cada conversación, exactamente una vez.

Parámetros clave:

  • initialQuery: El primer mensaje o pregunta del usuario
  • contextDepth: Profundidad de contexto mínima, estándar o integral
  • includeArchitecture: Si se debe incluir contexto arquitectónico
  • focusHint: Enfoque opcional en una entidad de código específica

Devuelve: ID de conversación y resumen de contexto inicial

update_conversation_context

Actualiza el contexto activo con nuevos mensajes y cambios de código.

Cuándo usar: Después de cambios de código o intercambio de nuevos mensajes.

Parámetros clave:

  • conversationId: ID de initialize_conversation_context
  • newMessages: Nuevos mensajes intercambiados desde la última actualización
  • codeChanges: Archivos de código creados o modificados
  • preserveContextOnTopicShift: Si se debe mantener el contexto durante cambios de tema

Devuelve: Enfoque actualizado e información de continuidad del contexto

retrieve_relevant_context

Recupera fragmentos de contexto relevantes para una consulta específica.

Cuándo usar: Cuando se necesita contexto específico del proyecto.

Parámetros clave:

  • conversationId: ID de initialize_conversation_context
  • query: Pregunta específica sobre el proyecto
  • constraints: Filtros opcionales para tipos de entidad, rutas de archivo, etc.
  • weightingStrategy: Cómo priorizar los resultados

Devuelve: Fragmentos de contexto relevantes con explicaciones

record_milestone_context

Registra hitos de desarrollo significativos para referencia futura.

Cuándo usar: Después de completar funciones importantes, corregir errores críticos o tomar decisiones arquitectónicas.

Parámetros clave:

  • conversationId: ID de initialize_conversation_context
  • name: Nombre de hito corto y descriptivo
  • description: Explicación detallada
  • milestoneCategory: Categoría (función, corrección de errores, refactorización, etc.)
  • assessImpact: Si se debe analizar el impacto

Devuelve: ID de hito y evaluación de impacto

finalize_conversation_context

Concluye una conversación, extrayendo aprendizajes y sugiriendo próximos pasos.

Cuándo usar: Al final de cada conversación, exactamente una vez.

Parámetros clave:

  • conversationId: ID de initialize_conversation_context
  • extractLearnings: Si se deben identificar y extraer aprendizajes
  • promotePatterns: Si se deben promover patrones al repositorio global
  • generateNextSteps: Si se deben sugerir acciones de seguimiento

Devuelve: Resumen de conversación, aprendizajes extraídos y próximos pasos

Arquitectura de Datos

DevContext utiliza una base de datos SQL (TursoDB) con las siguientes tablas principales:

  • code_entities: Almacena código indexado de archivos, funciones, clases, etc.
  • entity_keywords: Mapea palabras clave a entidades de código para búsqueda
  • code_relationships: Rastrea relaciones entre entidades de código
  • conversation_history: Almacena mensajes de conversación
  • conversation_topics: Segmenta conversaciones en temas coherentes
  • timeline_events: Registra eventos significativos de desarrollo
  • project_patterns: Almacena patrones de código identificados
  • focus_areas: Rastrea la atención e intención del desarrollador

El esquema de la base de datos se crea y mantiene automáticamente por el servidor.

Especificaciones Técnicas

  • Node.js: Versión 18.0.0 o superior requerida
  • Base de datos: TursoDB (o SQLite compatible)
  • Empaquetado: ESBuild para implementación de archivo único
  • Protocolo: Protocolo de Contexto de Modelo vía @modelcontextprotocol/sdk
  • Análisis: Análisis AST de JavaScript ligero (acorn)
  • Sistemas operativos: Multiplataforma (Windows, macOS, Linux)

Consideraciones de Rendimiento

DevContext está optimizado para el rendimiento con:

  • Consultas SQL eficientes con indexación adecuada
  • Caché en memoria para datos de acceso frecuente
  • Actualizaciones incrementales para minimizar el procesamiento
  • Operaciones asíncronas para ejecución sin bloqueo
  • Recuperación de contexto adaptativa según el presupuesto de tokens
  • Tareas en segundo plano programadas durante períodos de inactividad

Para bases de código grandes (>100,000 LOC), la indexación inicial puede tardar varios minutos, pero las operaciones posteriores siguen siendo rápidas y receptivas.

Seguridad

  • Base de datos aislada: Cada proyecto utiliza una instancia de base de datos dedicada
  • Credenciales seguras: Las credenciales de TursoDB se gestionan mediante variables de entorno
  • Validación de entradas: Todas las entradas se validan con esquemas Zod
  • Consultas parametrizadas: Protección contra inyección SQL
  • Sin APIs externas: Todo el procesamiento ocurre localmente

Solución de problemas

Problemas comunes y soluciones:

  • Errores de conexión: Verifique las credenciales de TursoDB y la URL de la base de datos
  • Inicio inicial lento: Normal para bases de código grandes; los inicios posteriores son más rápidos
  • Contexto faltante: Revise el presupuesto de tokens; aumente si es necesario
  • Errores de herramientas: Asegúrese de que se esté pasando el ID de conversación correcto entre las herramientas
  • Problemas de rendimiento: Considere reducir el alcance de los archivos indexados o aumentar el tamaño de la caché

Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulte el archivo LICENSE para más detalles.


DevContext: Contexto Continuo para Progreso Continuo