ATAC - Client API Terminale
ATAC (Arguably a Terminal API Client) è un client API in stile Postman/Insomnia che vive interamente nel tuo terminale. La sua filosofia è gratuita, senza account e offline — le raccolte di richieste sono memorizzate come file JSON/YAML semplici che puoi eseguire il commit su Git, non c”è cloud o login, e funziona come un singolo binario Rust. Supporta i consueti metodi HTTP, schemi di autenticazione, ambienti/variabili e script pre-/post-richiesta, e può importare raccolte Postman e Insomnia esistenti.
Installazione
| Piattaforma | Comando |
|---|
| Cargo (tutte le piattaforme) | cargo install atac |
| macOS (Homebrew) | brew install atac |
| Arch Linux (AUR) | yay -S atac |
| Binario | scarica dalla pagina GitHub Releases |
| Verifica | atac --version |
Avvio
| Comando | Descrizione |
|---|
atac | Apri con la directory di raccolte predefinita |
atac -d ~/api-collections | Usa una directory specifica per le raccolte |
atac --help | Elenco completo delle opzioni |
| Import Postman | punta ATAC a un export Postman; lo converte |
Layout e Navigazione
| Tasto | Azione |
|---|
Tab / Shift+Tab | Muoviti tra i riquadri |
↑ / ↓ o j / k | Muoviti all”interno di una lista |
Enter | Apri/seleziona |
q | Esci |
? / h | Aiuto |
Ctrl+c | Annulla / esci |
Raccolte e Richieste
| Azione | Come |
|---|
| Nuova raccolta | Crea dal riquadro raccolte |
| Nuova richiesta | Aggiungi una richiesta sotto una raccolta |
| Rinomina/elimina | Gestisci elementi nell”albero |
| Storage | Tutto salvato come file (JSON/YAML) → Git-friendly |
Costruzione di una Richiesta
| Campo | Note |
|---|
| Metodo | GET, POST, PUT, PATCH, DELETE, … |
| URL | Supporta interpolazione {{variable}} |
| Parametri di query | Tabella key/value modificabile |
| Header | Tabella key/value |
| Corpo | Raw, JSON, form, multipart |
| Auth | Basic, Bearer token e altro |
Invio e Risposta
| Tasto | Azione |
|---|
| Invia richiesta | Esegui la richiesta corrente (async) |
| Visualizza risposta | Stato, tempo, dimensione, header, corpo |
| Vista gradevole | Formattazione JSON/risposta |
| Copia | Copia il corpo della risposta |
Ambienti e Variabili
| Concetto | Uso |
|---|
| File di ambiente | Definisci {{base_url}}, token, ecc. |
| Interpolazione variabile | {{var}} in URL, header, corpo |
| Cambia ambienti | Dev/staging/prod senza modificare le richieste |
Scripting
| Hook | Scopo |
|---|
| Script pre-richiesta | Configura variabili/auth prima di inviare |
| Script post-richiesta | Estrai valori dalla risposta (es. un token) |
Flussi di Lavoro Comuni
# Mantieni raccolte API in un repo e aprile nel terminale
atac -d ./api-tests # modifica le richieste, si salvano come file che puoi eseguire il commit
# Importa una raccolta Postman esistente, poi esegui le richieste senza account
atac # importa l''export Postman, invia richieste
# Richieste a catena: acquisisci un token in uno script post-richiesta, riutilizza tramite {{token}}
ATAC vs Altri Client API
| Aspetto | ATAC | Postman | Yaak | Bruno |
|---|
| Interfaccia | TUI Terminale | GUI Desktop | GUI Desktop | GUI Desktop |
| Account | Nessuno | Facoltativo/cloud | Nessuno | Nessuno |
| Storage | File semplici (Git) | Cloud/locale | File (Git) | File (Git) |
| Migliore per | Terminale-first, SSH, CI | Team, sincronizzazione cloud | GUI + Git | GUI + Git |
Risorse