ATAC - Cliente API de Terminal
ATAC (Arguably a Terminal API Client) es un cliente API estilo Postman/Insomnia que vive completamente en tu terminal. Su filosofía es gratuita, sin cuenta requerida, y sin conexión — las colecciones de solicitudes se almacenan como archivos JSON/YAML planos que puedes confirmar a Git, no hay nube ni inicio de sesión, y se ejecuta como un único binario Rust. Soporta los métodos HTTP usuales, esquemas de autenticación, ambientes/variables, y scripts pre-/post-solicitud, e puede importar colecciones Postman e Insomnia existentes.
Instalación
| Plataforma | Comando |
|---|
| Cargo (todas las plataformas) | cargo install atac |
| macOS (Homebrew) | brew install atac |
| Arch Linux (AUR) | yay -S atac |
| Binario | descargar desde la página GitHub Releases |
| Verificar | atac --version |
Lanzamiento
| Comando | Descripción |
|---|
atac | Abrir con el directorio de colecciones por defecto |
atac -d ~/api-collections | Usar un directorio específico para colecciones |
atac --help | Lista completa de opciones |
| Importar Postman | apuntar ATAC a una exportación Postman; la convierte |
Disposición y Navegación
| Tecla | Acción |
|---|
Tab / Shift+Tab | Mover entre paneles |
↑ / ↓ o j / k | Mover dentro de una lista |
Enter | Abrir/seleccionar |
q | Salir |
? / h | Ayuda |
Ctrl+c | Cancelar / salir |
Colecciones y Solicitudes
| Acción | Cómo |
|---|
| Nueva colección | Crear desde el panel de colecciones |
| Nueva solicitud | Agregar una solicitud bajo una colección |
| Renombrar/eliminar | Gestionar elementos en el árbol |
| Almacenamiento | Todo guardado como archivos (JSON/YAML) → Compatible con Git |
Construyendo una Solicitud
| Campo | Notas |
|---|
| Método | GET, POST, PUT, PATCH, DELETE, … |
| URL | Soporta interpolación {{variable}} |
| Parámetros de consulta | Tabla editable de clave/valor |
| Encabezados | Tabla clave/valor |
| Cuerpo | Bruto, JSON, formulario, multiparte |
| Autenticación | Basic, Bearer token, y más |
Enviando y Respuesta
| Tecla | Acción |
|---|
| Enviar solicitud | Ejecutar la solicitud actual (asíncrona) |
| Ver respuesta | Estado, tiempo, tamaño, encabezados, cuerpo |
| Vista bonita | Formato JSON/respuesta |
| Copiar | Copiar cuerpo de respuesta |
Ambientes y Variables
| Concepto | Uso |
|---|
| Archivos de ambiente | Definir {{base_url}}, tokens, etc. |
| Interpolación de variables | {{var}} en URL, encabezados, cuerpo |
| Cambiar ambientes | Dev/staging/prod sin editar solicitudes |
Secuencias de Comandos
| Hook | Propósito |
|---|
| Script pre-solicitud | Configurar variables/autenticación antes de enviar |
| Script post-solicitud | Extraer valores de la respuesta (p. ej. un token) |
Flujos de Trabajo Comunes
# Mantener colecciones API en un repo y abrirlas en la terminal
atac -d ./api-tests # editar solicitudes, se guardan como archivos que puedes confirmar
# Importar una colección Postman existente, luego ejecutarla sin cuenta
atac # importar la exportación Postman, enviar solicitudes
# Encadenar solicitudes: capturar un token en un script post-solicitud, reutilizar a través de {{token}}
ATAC vs Otros Clientes API
| Aspecto | ATAC | Postman | Yaak | Bruno |
|---|
| Interfaz | TUI Terminal | GUI Escritorio | GUI Escritorio | GUI Escritorio |
| Cuenta | Ninguna | Opcional/nube | Ninguna | Ninguna |
| Almacenamiento | Archivos planos (Git) | Nube/local | Archivos (Git) | Archivos (Git) |
| Mejor para | Terminal-first, SSH, CI | Equipos, sincronización nube | GUI + Git | GUI + Git |
Recursos