About

Por qué existe DBFlux

Todo cliente de bases de datos termina por pedirte que elijas un bando: el nativo rápido que habla un único motor, o el universal que habla todos ellos y te hace esperar. DBFlux toma la tercera opción — un núcleo neutral respecto al driver, drivers que se conectan a él, y una interfaz que nunca aprende el nombre de ninguno de ellos.

Esa restricción se aplica en el código, no en una guía de estilo. La interfaz se adapta mediante flags de capacidades y metadatos, de modo que un almacén de documentos obtiene una vista de documentos y una fuente de series temporales obtiene un selector de rango sin una sola condición sobre el nombre del driver. Añadir una base de datos es escribir un driver, no parchear la aplicación.

El objetivo a largo plazo se declara sin rodeos en el README: un único cliente totalmente de código abierto para todas las bases de datos con las que trabajas. Rust y GPUI son lo que lo mantienen lo bastante rápido como para valer la pena cambiarse.

Principios

  1. 01

    El teclado antes que el puntero

    Si una acción existe, tiene un atajo y una entrada en la paleta de comandos. El ratón es un respaldo, y ningún flujo de trabajo depende de él.

  2. 02

    La interfaz nunca conoce el nombre de un driver

    La categoría, el lenguaje de consulta y los flags de capacidades deciden qué se renderiza. Un driver que necesita un comportamiento nuevo añade un punto de extensión al núcleo en lugar de un caso especial a la interfaz.

  3. 03

    Denso antes que decorativo

    Esquinas cuadradas, bordes finos, un solo color de acento, monoespaciado en todas partes. El espacio en pantalla pertenece a tus datos.

  4. 04

    Nada se ejecuta sin quedar registrado

    Las queries, hooks, scripts y llamadas de herramientas de IA escriben todas en el mismo registro de auditoría, redactado por defecto y solo tuyo — nunca sale de la máquina.

Cómo está construido

UI cratesSeis crates, cero dependencias de driver y cero feature flags por driver.
App layerRegistra drivers, resuelve servicios RPC, gestiona el estado de conexión.
Core contractsDbDriver, Connection, capabilities, metadata, language services, query generators.
DriversDoce integrados como crates de Rust; cualquier otro a través del protocolo RPC de drivers.

El mapa completo de crates y los flujos entre crates viven en la guía de arquitectura. Si quieres escribir un driver, empieza por la guía de autoría de drivers.

Mantenedor

Ignacio Perez, desarrollador backend y de sistemas que trabaja en Rust y C. DBFlux es suyo, y la gran mayoría de sus commits también.

@0xErwin1 on GitHub →

Contribuir

Se aceptan issues, drivers y documentación. La guía de contribución cubre las verificaciones que debe pasar un pull request antes de la revisión.

Lee la guía de contribución →
Esc
mover abrirEsc cerrar