Befehlszeilen-Schnittstelle
FloopFloop CLI
Installieren Sie die FloopFloop-CLI, autorisieren Sie ein Gerät und steuern Sie jedes Projekt vom Terminal aus — `floop login`, `floop new`, `floop chat`, `floop refine` und mehr.
Zuletzt aktualisiert:
FloopFloop CLI
Die FloopFloop CLI (floop) ist ein Einzelbinär-Kommandozeilen-Client für die FloopFloop-Plattform. Sie bietet alles, was die Webkonsole bietet — Projekte aus einem Prompt erstellen, Deploys live verfolgen, Projekte in einem Chat-REPL verfeinern — ohne das Terminal zu verlassen.
Im Gegensatz zu API-Schlüsseln (die auf den Business-Plan beschränkt sind) sind CLI-Gerätetoken auf Ihren normalen Kontoplan beschränkt, genau wie die Anmeldung über das Web. Die CLI ist für Menschen gedacht; API-Schlüssel sind für Skripte.
Installation
Wählen Sie die richtige Binärdatei für Ihren Rechner und fügen Sie sie Ihrem $PATH hinzu. Das vollständige Installationsraster (mit Kopierschaltflächen) finden Sie unter floopfloop.com/cli.
macOS (Apple Silicon)
curl -L https://github.com/FloopFloopAI/floop-cli/releases/latest/download/floop-darwin-arm64 -o /usr/local/bin/floop
chmod +x /usr/local/bin/floopmacOS (Intel)
curl -L https://github.com/FloopFloopAI/floop-cli/releases/latest/download/floop-darwin-x64 -o /usr/local/bin/floop
chmod +x /usr/local/bin/floopLinux x64
curl -L https://github.com/FloopFloopAI/floop-cli/releases/latest/download/floop-linux-x64 -o /usr/local/bin/floop
chmod +x /usr/local/bin/floopWindows x64
# In PowerShell:
Invoke-WebRequest https://github.com/FloopFloopAI/floop-cli/releases/latest/download/floop-windows-x64.exe -OutFile $env:USERPROFILE\floop.exeBeim ersten Start unter macOS oder Windows wird gewarnt, dass die Binärdatei noch nicht signiert ist. Unter macOS: Rechtsklick → Öffnen, oder führen Siexattr -d com.apple.quarantine /usr/local/bin/floopaus. Unter Windows klicken Sie auf "Weitere Informationen" → "Trotzdem ausführen".
Anmelden
Autorisieren Sie das Gerät für Ihr FloopFloop-Konto. Die CLI öffnet Ihren Browser, Sie klicken auf "Genehmigen", und die CLI erhält ein langlebiges Token, das an diesen Rechner gebunden ist.
floop loginAuf einem headless-Rechner (SSH, CI, Docker) verwenden Sie stattdessen den Device-Flow:
floop login --deviceSie erhalten einen Code, den Sie unter floopfloop.com/device eingeben. Nach der Genehmigung empfängt die CLI das Token und speichert es in ~/.floop/config.json mit 0600-Berechtigungen.
Überprüfen Sie die aktive Sitzung mit floop whoami. Melden Sie sich ab mit floop logout. Verwalten Sie alle angemeldeten Geräte unter Konto → Geräte.
Befehle
floop new <prompt>
Erstellt ein neues Projekt und wartet standardmäßig, bis es live ist.
floop new "a crypto RSI dashboard for BTC and ETH" --subdomain my-rsi| Flag | Beschreibung |
|---|---|
--name <name> | Projektname (standardmäßig die ersten Wörter des Prompts) |
--subdomain <slug> | Subdomain (standardmäßig ein Slug des Namens) |
--bot-type <type> | Eines von site, app, bot, api, internal, game |
--team <teamId> | In einem Team-Workspace erstellen |
--no-wait | Sofort nach dem Einreihen zurückkehren; keinen Fortschritt streamen |
--json | Maschinenlesbares JSON ausgeben |
floop list (Alias ls)
Listet Ihre Projekte in einer Tabelle oder als JSON auf.
floop list
floop list --json
floop list --team team_abc123floop status <project>
Zeigt den Build-Status eines Projekts an. Akzeptiert entweder die Projekt-ID oder die Subdomain. Fügen Sie --watch hinzu, um den Fortschritt live zu verfolgen, bis der Build einen Endzustand erreicht.
floop status my-rsi
floop status my-rsi --watch
floop status my-rsi --jsonfloop chat <project>
Öffnet ein interaktives REPL, das an ein Projekt gebunden ist. Jede Zeile, die Sie eingeben, wird als Verfeinerung gesendet, mit live Build-Fortschritt. Slash-Befehle:
/help— alle Slash-Befehle anzeigen/status— einmaliger Status/open— die Live-URL öffnen/clear— Bildschirm leeren/exit— das REPL verlassen (Ctrl+D funktioniert ebenfalls)
Während eines Builds stoppt Ctrl+C die Beobachtung; der Build läuft serverseitig weiter. Drücken Sie erneut Ctrl+C (oder /exit), um das REPL tatsächlich zu beenden.
floop refine <project> "<message>"
Nicht-interaktive Verfeinerung — das Skripting-Gegenstück zu floop chat. Sendet eine Verfeinerungsnachricht und beendet sich, ohne Sie in das REPL zu führen. Nützlich für CI-Pipelines ("Homepage verfeinern, wenn dieser Branch gemergt wird") oder einmalige Anpassungen.
floop refine my-bot "tighten the dashboard table padding"
floop refine my-bot "fix the typo in the hero" --code-only --watch
floop refine my-bot "swap the brand colour to teal" --json| Flag | Beschreibung |
|---|---|
--watch | Den resultierenden Build bis zu einem Endzustand verfolgen (live / failed / cancelled / archived). Ohne dieses Flag wird sofort nach dem Einreihen zurückgekehrt. |
--code-only | Setzt codeEditOnly: true — überspringt Neuplanen / Neugestalten und führt stattdessen einen 3-Schritt-Patch in-place durch anstelle des vollständigen 6-Schritt-Rebuilds. Kostet ungefähr die Hälfte eines Verfeinerungs-Credits. Am besten für Textänderungen, Farbwechsel und Tippfehlerkorrekturen bei einem bereits live geschalteten Projekt. |
--json | Maschinenlesbares JSON ausgeben. Zeigt alle drei Antwortformen — processing (Build gestartet), queued (in der Warteschlange hinter einem laufenden Build) oder queued: false (als Chat-Nachricht gespeichert, kein Build). |
floop cancel <project> · floop reactivate <project> [--watch]
Bricht einen laufenden Build ab oder reaktiviert ein zuvor abgebrochenes Projekt. reactivate startet einen neuen Build mit dem zuletzt verwendeten Prompt des Projekts; mit --watch verfolgt der Befehl den neuen Build bis zu einem Endzustand (live / failed / cancelled / archived) anstatt sofort zurückzukehren. Gleiches Poll-with-Dedup-Muster wie floop status --watch und floop refine --watch.
floop cancel my-bot
floop reactivate my-bot
floop reactivate my-bot --watch
floop reactivate my-bot --watch --jsonfloop open <project>
Öffnet die Live-URL des Projekts in Ihrem Standardbrowser. Fällt auf https://<subdomain>.floop.tech zurück, wenn die API noch keine benutzerdefinierte URL zurückgegeben hat.
floop upgrade
Ersetzt die floop-Binärdatei durch die neueste GitHub-Version. Überprüft den SHA256 anhand der veröffentlichten SHA256SUMS-Datei vor dem Austausch. Fügen Sie --check hinzu, um nur auf ein Update zu prüfen, ohne es zu installieren.
floop upgrade
floop upgrade --checkFunktioniert nur für kompilierte Binärdateien. Wenn Sie über npm installiert haben odernode dist/index.js aus dem Quellcode ausführen, verweigert der Befehl die Ausführung und verweist auf das richtige Tool.
floop docs · floop feedback
Schnellverknüpfungen: floop docs öffnet diese Seite, floop feedback öffnet das Support-/Fehlermeldeformular auf floopfloop.com.
floop completion <bash|zsh|fish|powershell>
Gibt ein Shell-Vervollständigungsskript auf stdout aus. Installation je nach Shell:
# bash
echo 'source <(floop completion bash)' >> ~/.bashrc
# zsh — save to a directory on $fpath
floop completion zsh > "${fpath[1]}/_floop"
# fish
floop completion fish > ~/.config/fish/completions/floop.fish
# PowerShell
floop completion powershell | Out-String | Invoke-Expression
# (or append to your $PROFILE to persist)Derzeit ist die Vervollständigung statisch — sie kennt Befehls- und Unterbefehls- namen, aber nicht Ihre Projekt-Subdomains. Dynamische Vervollständigung über einen lokalen Cache ist in Planung.
floop config get [key] · floop config set <key> <value>
Lokale CLI-Einstellungen lesen oder ändern. Einstellbare Schlüssel: apiUrl(API-Basis-URL überschreiben — nützlich für Staging oder Self-Hosting) und telemetry (true/false).
floop config get
floop config get telemetry
floop config set telemetry false
floop config set apiUrl https://staging.floopfloop.comDie Token-Speicherung ist absichtlich NICHT über config seteinstellbar — dieser Weg hält Token aus der Shell-History heraus. Verwenden Sie floop login / floop logout zur Verwaltung der aktiven Sitzung.
floop usage
Zeigt Ihren Plan, verfügbare Credits (diesen Monat + übertragene + lebenslang genutzte) sowie die Nutzung im aktuellen Zeitraum (erstellte Projekte, Builds, Verfeinerungen, Speicher, Bandbreite) im Vergleich zu Ihren Plangrenzen an.
floop usage
floop usage --jsonfloop conversations <project> (Alias history)
Gibt den Chat-Verlauf des Projekts aus — Benutzernachrichten, Assistent- antworten und Deployment-Markierungen (● Deployed v2) in chronologischer Reihenfolge. Fügen Sie --limit 10 hinzu, um nur die letzten 10 Einträge anzuzeigen.
floop conversations my-bot
floop history my-bot --limit 5
floop conversations my-bot --jsonfloop keys <list|create|rm>
Verwaltet programmatische API-Schlüssel (flp_…) für die Verwendung in CI/CD- Skripten. Anders als die Gerätetoken von floop login — diese sind für Menschen gedacht, auf Ihren normalen Plan beschränkt; API-Schlüssel sind programmatisch, erfordern den Business-Plan und können einzeln über das Dashboard oder nach Name/ID mit floop keys rm widerrufen werden.
floop keys list
floop keys create "github-actions" # raw key shown ONCE — copy it
# In CI:
export FLOOP_TOKEN=flp_…
floop list --json | jq …
# Later:
floop keys rm "github-actions"Der Unterbefehl rmverweigert den Widerruf des API-Schlüssels, mit dem der Aufruf erfolgt — verwenden Sie einen anderen Schlüssel (oder widerrufen Sie über das Dashboard), wenn Sie ihn wirklich löschen möchten.
floop library <list|clone>
Durchsuchen Sie öffentliche Bibliotheksprojekte und klonen Sie sie in Ihr Konto.
floop library list
floop library list --search "trading bot" --sort popular
floop library clone <projectId> --subdomain my-forkChat-REPL: /attach <file> + interaktiver Picker
Innerhalb von floop chat können Sie eine Datei an Ihre nächste Verfeinerungsnachricht anhängen:
floop chat my-bot
you ▸ /attach ./mockup.png
✓ Attached mockup.png (320 KB, image/png)
Attached to your NEXT message. 1 file(s) pending.
you ▸ make the dashboard look like thisDie CLI lädt über den bestehenden Presigned-PUT-Flow hoch; erlaubte Typen sind png/jpg/gif/svg/webp/ico/pdf/txt/csv/doc/docx, maximal 5 MB. Der Anhang wird von der nächsten gesendeten Nachricht verbraucht — das Eingeben weiterer Slash-Befehle oder das Drücken der Eingabetaste auf einer leeren Zeile lässt ihn ausstehend.
floop chat ohne Projektargument öffnet einen nummerierten Picker über Ihre Projekte. Bei einem Projekt wird es direkt ausgewählt.
floop subdomain check <slug> · floop subdomain suggest "<prompt>"
Skripting-Hilfsfunktionen für floop new. check gibt 0 zurück, wenn der Slug frei ist, andernfalls 1. suggestgibt einen verfügbaren Slug zurück, der aus einem Prompt abgeleitet wird — direkt in --subdomain weiterleitbar:
# Pre-flight check
floop subdomain check my-bot && echo "available"
# Auto-pick a slug from the prompt
SLUG=$(floop subdomain suggest "a crypto rsi dashboard for btc")
floop new "a crypto rsi dashboard for btc" --subdomain "$SLUG"floop secrets <list|set|rm> <project> [<key>]
Verwaltet schreibgeschützte Umgebungsvariablen für ein Projekt. Werte werden von der API nie zurückgegeben — list zeigt nur Metadaten (Schlüssel, letzte 4 Zeichen, Zeitstempel). Der Unterbefehl set liest den Wert aus --value, --from-envoder stdin (in dieser Reihenfolge) — bevorzugen Sie stdin oder --from-env für sensible Werte, damit sie nicht in der Shell-History landen.
# List
floop secrets list my-bot
# Set (most secure: from a local env var)
export STRIPE_KEY="sk_live_..."
floop secrets set my-bot STRIPE_KEY --from-env STRIPE_KEY
# Set (reads from stdin)
floop secrets set my-bot STRIPE_KEY < ./stripe.key
# Remove
floop secrets rm my-bot STRIPE_KEYSchlüssel müssen UPPER_SNAKE_CASE sein, mit einem Buchstaben beginnen und maximal 64 Zeichen lang sein (entspricht dem Projekt-Secret-Validator).
Skripting
Jeder Befehl unterstützt --json. In Kombination mit jq und der Umgebungsvariablen FLOOP_TOKEN (die den interaktiven Login umgeht) ist die CLI für den CI/CD-Einsatz geeignet.
# Create a project, capture its ID, poll for live URL
PROJECT=$(floop new "test page" --no-wait --json | jq -r '.project.id')
# Wait until live (or terminal failure)
while true; do
STATUS=$(floop status "$PROJECT" --json | jq -r '.status.status')
case "$STATUS" in
live) echo "shipped"; break ;;
failed) echo "build failed"; exit 1 ;;
cancelled) echo "cancelled"; exit 1 ;;
esac
sleep 5
doneUmgebungsvariablen
| Variable | Zweck |
|---|---|
FLOOP_API_URL | API-Basis-URL überschreiben. Standard: https://www.floopfloop.com. Nützlich für Staging. |
FLOOP_TOKEN | Bearer-Token, das anstelle des Tokens in ~/.floop/config.json verwendet wird. Nützlich für CI. |
Exit-Codes
Dokumentierte Exit-Codes für Shell-Skripting:
| Code | Bedeutung |
|---|---|
0 | Erfolgreich |
1 | Benutzerfehler (ungültige Flags, Validierung, Ablehnung des Upgrades im Dev-Modus) |
2 | Authentifizierung (nicht angemeldet, Token widerrufen, VERBOTEN) |
3 | Rate-Limit überschritten |
4 | Serverfehler (5xx, Installations-/Upgrade-Fehler) |
5 | Netzwerk nicht erreichbar |
Konfigurationsdatei
Die CLI speichert ihre Sitzung unter ~/.floop/config.json mit den Berechtigungen 0600 (nur Eigentümer lesen/schreiben). Die Datei enthält:
{
"apiUrl": "https://www.floopfloop.com",
"token": "flp_cli_…",
"tokenPrefix": "flp_cli_a1b2…",
"user": { "id": "...", "email": "you@example.com", "name": "..." }
}OS-Keychain-Unterstützung (macOS Keychain, Windows Credential Manager) ist in Planung.
Datenschutz & Telemetrie
Beim ersten interaktiven Start fragt die CLI, ob Sie anonyme Nutzungsdaten teilen möchten.Es ist opt-in — wählen Sie n und es wird nichts gesendet. Wählen Sie y, sendet die CLI nach jedem Befehlsende einen POST an /api/cli/telemetry, der genau folgendes enthält:
anonymousId— zufälliges Hex, das beim Opt-in generiert wird; niemals mit Ihrem Konto verknüpftcommand— Name des übergeordneten Befehls (z. B.new,list)exitCodedurationMsversion— CLI-Versionos—darwin/win32/linux
Wir senden nicht: Prompts, Projektnamen, Dateiinhalte, Befehlsargumente, Ihre E-Mail-Adresse, Ihre IP-Adresse (das Backend protokolliert die Anfrage-IP zur Ratenbegrenzung; sie wird nicht mit Telemetrie-Einträgen verknüpft). Die vollständige Nutzlast besteht aus den sechs oben genannten Feldern.
Die Ausschlussliste — Telemetrie wird nie für floop config, floop completion, floop help, --help oder --version ausgelöst (diese sind entweder zirkulär, häufig weitergeleitet oder inhaltslos). Telemetrie hat ein hartes 1-Sekunden-Timeout und verzögert den CLI-Exit nie.
Jederzeit deaktivieren: floop config set telemetry false. Oder bearbeiten Sie ~/.floop/config.json direkt.
Quellcode & Releases
Vorgefertigte Binärdateien für macOS, Windows und Linux werden bei jedem cli-v*-Tag in GitHub Releases veröffentlicht. Die Release Notes enthalten Installationsanweisungen und SHA256-Prüfsummen.
Eine Liste der Release-Artefakte finden Sie in den neuesten Releases.