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)
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.