Die meisten Entwickler-Workflows laufen weiterhin im Terminal. Besonders zuverlässig sind Tools, deren Quellcode offen einsehbar ist, die Sie selbst betreiben können und die keine Sitzplatzlizenz oder „Vertrieb kontaktieren“-Grenze haben. Eine MIT-, Apache- oder GPL-Lizenz, ein öffentliches Repository und die Möglichkeit zum Forken geben Ihnen Kontrolle über Ihre Toolchain.
Dieser Beitrag zeigt sieben kostenlose, wirklich quelloffene CLI-Tools für die tägliche API-Entwicklung und Backend-Arbeit. Sie decken HTTP-Anfragen, JSON-Verarbeitung, API-Tests, GitHub-Automatisierung, öffentliche Tunnel und Versionskontrolle ab.
Für jedes Tool erhalten Sie Lizenz, Repository und einen direkt nutzbaren Befehl. Zusätzlich folgt eine klar getrennte Einordnung von Apidog als kommerzieller Alternative mit kostenlosem Tarif.
Was ein CLI-Tool für die Entwicklung wirklich „Open Source“ macht
„Kostenlos“ reicht nicht aus. Für diese Liste gelten drei Kriterien:
- OSI-anerkannte Lizenz: etwa MIT, Apache 2.0, BSD oder GPL. Sie erlaubt Nutzung, Anpassung, Selbst-Hosting und Forks gemäß Lizenzbedingungen.
- Öffentlicher Quellcode: Der Code ist auf GitHub oder einer vergleichbaren Plattform verfügbar. Sie können Releases, Issues und Commit-Historie prüfen.
- Kein obligatorischer Vendor Lock-in: Kein erforderliches Konto, keine unvermeidbare Telemetrie und keine zwingend gemietete Serverkomponente.
Prüfen Sie trotzdem vor dem Einsatz immer die LICENSE-Datei und die Release-Aktivität eines Projekts.
curl: der universelle HTTP-Client
curl ist der Standard für HTTP-Aufrufe in Shell-Skripten, Containern und CI-Jobs. Es unterstützt zahlreiche Protokolle, ist auf vielen Systemen bereits installiert und wird seit 1996 kontinuierlich gepflegt. curl verwendet die permissive curl-Lizenz und der Quellcode liegt unter github.com/curl/curl.
Verwenden Sie curl für portable API-Aufrufe:
curl -s -X POST https://api.github.com/repos/curl/curl/issues \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"title":"Test issue","body":"Filed from curl"}'
Geeignet für: Skripting, CI und Umgebungen mit minimaler Toolchain.
Grenze: Die Roh-Ausgabe ist schwerer lesbar, Header sind umständlicher zu verarbeiten und JSON benötigt meist ein zusätzliches Tool wie jq.
HTTPie: lesbare HTTP-Anfragen im Terminal
HTTPie ist ein HTTP-Client für interaktive Arbeit. Anfragen sind kompakt, JSON ist der Standard für Request-Bodies und Antworten werden formatiert ausgegeben. Die CLI steht unter der BSD-3-Clause-Lizenz und ist unter github.com/httpie/cli verfügbar.
Installieren und verwenden:
pip install httpie
http POST httpbin.org/post name=apidog role=platform
name=apidog und role=platform werden automatisch als JSON-Felder übertragen. Damit eignet sich HTTPie gut, um Endpunkte schnell zu erkunden oder Fehler manuell nachzustellen.
Geeignet für: Interaktives Debugging und API-Erkundung.
Grenze: HTTPie ist ein Python-Paket. In sehr schlanken CI-Images ist curl häufig die einfachere Wahl.
jq: JSON in Shell-Pipelines verarbeiten
jq filtert, transformiert und extrahiert JSON direkt auf der Kommandozeile. Es ergänzt curl und HTTPie, weil API-Antworten damit unmittelbar in die Form für den nächsten Pipeline-Schritt gebracht werden können. jq ist MIT-lizenziert und wird unter github.com/jqlang/jq gepflegt.
Extrahieren Sie gezielt Felder aus einer GitHub-Antwort:
curl -s https://api.github.com/repos/jqlang/jq \
| jq '{name: .name, stars: .stargazers_count, license: .license.spdx_id}'
Das Ergebnis ist ein kleines, gut weiterverarbeitbares JSON-Objekt statt einer vollständigen API-Antwort.
Geeignet für: JSON-Parsing und Transformationen in Shell-Skripten.
Grenze: Die Abfragesprache ist kompakt und bei komplexen Filtern zunächst ungewohnt. Für Feldextraktion und einfache Umformungen reichen jedoch wenige Grundlagen.
gh: die GitHub-CLI
gh bringt Pull Requests, Issues, Releases, Actions und GitHub-API-Aufrufe ins Terminal. Das Tool ist in Go geschrieben, MIT-lizenziert und liegt unter github.com/cli/cli.
Mit gh api nutzen Sie die GitHub-API inklusive Authentifizierung, ohne Tokens selbst in curl-Befehle einzubauen:
gh api repos/cli/cli/releases --jq '.[0].tag_name'
Der Befehl gibt das Tag des neuesten Releases aus.
Geeignet für: GitHub-Automatisierung in lokalen Skripten und CI-Workflows.
Grenze: Die CLI ist bewusst auf GitHub beschränkt. Für GitLab oder Gitea benötigen Sie deren CLI oder direkte API-Aufrufe.
Hurl: versionierbare HTTP-Tests
Hurl beschreibt HTTP-Anfragen und Assertions in Klartextdateien. Sie können Statuscodes, Header und JSON-Inhalte prüfen sowie Werte aus einer Antwort in die nächste Anfrage übernehmen. Damit werden API-Tests zu Dateien, die Sie gemeinsam mit dem Code committen können.
Hurl ist in Rust geschrieben, Apache-2.0-lizenziert und unter github.com/Orange-OpenSource/hurl verfügbar.
Legen Sie beispielsweise repo.hurl an:
GET https://api.github.com/repos/Orange-OpenSource/hurl
HTTP 200
[Asserts]
jsonpath "$.name" == "hurl"
jsonpath "$.stargazers_count" > 1000
Führen Sie den Test aus:
hurl --test repo.hurl
Hurl beendet sich mit Exit-Code 0, wenn alle Assertions erfolgreich sind. Bei Fehlern liefert es einen Exit-Code ungleich 0 und lässt sich deshalb direkt in CI-Pipelines einsetzen.
Geeignet für: Lesbare, versionierte API-Integrationstests.
Grenze: Hurl konzentriert sich auf HTTP-Request/Response-Tests. Es ist kein vollständiges Contract-Testing- oder Lasttest-Framework. In einem spec-first API-Entwicklungs-Workflow lässt es sich gut mit einer OpenAPI-Spezifikation als Quelle der Wahrheit kombinieren.
cloudflared: lokalen Server öffentlich erreichbar machen
Für Webhooks, mobile Tests oder Demos brauchen Sie gelegentlich eine öffentliche URL für einen lokalen Server. Der Quick-Tunnel-Modus von cloudflared erzeugt dafür ohne Konto eine temporäre *.trycloudflare.com-URL.
cloudflared ist in Go geschrieben, Apache-2.0-lizenziert und unter github.com/cloudflare/cloudflared verfügbar.
Leiten Sie einen lokalen Port weiter:
cloudflared tunnel --url http://localhost:3000
Die ausgegebene HTTPS-URL leitet Anfragen weiter, bis Sie den Prozess beenden.
Geeignet für: Schnelle, temporäre Tunnel für lokale APIs und Webhooks.
Wenn Sie im npm-Ökosystem bleiben möchten, erfüllt localtunnel unter MIT-Lizenz denselben Zweck:
npx localtunnel --port 3000
Grenze: Quick-Tunnel-URLs sind zufällig und kurzlebig. Für stabile, benannte Tunnel benötigen Sie ein Cloudflare-Konto und Konfiguration.
git: Versionskontrolle als Grundlage
Git ist nicht nur ein GUI-Backend, sondern ein mächtiges CLI-Tool für präzises Staging, Rebase, Bisect und Hooks. API-Spezifikationen, Hurl-Dateien, Skripte und Konfiguration gehören in ein Repository.
Git ist GPLv2-lizenziert und wird unter github.com/git/git entwickelt.
Ein einfacher Pre-Commit-Hook kann Hurl-Tests vor jedem Commit ausführen:
echo 'hurl --test *.hurl' > .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit
Geeignet für: Versionskontrolle und Automatisierung der gesamten Toolchain.
Grenze: Git übernimmt Versionskontrolle, nicht das Hosting. GitHub, GitLab und Gitea sind separate Entscheidungen.
Ein ehrlicher Exkurs: Wo Apidog passt
Apidog ist nicht Open Source und gehört daher nicht in die OSS-Liste. Es ist ein kommerzielles Produkt mit kostenlosem Tarif. Der Unterschied liegt vor allem in der Integration: Mit der reinen CLI-Toolchain kombinieren Sie curl, jq, Hurl, Mocking, Dokumentation und Umgebungsvariablen selbst.
Apidog bündelt Design, Tests, Mocking und Dokumentation in einem Arbeitsbereich. Mit apidog-cli steht zusätzlich eine Terminal-Schnittstelle bereit:
npm install -g apidog-cli
Die CLI kann Testszenarien ausführen, Endpunkte und Schemas verwalten, Mock-Erwartungen starten sowie OpenAPI importieren oder exportieren. apidog run verwendet bei Erfolg Exit-Code 0 und bei Fehlern einen Wert ungleich 0, sodass auch dieser Ansatz für CI geeignet ist.
Wenn Sie vollständigen Quellcodezugriff und minimale Abhängigkeit von Anbietern priorisieren, ist das Open-Source-Kit die passende Wahl. Wenn Sie weniger Einzeltools integrieren und warten möchten, ist Apidog mit kostenlosem Tarif eine integrierte Alternative. Die Installationsanleitung führt durch Authentifizierung und erste Befehle.
Wie Sie die Tools kombinieren
Wählen Sie nach Aufgabe und kombinieren Sie die Tools:
| Tool | Am besten für | Installation | Open Source? | Anmerkungen |
|---|---|---|---|---|
| curl | Portable Anfragen, Skripting | Vorinstalliert | Ja (curl/MIT-Stil) | Auf vielen Systemen bereits vorhanden |
| HTTPie | Benutzerfreundliches Debugging | pip install httpie |
Ja (BSD-3-Clause) | Formatierte JSON-Ausgabe |
| jq | JSON-Antworten parsen | Paketmanager / Binary | Ja (MIT) | Der Pipeline-Kleber |
| gh | GitHub automatisieren | Paketmanager / Binary | Ja (MIT) | Bewusst nur für GitHub |
| Hurl | Versionierbare HTTP-Tests | Einzelnes Binary | Ja (Apache 2.0) | Exit-Code ungleich 0 bei Fehlern |
| cloudflared | Öffentliche Tunnel | Einzelnes Binary | Ja (Apache 2.0) | Quick-Tunnel ohne Konto |
| git | Versionskontrolle | Vorinstalliert | Ja (GPLv2) | Grundlage für den Rest |
| apidog-cli | Integrierter API-Workflow | npm i -g apidog-cli |
Nein (kostenloser Tarif) | Design, Test, Mocking und Dokumentation |
Eine praxistaugliche Standardkombination ist:
# API abrufen
curl -s https://api.example.com/users \
# JSON gezielt extrahieren
| jq '.[] | {id, email}'
# API-Tests vor dem Commit ausführen
hurl --test *.hurl
git commit -m "test: API-Szenarien aktualisieren"
Die Faustregel: Verwenden Sie ein quelloffenes Einzweck-Tool, wenn Sie die Infrastruktur selbst kontrollieren möchten. Wählen Sie eine integrierte Plattform, wenn Sie die Verkabelung und Wartung mehrerer Tools reduzieren wollen. Die Einordnung von Apidog als umfassende API-Entwicklungsplattform zeigt, welche Teile einer Toolchain der integrierte Ansatz abdeckt.
Zusammenfassung
curl, HTTPie, jq, gh, Hurl, cloudflared und git decken den Kern vieler API- und Backend-Workflows ab:
- Verwenden Sie curl oder HTTPie für Requests.
- Verarbeiten Sie Antworten mit jq.
- Prüfen Sie Endpunkte mit Hurl.
- Automatisieren Sie GitHub-Aufgaben mit gh.
- Stellen Sie lokale Services über cloudflared bereit.
- Versionieren Sie Tests, Spezifikationen und Automatisierung mit git.
Beginnen Sie mit zwei oder drei Tools, die Ihre aktuelle Arbeit direkt verbessern. Ergänzen Sie den Rest erst dann, wenn der jeweilige Anwendungsfall entsteht.
Für agentengesteuerte Workflows gelten dieselben Terminal-First-Prinzipien: Strukturierte JSON-Ausgabe wird zur Schnittstelle zwischen Tools und Automatisierung. Der Beitrag über KI-Programmierassistenten für die API-Entwicklung geht darauf näher ein. Wenn die Pflege mehrerer Tools zu aufwendig wird, können Sie Apidog herunterladen und die Apidog CLI als integrierten Ansatz testen.





Top comments (0)