Sobre el proyecto

Cairn es un sistema operativo de bienestar autoalojado y de un solo usuario que combina entrenamiento, nutrición, marcadores de longevidad, sueño y contexto vital en un único cerebro de coaching agéntico. Se abre con un Brief diario tranquilo que sugiere descanso, fácil o entrenar, con el razonamiento mostrado, y nunca bloquea al usuario. El sistema conecta resultados de laboratorio con directrices concretas de nutrición, entrenamiento y wearables, deriva una nutrición adaptativa a partir de tendencias reales de peso, y evoluciona los planes de levantamiento y carrera según el trabajo realmente completado. Un único servicio Node sirve la PWA, la API REST, el servidor MCP y el planificador en segundo plano, con almacenamiento en SQLite mediante el node:sqlite integrado de Node. El núcleo determinista funciona sin ningún agente externo: el registro serie a serie, la edición de planes, los gráficos de peso corporal, las tendencias de marcadores, las vistas de recuperación, las estadísticas de resistencia y las notas de actividad funcionan sin conexión. Añadir un agente de coaching como Claude Code, Codex, Antigravity o Grok habilita chat, planes de comidas generativos, narrativas de revisión de salud, extracción de marcadores de laboratorio y revisiones semanales del equipo. Cairn es nativo para agentes, y expone más de 260 herramientas MCP y más de 300 rutas REST generadas desde el código fuente. La sincronización con Garmin es bidireccional: entran sueño, HRV y actividades, mientras que las sesiones de fuerza terminadas vuelven a Garmin Connect usando el vocabulario de ejercicios de Garmin. La integración con Apple Health también está documentada. El despliegue se realiza mediante una imagen Docker GHCR multiarquitectura, con scripts de inicio rápido para portátiles, Raspberry Pi, teléfonos como PWAs instalables y máquinas virtuales pequeñas. El proyecto se distribuye sin autenticación por defecto y está pensado para redes de confianza, con CAIRN_AUTH_TOKEN opcional y acceso privado basado en Tailscale. Todos los datos permanecen en un archivo SQLite local; las llamadas del agente van solo al proveedor de modelo que el usuario conecte. El proyecto tiene licencia MIT y está construido con Node 26, TypeScript, Express y una PWA vanilla.