Sobre el proyecto

schemaui es una biblioteca Rust y una CLI que transforman documentos JSON Schema (compatibles con draft-07) en editores totalmente interactivos. Ofrece dos superficies de renderizado: una interfaz web (SPA integrada con diseño de tres paneles — navegación del esquema, editor de formularios y vista previa JSON en vivo) y una TUI priorizada por teclado impulsada por ratatui y crossterm. Ambas comparten el mismo flujo esquema → formulario → validar, proporcionando retroalimentación inmediata de validación tras cada edición. Capacidades clave: - Analiza esquemas ricos incluyendo $ref, definiciones, patternProperties, enums, rangos numéricos, objetos/arreglos anidados, variantes oneOf/anyOf - Secciones y superposiciones: las propiedades de nivel superior se convierten en pestañas, los objetos anidados se aplastan en secciones, los nodos complejos abren editores dedicados en superposición - E/S plug-in: ingiere JSON/YAML/TOML, emite a stdout y/o múltiples archivos en cualquier formato habilitado - Detección automática de esquema de configuración vía $schema incrustado, TOML #:schema, modelines de language-server YAML - Carga remota de esquemas (solo CLI, activada por feature) - Integración con agentes de IA mediante la habilidad complementaria a2ui-ask: los agentes lanzan la interfaz web vinculada a 0.0.0.0, los usuarios completan formularios en navegador con validación en vivo, respuestas escritas en .schemaui/answers/ como rastro de auditoría JSON - API de biblioteca para incrustar: schemaui::web::session para Web, SchemaUI::run para TUI, inyección personalizada de frontend vía TuiFrontend - CLI (schemaui-cli) con subcomandos web y tui, salida multidestino, especificaciones stdin/en línea Arquitectura: io::input analiza/fusiona configuración, cargador/resolvedor de esquema construye esquema de formulario, tui::state gestiona FormState/secciones/reductores, app::runtime maneja enrutamiento de entrada/superposiciones/estado, tui::view renderiza vía ratatui. La validación usa jsonschema::Validator compilado una vez al inicio; cada edición reconstruye documento, ejecuta validador, alimenta errores a estado de campo/global. Flags de funcionalidad divididas por audiencia: schemaui-cli predetermina a TUI + Web + esquema remoto; crate de biblioteca predetermina a tui + json solo. Requiere al menos uno de los features json, yaml, toml habilitados.