Skip to content

jemgdevp/modjo

modjo

El cliente TUI definitivo para explorar y probar APIs. Toda la potencia de Postman, el flujo de Apidog y la velocidad de la terminal. Hecho en Colombia con Rust.

CI/CD Licencia MIT Versión


Documentación

Explorá nuestra documentación completa para sacarle el jugo a modjo:


Características

  • Interfaz TUI intuitiva: Navegá tus proyectos de API con una interfaz de terminal limpia y rápida. Modos Normal/Inserción estilo Vim.
  • Pruebas de API completas: Creá, administrá y ejecutá peticiones HTTP con soporte para métodos GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, headers personalizados y cuerpo a la medida.
  • Manejo de entornos: Definí variables de entorno con {{nombre_var}} en URL, headers y cuerpo, y cambialas desde .modjo/env.toml.
  • Persistencia local: Toda la información se guarda en la carpeta .modjo/ de tu proyecto (historial, colecciones, variables de entorno). Nada sale de tu máquina.
  • Resaltado de sintaxis JSON: Las respuestas JSON se muestran con colores por tipo de dato (claves, strings, números, booleanos, null).
  • Soporte para mouse: Clic para enfocar paneles, hover para resaltar, arrastre para redimensionar, scroll para navegar respuestas.
  • Temas y dualidad de idiomas: Cinco temas (OC-2 Dark, OC-2 Light, Catppuccin, Nord, Dracula) e interfaz en español colombiano o inglés.
  • Exportación e importación: Compartí snapshots de tus peticiones con archivos modjo-export.json / modjo-import.json.
  • Paleta de comandos: Ctrl+P abre una lista de todas las acciones disponibles con sus atajos.
  • Deshacer y portapapeles interno: Ctrl+Z / u para deshacer, y y p para copiar y pegar.
  • Multiplataforma: Corre en Windows, macOS y Linux. Solo necesitás Rust y una terminal con soporte Unicode.

¿Por qué modjo?

Razón Descripción
Velocidad Arranque y ejecución al instante. Sin navegador, sin Electron, sin esperas.
Flexibilidad Variables de entorno, temas, atajos personalizables y flujo modal.
Colaboración Snapshots exportables para compartir peticiones con tu equipo.
Código abierto MIT. La comunidad decide el rumbo.
Hecho en Colombia Por dev colombiano, pa' todo el mundo.

Instalación

Desde crates.io (próximamente)

cargo install modjo

Desde el código fuente

Necesitás Rust (edición 2024) instalado.

git clone https://github.com/jemgdevp/modjo.git
cd modjo
cargo build --release
./target/release/modjo

Binarios precompilados

Descargá el binario para tu sistema desde la página de Releases.


Uso

cargo run
# o si ya está instalado:
modjo

Flujo principal

  1. Seleccioná el método HTTP con Ctrl+M y escribí la URL.
  2. Agregá headers y cuerpo en los paneles correspondientes.
  3. Presioná r para enviar la petición.
  4. Revisá estado, tiempo, tamaño y la respuesta en el panel de respuesta.
  5. Presioná c para guardar la petición actual en colecciones.
  6. Presioná Enter sobre un ítem del sidebar para cargarlo de vuelta.

Atajos de teclado

Modo Normal (Vim-like)

Tecla Acción
q Salir de modjo
i Entrar en modo inserción
Tab Rotar el foco entre paneles
1 / 2 / 3 / 4 Ir a la pestaña de Sidebar, Request, Body o Response
r Enviar la petición actual
c Guardar petición actual en colecciones
w Guardar todo (historial + colecciones + variables)
o Importar snapshot
e Exportar snapshot
m Abrir selector de método HTTP
f Alternar formato JSON (pretty / raw)
T Abrir selector de tema
L Abrir selector de idioma
? Mostrar ayuda rápida
h / l Navegar items del sidebar (historial / colecciones)
/ Igual que h/l
/ Navegar entre items del sidebar
Enter Cargar el ítem seleccionado del sidebar
y / p Copiar / Pegar (portapapeles interno)
u / Ctrl+Z Deshacer
Ctrl+P Abrir paleta de comandos
Ctrl+A Sugerencia de IA

Modo Inserción

Tecla Acción
Esc Volver a modo Normal
Tab Salir del campo de texto actual
Ctrl+Z Deshacer última edición
Enter Insertar nueva línea en el campo
Teclas imprimibles Insertar texto (autocompletado de corchetes y comillas)

Soporte de mouse

  • Clic izquierdo: Selecciona el panel activo (sidebar, URL, headers, cuerpo, respuesta).
  • Hover: Resalta los elementos interactivos de la interfaz.
  • Arrastre: Redimensiona el ancho del sidebar y la altura de los paneles de headers/cuerpo/respuesta.
  • Scroll: Navega el panel de respuesta y la lista del sidebar.

Persistencia

Los datos de la aplicación se guardan en la carpeta .modjo/ del directorio actual:

.modjo/
├── history.json       # Historial de peticiones (máx. 150)
├── collections.json   # Colecciones guardadas
└── env.toml           # Variables de entorno

Variables de entorno

Interpolá variables en URL, headers y cuerpo con la sintaxis {{nombre_var}}.

Ejemplo de .modjo/env.toml:

api_url = "https://api.ejemplo.co/v2"
token = "bearer-abc123"

Luego usalas así en la URL:

{{api_url}}/usuarios?auth={{token}}

Estructura del proyecto

src/
├── main.rs             # Punto de entrada, ciclo principal y splash screen
├── app.rs              # Estado de la aplicación, modelos y lógica de negocio
├── input.rs            # Manejo de teclado (3 modos) y mouse (hover/clic/scroll/drag)
├── http/
│   ├── mod.rs          # Declaración del módulo HTTP
│   └── client.rs       # Cliente HTTP asíncrono (reqwest + tokio)
├── storage/
│   └── mod.rs          # Persistencia en .modjo/ (JSON/TOML)
└── ui/
    ├── mod.rs          # Renderizado principal de la interfaz
    ├── components.rs   # Componentes de modales y overlays
    ├── splash.rs       # Animación de carga al iniciar
    └── theme.rs        # Sistema de 5 temas

CI/CD

Este proyecto usa GitHub Actions para compilar y probar en cada push y PR contra main. Ver .github/workflows/rust.yml.


Contribuir

¿Encontraste un bug, tenés una idea o querés meterle mano al código? ¡Bienvenido! Leé CONTRIBUTING.md y el Código de Conducta.


Licencia

modjo es software libre bajo la licencia MIT. Leé el archivo LICENSE para más detalles.


Creado con por Juan Esteban Manrique Giraldo desde Colombia para el mundo.

About

El cliente TUI definitivo para la exploración y prueba de API. La potencia de Postman, el flujo de trabajo de Apidog, la velocidad de Terminal.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors

Languages