Opdrachtregelinterface
FloopFloop CLI
Installeer de FloopFloop CLI, autoriseer een apparaat en stuur elk project aan vanuit je terminal — `floop login`, `floop new`, `floop chat`, `floop refine` en meer.
Laatst bijgewerkt:
FloopFloop CLI
De FloopFloop CLI (floop) is een single-binary command-line client voor het FloopFloop-platform. Je kunt er alles mee doen wat de webconsole doet — projecten aanmaken vanuit een prompt, deploys live volgen, projecten verfijnen in een chat-REPL — zonder je terminal te verlaten.
In tegenstelling tot API-sleutels (die zijn beperkt tot het Business-plan) zijn CLI-apparaattokens gekoppeld aan je normale accountplan, net als inloggen via het web. De CLI is voor mensen; API-sleutels zijn voor scripts.
Installeren
Kies het juiste binary voor jouw machine en zet het op je $PATH. Het volledige installatie-overzicht (met kopieerknopjes) vind je op 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.exeBij de eerste start op macOS of Windows krijg je een waarschuwing dat het binary nog niet gesigneerd is. Op macOS: rechtsklikken → Openen, of voer xattr -d com.apple.quarantine /usr/local/bin/floopuit. Op Windows: klik op "Meer info" → "Toch uitvoeren".
Inloggen
Autoriseer het apparaat bij je FloopFloop-account. De CLI opent je browser, je klikt op Goedkeuren en de CLI ontvangt een langlevend token dat gekoppeld is aan dit apparaat.
floop loginOp een headless machine (SSH, CI, Docker) gebruik je in plaats daarvan de apparaatflow:
floop login --deviceJe krijgt een code die je invult op floopfloop.com/device. Na goedkeuring ontvangt de CLI het token en slaat het op in ~/.floop/config.json met 0600-rechten.
Controleer de actieve sessie met floop whoami. Log uit met floop logout. Beheer alle ingelogde apparaten via Account → Apparaten.
Commando's
floop new <prompt>
Maak een nieuw project aan en wacht (standaard) totdat het live gaat.
floop new "a crypto RSI dashboard for BTC and ETH" --subdomain my-rsi| Vlag | Beschrijving |
|---|---|
--name <name> | Projectnaam (standaard de eerste woorden van de prompt) |
--subdomain <slug> | Subdomein (standaard een slug van de naam) |
--bot-type <type> | Een van site, app, bot, api, internal, game |
--team <teamId> | Aanmaken binnen een teamwerkruimte |
--no-wait | Keer direct terug na het in de wachtrij plaatsen; geen voortgangsstream |
--json | Geef machine-leesbare JSON terug |
floop list (alias ls)
Toon je projecten in een tabel of als JSON.
floop list
floop list --json
floop list --team team_abc123floop status <project>
Toon de buildstatus van een project. Accepteert het project-ID of het subdomein. Voeg --watch toe om de voortgang live te volgen totdat de build een eindstatus bereikt.
floop status my-rsi
floop status my-rsi --watch
floop status my-rsi --jsonfloop chat <project>
Open een interactieve REPL gekoppeld aan een project. Elke regel die je typt wordt als verfijning verstuurd, met live buildvoortgang. Slash-commando's:
/help— toon alle slash-commando's/status— eenmalige statuscheck/open— open de live URL/clear— scherm wissen/exit— verlaat de REPL (Ctrl+D werkt ook)
Tijdens een build stopt Ctrl+C het volgen; de build blijft server-side doorlopen. Druk nogmaals op Ctrl+C (of gebruik /exit) om de REPL daadwerkelijk af te sluiten.
floop refine <project> "<message>"
Niet-interactieve verfijning — de scripttegenhanger van floop chat. Stuurt één verfijningsbericht en sluit af, zonder je in de REPL te plaatsen. Handig voor CI-pipelines ("verfijn de homepage wanneer deze branch wordt samengevoegd") of eenmalige aanpassingen.
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| Vlag | Beschrijving |
|---|---|
--watch | Volg de resulterende build tot een eindstatus (live / failed / cancelled / archived). Zonder deze vlag wordt direct teruggekeerd na het in de wachtrij plaatsen. |
--code-only | Stelt codeEditOnly: true in — slaat herplanning / herontwerp over en voert een 3-staps patch in-place uit in plaats van de volledige 6-staps rebuild. Kost ongeveer de helft van een verfijningskrediet. Ideaal voor tekstwijzigingen, kleurwisselingen en typografieverbeteringen in een project dat al live is. |
--json | Geef machine-leesbare JSON terug. Toont alle drie responsvormen — processing (build gestart), queued (in de wachtrij achter een huidige build), of queued: false (opgeslagen als chatbericht, geen build). |
floop cancel <project> · floop reactivate <project> [--watch]
Annuleer een lopende build of reactiveer een eerder geannuleerd project. reactivate start een nieuwe build op basis van de meest recente prompt van het project; met --watch volgt het commando de nieuwe build tot een eindstatus (live / failed / cancelled / archived) in plaats van direct terug te keren. Hetzelfde poll-with-dedup-patroon als floop status --watch en floop refine --watch.
floop cancel my-bot
floop reactivate my-bot
floop reactivate my-bot --watch
floop reactivate my-bot --watch --jsonfloop open <project>
Open de live URL van het project in je standaardbrowser. Valt terug op https://<subdomain>.floop.tech als de API nog geen aangepaste URL heeft teruggegeven.
floop upgrade
Vervang het floop-binary door de nieuwste GitHub Release. Verifieert de SHA256 met het gepubliceerde SHA256SUMS-bestand voor het wisselen. Voeg --check toe om alleen te controleren op een update zonder te installeren.
floop upgrade
floop upgrade --checkWerkt alleen voor gecompileerde binaries. Als je via npm hebt geïnstalleerd ofnode dist/index.js vanuit de broncode uitvoert, weigert het commando en verwijst het je naar het juiste hulpmiddel.
floop docs · floop feedback
Snelle snelkoppelingen: floop docs opent deze pagina, floop feedback opent het ondersteunings- en probleemrapportformulier op floopfloop.com.
floop completion <bash|zsh|fish|powershell>
Geef een shell-aanvulscript naar stdout. Installeren per 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)Momenteel is de aanvulling statisch — hij kent commando- en subcommandonamen, maar niet je projectsubdomeinen. Dynamische aanvulling via een lokale cache staat op de roadmap.
floop config get [key] · floop config set <key> <value>
Lees of wijzig lokale CLI-instellingen. Instelbare sleutels: apiUrl(overschrijf de API-basis-URL — handig voor staging of self-hosted) en telemetry (true/false).
floop config get
floop config get telemetry
floop config set telemetry false
floop config set apiUrl https://staging.floopfloop.comTokenopslag is bewust NIET instelbaar via config set— zo blijven tokens buiten de shellgeschiedenis. Gebruik floop login / floop logout om de actieve sessie te beheren.
floop usage
Toon je plan, beschikbare credits (deze maand + overgedragen + levenslang gebruikt) en gebruik in de huidige periode (aangemaakte projecten, builds, verfijningen, opslag, bandbreedte) ten opzichte van je planbeperkingen.
floop usage
floop usage --jsonfloop conversations <project> (alias history)
Geef de chatgeschiedenis van het project weer — gebruikersberichten, assistentreacties en implementatiemarkeringen (● Deployed v2) in chronologische volgorde. Voeg --limit 10 toe om alleen de laatste 10 items te tonen.
floop conversations my-bot
floop history my-bot --limit 5
floop conversations my-bot --jsonfloop keys <list|create|rm>
Beheert programmatische API-sleutels (flp_…) voor gebruik in CI/CD-scripts. Anders dan de apparaattokens van floop login— die zijn voor mensen en gekoppeld aan je normale plan; API-sleutels zijn programmatisch, vereisen het Business-plan en kunnen individueel worden ingetrokken via het dashboard of op naam/id met floop keys rm.
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"Het subcommando rmweigert de API-sleutel in te trekken waarmee de aanroep wordt gedaan — gebruik een andere sleutel (of trek in via het dashboard) als je hem echt wilt verwijderen.
floop library <list|clone>
Blader door publieke bibliotheekprojecten en kloon ze naar je account.
floop library list
floop library list --search "trading bot" --sort popular
floop library clone <projectId> --subdomain my-forkChat-REPL: /attach <file> + interactieve kiezer
Voeg binnen floop chat een bestand toe aan je volgende verfijningsbericht:
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 thisDe CLI uploadt via de bestaande presigned-PUT-flow; toegestane typen zijn png/jpg/gif/svg/webp/ico/pdf/txt/csv/doc/docx, max 5 MB. De bijlage wordt gebruikt door het volgende bericht dat je stuurt — meer slash-commando's typen of enter drukken op een lege regel laat hem in de wacht staan.
floop chat zonder projectargument toont een genummerde kiezer over je projecten. Met één project wordt dat direct geselecteerd.
floop subdomain check <slug> · floop subdomain suggest "<prompt>"
Scripthulpmiddelen voor floop new. check geeft 0 terug als de slug vrij is, anders 1. suggestgeeft een beschikbare slug op basis van een prompt — stuur hem rechtstreeks door naar --subdomain:
# 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>]
Beheer schrijf-alleen omgevingsvariabelen op een project. Waarden worden nooit teruggegeven door de API — list toont alleen metadata (sleutel, laatste 4 tekens, tijdstempels). Het subcommando set leest de waarde uit --value, --from-envof stdin (in die volgorde) — geef de voorkeur aan stdin of --from-env voor gevoelige waarden zodat ze niet in de shellgeschiedenis belanden.
# 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_KEYSleutels moeten UPPER_SNAKE_CASE zijn, beginnen met een letter en maximaal 64 tekens bevatten (overeenkomend met de projectgeheimvalidator).
Scripting
Elk commando ondersteunt --json. Gecombineerd met jq en de FLOOP_TOKEN-omgevingsvariabele (die de interactieve login omzeilt) is de CLI geschikt voor CI/CD-gebruik.
# 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
doneOmgevingsvariabelen
| Variabele | Doel |
|---|---|
FLOOP_API_URL | Overschrijf de API-basis-URL. Standaard: https://www.floopfloop.com. Handig voor staging. |
FLOOP_TOKEN | Bearer-token om te gebruiken in plaats van het token in ~/.floop/config.json. Handig voor CI. |
Exitcodes
Gedocumenteerde exitcodes voor shellscripting:
| Code | Betekenis |
|---|---|
0 | Geslaagd |
1 | Gebruikersfout (ongeldige vlaggen, validatie, weigering upgrade in dev-modus) |
2 | Authenticatie (niet ingelogd, token ingetrokken, FORBIDDEN) |
3 | Snelheidslimiet bereikt |
4 | Serverfout (5xx, installatie-/upgradefouten) |
5 | Netwerk niet bereikbaar |
Configuratiebestand
De CLI slaat de sessie op in ~/.floop/config.json met rechten 0600 (alleen lezen/schrijven door eigenaar). Het bestand bevat:
{
"apiUrl": "https://www.floopfloop.com",
"token": "flp_cli_…",
"tokenPrefix": "flp_cli_a1b2…",
"user": { "id": "...", "email": "you@example.com", "name": "..." }
}Ondersteuning voor OS-sleutelhanger (macOS Keychain, Windows Credential Manager) staat op de roadmap.
Privacy & telemetrie
Bij de eerste interactieve run vraagt de CLI of je anonieme gebruiksgegevens wilt delen. Het is opt-in — kies n en er wordt nooit iets verstuurd. Kies y en de CLI verstuurt één POST naar /api/cli/telemetry bij elke commandobeëindiging, met precies het volgende:
anonymousId— willekeurige hex gegenereerd bij opt-in, nooit gekoppeld aan je accountcommand— naam van het top-level commando (bijv.new,list)exitCodedurationMsversion— CLI-versieos—darwin/win32/linux
We sturen geen: prompts, projectnamen, bestandsinhoud, commandoargumenten, je e-mailadres of je IP-adres (de backend logt het verzoek-IP voor snelheidsbeperking; dit wordt niet gekoppeld aan telemetrierijen). De volledige payload bestaat uit de zes velden hierboven.
De uitsluitlijst — telemetrie wordt nooit verstuurd voor floop config, floop completion, floop help, --help of --version (deze zijn ofwel circulair, vaak ge-piped, of bevatten geen nuttige informatie). Telemetrie heeft een vaste time-out van 1 seconde en vertraagt de CLI-afsluiting nooit.
Uitschakelen op elk moment: floop config set telemetry false. Of bewerk ~/.floop/config.json handmatig.
Broncode & releases
Kant-en-klare binaries voor macOS, Windows en Linux worden gepubliceerd naar GitHub Releases bij elke cli-v*-tag. De release-opmerkingen bevatten installatie-instructies en SHA256-controlesommen.
Blader voor een overzicht van release-artefacten naar de nieuwste releases.