Sobre el proyecto

# PARTHA Inteligencia de repositorios para codebases privadas y en evolución. ## Qué es PARTHA toma una revisión de repositorio (importada como archivo ZIP/TAR o como repositorio público de GitHub) y crea una instantánea persistente e inmutable de su estructura. A partir de esa única instantánea ofrece: - **Arquitectura** — grafo interactivo de módulos y relaciones resueltas; explicaciones citadas con evidencia para patrones compatibles de Python/FastAPI - **Grafo de dependencias** — declaraciones de `package.json`, `pyproject.toml` y `requirements.txt`, con pins resueltos de dos formatos de lockfile registrados por separado - **Revisión de ingeniería** — hallazgos respaldados por segmentos de evidencia almacenados; las categorías sin evaluar permanecen visibles; no hay puntuación agregada ni porcentaje de salud - **Informes del repositorio** — conteos, ratios, diagnósticos y cobertura derivados únicamente de la instantánea - **Linaje del repositorio** — importaciones repetidas del mismo repositorio y rama agrupadas en un historial durable - **Documentación y exportación** — documentación estructural más exportación de Revisión/Documentación/Arquitectura/Dependencias como JSON, Markdown, HTML o PDF - **Contexto de IA opcional** — configuración de proveedor por usuario con claves cifradas y lista blanca de egress propiedad del despliegue; los proveedores solo reciben hechos estructurales y rutas observadas, nunca bytes fuente ni segmentos de línea El contrato está formalizado en la [matriz de capacidades](docs/CAPABILITIES.md), generada desde el código y supervisada contra deriva en CI. Los hechos compatibles conservan evidencia y procedencia vinculadas a una ubicación exacta dentro de la revisión analizada. ## Cómo funciona ``` Importar → Analizar → Explorar → Exportar ``` 1. **Importar** — sube un archivo o importa un repositorio público de GitHub por HTTPS. PARTHA almacena un inventario de archivos e identidad de revisión. 2. **Analizar** — un trabajo de fondo durable y cancelable ejecuta un pipeline de extracción acotado para construcciones compatibles de Python y TypeScript/JavaScript, manifiestos, lockfiles, interacciones de servicios y Docker Compose. 3. **Explorar** — inspecciona Arquitectura, Dependencias, Revisión de ingeniería, Informes, evidencia y linaje. Una instantánea ausente o obsoleta muestra disponibilidad insuficiente en lugar de recurrir a una interpretación conjetural. 4. **Exportar** — genera documentación estructural o exporta resultados mediante un pipeline JSON/Markdown/HTML/PDF. El artefacto intermedio es `ri.v1`: una instantánea sellada y versionada que contiene hechos, evidencia, diagnósticos y un hash canónico. Cada superficie de producto lee de este modelo compartido; ningún consumidor vuelve a analizar el código de forma independiente. La IA es un consumidor downstream de la Inteligencia de Repositorio, nunca un intérprete autónomo. ## Stack tecnológico - **Backend**: Python 3.12–3.13, FastAPI - **Frontend**: Node.js 22, React - **Base de datos**: SQLite (desarrollo) - **Worker**: hilo daemon embebido (un trabajo a la vez) - **Proveedores de IA**: opcionales, configurables con claves cifradas Fernet y lista blanca de egress con pins DNS ## Inicio rápido ```bash git clone https://github.com/Second-Origin/PARTHA.git cd PARTHA # Backend — http://localhost:8000 (OpenAPI en /docs) cd apps/backend python3.13 -m venv .venv && source .venv/bin/activate pip install -e . cd ../.. && npm run dev:backend # Frontend — http://localhost:5173 cd apps/frontend npm ci npm run dev ``` No se requiere entorno de contenedores ni base de datos externa para el desarrollo local. No se necesita archivo `.env`. ## Limitaciones actuales - Solo uso en entorno confiable: no está endurecido para alojamiento compartido general o multiinquilino. - La extracción semántica profunda está limitada a Python y TypeScript/JavaScript; otros lenguajes contribuyen solo con el inventario de archivos. - Cobertura de dependencias: tres formatos de manifiesto y dos formatos de lockfile; sin resolución transitiva ni escaneo de vulnerabilidades o versiones desactualizadas. - Análisis completo del repositorio por ejecución: sin reanálisis incremental. - El linaje preserva el historial de revisiones pero no diferencia instantáneas, detecta renombrados/movimientos ni calcula radio de explosión histórico. - El módulo opcional de IA puede invocar un proveedor externo; solo los proveedores locales mantienen todo en el host. Consulta la [política de egress](docs/security/AI_PROVIDER_EGRESS.md). ## Documentación - [Visión general del sistema](docs/architecture/SYSTEM_OVERVIEW.md) - [Inteligencia de repositorio](docs/architecture/REPOSITORY_INTELLIGENCE.md) - [RFC-0001 — contrato ri.v1](docs/architecture/REPOSITORY_INTELLIGENCE_V1_RFC.md) - [RFC-0002 — Linaje del repositorio](docs/architecture/REPOSITORY_LINEAGE_RFC.md) - [Matriz de capacidades](docs/CAPABILITIES.md) - [Guía de desarrollo](docs/DEVELOPMENT.md) - [Configuración de proveedor de IA](docs/operations/AI_PROVIDER_SETUP.md) - [Política de seguridad](SECURITY.md) ## Licencia Apache License 2.0 ## Comunidad - [Discord](https://discord.gg/qvk9DcxDA) - [Issues](https://github.com/Second-Origin/PARTHA/issues)