Komut Satırı Arayüzü

FloopFloop CLI

FloopFloop CLI'yi kurun, bir cihazı yetkilendirin ve her projeyi terminalinizden yönetin — `floop login`, `floop new`, `floop chat`, `floop refine` ve daha fazlası.

Son güncelleme:

FloopFloop CLI

FloopFloop CLI (floop), FloopFloop platformu için tek dosyalık bir komut satırı istemcisidir. Web konsolunun yaptığı her şeyi — bir istemden proje oluşturma, canlı dağıtımları izleme, projeleri sohbet REPL'inde geliştirme — terminalinizden çıkmadan yapabilirsiniz.

API anahtarlarının aksine (bunlar Business planıyla sınırlıdır), CLI cihaz token'ları normal hesap planınızla sınırlıdır; tıpkı web üzerinden oturum açmak gibi. CLI insanlar içindir; API anahtarları betikler içindir.

Kurulum

Makineniz için doğru ikili dosyayı seçin ve $PATH yolunuza ekleyin. Tam kurulum tablosu (kopyalama düğmeleriyle birlikte) floopfloop.com/cli adresinde bulunmaktadır.

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/floop

macOS (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/floop

Linux 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/floop

Windows x64

# In PowerShell:
Invoke-WebRequest https://github.com/FloopFloopAI/floop-cli/releases/latest/download/floop-windows-x64.exe -OutFile $env:USERPROFILE\floop.exe

macOS veya Windows'ta ilk başlatmada ikili dosyanın henüz imzalanmadığına dair bir uyarı alırsınız. macOS'ta sağ tıklayın → Aç seçeneğine tıklayın ya da xattr -d com.apple.quarantine /usr/local/bin/floop komutunu çalıştırın. Windows'ta "Daha fazla bilgi" → "Yine de çalıştır" seçeneğine tıklayın.

Oturum açma

Cihazı FloopFloop hesabınıza yetkilendirin. CLI tarayıcınızı açar, siz Onayla'ya tıklarsınız ve CLI bu makineye bağlı uzun ömürlü bir token alır.

floop login

Başsız bir makinede (SSH, CI, Docker) bunun yerine cihaz akışını kullanın:

floop login --device

floopfloop.com/deviceadresine yapıştırmanız için bir kod alırsınız. Onaylandıktan sonra CLI token'ı alır ve 0600 izinleriyle ~/.floop/config.json dosyasına kaydeder.

Etkin oturumu floop whoami ile doğrulayın. Oturumu floop logout ile kapatın. Oturum açılmış tüm cihazları Hesap → Cihazlar sayfasından yönetin.

Komutlar

floop new <prompt>

Yeni bir proje oluşturur ve (varsayılan olarak) canlıya geçmesini bekler.

floop new "a crypto RSI dashboard for BTC and ETH" --subdomain my-rsi
BayrakAçıklama
--name <name>Proje adı (varsayılan olarak istemin ilk kelimelerini kullanır)
--subdomain <slug>Alt alan adı (varsayılan olarak adın slug'ını kullanır)
--bot-type <type>site, app, bot, api, internal, game seçeneklerinden biri
--team <teamId>Bir takım çalışma alanı altında oluştur
--no-waitKuyruğa alındıktan hemen sonra döner; ilerlemeyi aktarmaz
--jsonMakine tarafından okunabilir JSON çıktısı verir

floop list (takma ad ls)

Projelerinizi tablo biçiminde veya JSON olarak listeler.

floop list
floop list --json
floop list --team team_abc123

floop status <project>

Bir projenin derleme durumunu gösterir. Proje kimliğini veya alt alan adını kabul eder. Derleme bir sonlandırma durumuna ulaşana kadar ilerlemeyi yerinde akıtmak için --watch ekleyebilirsiniz.

floop status my-rsi
floop status my-rsi --watch
floop status my-rsi --json

floop chat <project>

Bir projeye bağlı etkileşimli bir REPL açar. Yazdığınız her satır, canlı derleme ilerlemesiyle birlikte bir geliştirme olarak gönderilir. Eğik çizgi komutları:

  • /help — tüm eğik çizgi komutlarını gösterir
  • /status — anlık durum
  • /open — canlı URL'yi açar
  • /clear — ekranı temizler
  • /exit — REPL'den çıkar (Ctrl+D de çalışır)

Derleme sırasında Ctrl+Cizlemeyi durdurur; derleme sunucu tarafında çalışmaya devam eder. REPL'den gerçekten çıkmak için tekrar Ctrl+C'ye basın (ya da /exit kullanın).

floop refine <project> "<message>"

Etkileşimsiz geliştirme — floop chat'in betikleme ikizi. Bir geliştirme mesajı gönderir ve sizi REPL'e bırakmadan çıkar. CI boru hatları ("bu dal birleştiğinde ana sayfayı geliştir") veya tek seferlik düzenlemeler için kullanışlıdır.

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
BayrakAçıklama
--watchElde edilen derlemeyi sonlandırma durumuna kadar takip eder (canlı / başarısız / iptal edildi / arşivlendi). Bu bayrak olmadan kuyruğa alındıktan hemen sonra döner.
--code-onlycodeEditOnly: true olarak ayarlar — yeniden planlama / yeniden tasarımı atlar ve tam 6 adımlı yeniden derleme yerine 3 adımlı yerinde yama uygular. Yaklaşık yarım geliştirme kredisi harcar. Zaten canlıda olan bir projede metin düzenlemeleri, renk değişiklikleri ve yazım hatası düzeltmeleri için idealdir.
--jsonMakine tarafından okunabilir JSON çıktısı verir. Üç yanıt biçimini de sunar — processing (derleme başladı), queued (mevcut bir derlemenin arkasında kuyruğa alındı) veya queued: false (sohbet mesajı olarak kaydedildi, derleme yok).

floop cancel <project> · floop reactivate <project> [--watch]

Çalışan bir derlemeyi iptal eder veya daha önce iptal edilmiş bir projeyi yeniden etkinleştirir. reactivate, projenin en son istemiyle yeni bir derleme başlatır; --watch kullanıldığında komut, hemen dönmek yerine yeni derlemeyi sonlandırma durumuna (canlı / başarısız / iptal edildi / arşivlendi) kadar takip eder. floop status --watch ve floop refine --watch ile aynı yinelenenleri kaldırmalı yoklama örüntüsünü kullanır.

floop cancel my-bot
floop reactivate my-bot
floop reactivate my-bot --watch
floop reactivate my-bot --watch --json

floop open <project>

Projenin canlı URL'sini varsayılan tarayıcınızda açar. API henüz özel bir URL sunmamışsa https://<subdomain>.floop.tech adresine geri döner.

floop upgrade

floop ikili dosyasını en son GitHub Sürümü ile değiştirir. Değiştirmeden önce SHA256'yı yayımlanan SHA256SUMS ile doğrular. Yalnızca güncelleme olup olmadığını kontrol etmek için --check ekleyin.

floop upgrade
floop upgrade --check

Yalnızca derlenmiş ikili dosyalar için çalışır. npm aracılığıyla kurduysanız veya kaynaktan node dist/index.js çalıştırıyorsanız, komut reddedecek ve doğru araca yönlendirecektir.

floop docs · floop feedback

Hızlı kısayollar: floop docs bu sayfayı açar, floop feedback floopfloop.com üzerindeki destek / sorun bildirme formunu açar.

floop completion <bash|zsh|fish|powershell>

Stdout'a bir kabuk tamamlama betiği yazdırır. Kabuk başına kurulum:

# 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)

Şu an tamamlama statiktir — komut ve alt komut adlarını bilir, proje alt alan adlarınızı değil. Yerel önbellek aracılığıyla dinamik tamamlama yol haritasındadır.

floop config get [key] · floop config set <key> <value>

Yerel CLI ayarlarını okur veya değiştirir. Ayarlanabilir anahtarlar: apiUrl(API temel URL'sini geçersiz kılar — hazırlık ortamı veya kendi barındırma için kullanışlıdır) ve telemetry (true/false).

floop config get
floop config get telemetry
floop config set telemetry false
floop config set apiUrl https://staging.floopfloop.com

Token depolama kasıtlı olarak config setaracılığıyla ayarlanamaz — bu yol token'ları kabuk geçmişinden uzak tutar. Etkin oturumu yönetmek için floop login / floop logout kullanın.

floop usage

Planınızı, kullanılabilir kredileri (bu ay + aktarılan + ömür boyu kullanılan) ve mevcut dönem kullanımını (oluşturulan projeler, derlemeler, geliştirmeler, depolama, bant genişliği) plan sınırlarınıza göre gösterir.

floop usage
floop usage --json

floop conversations <project> (takma ad history)

Projenin sohbet geçmişini — kullanıcı mesajları, asistan yanıtları ve dağıtım işaretçileri (● Deployed v2) kronolojik sırayla — yazdırır. Yalnızca son 10 girişi göstermek için --limit 10 ekleyin.

floop conversations my-bot
floop history my-bot --limit 5
floop conversations my-bot --json

floop keys <list|create|rm>

CI/CD betiklerinde kullanım için programatik API anahtarlarını (flp_…) yönetir. floop login'in cihaz token'larından farklıdır— bunlar insanlar içindir ve normal planınızla sınırlıdır; API anahtarları programatiktir, Business planı gerektirir ve pano üzerinden ya da floop keys rm ile ad/kimliğe göre tek tek iptal edilebilir.

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"

rmalt komutu, çağrının yapıldığı API anahtarını iptal etmeyi reddeder — gerçekten silmek istiyorsanız farklı bir anahtar kullanın (ya da pano üzerinden iptal edin).

floop library <list|clone>

Genel kütüphane projelerine göz atın ve bunları hesabınıza kopyalayın.

floop library list
floop library list --search "trading bot" --sort popular
floop library clone <projectId> --subdomain my-fork

Sohbet REPL: /attach <file> + etkileşimli seçici

floop chat içinde bir sonraki geliştirme mesajınıza dosya ekleyin:

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 this

CLI mevcut önceden imzalanmış-PUT akışı aracılığıyla yükler; izin verilen türler png/jpg/gif/svg/webp/ico/pdf/txt/csv/doc/docx, maksimum 5 MB'tır. Ek, gönderdiğiniz bir sonraki mesaj tarafından kullanılır — daha fazla eğik çizgi komutu yazmak veya boş satırda enter'a basmak eki beklemede tutar.

Proje argümanı olmadan floop chat, projeleriniz üzerinde numaralı bir seçici açar. Tek projeyle doğrudan seçer.

floop subdomain check <slug> · floop subdomain suggest "<prompt>"

floop new için betikleme yardımcıları. check slug boşsa 0, aksi takdirde 1 ile çıkar. suggest, bir istemden türetilmiş kullanılabilir bir slug yazdırır — doğrudan --subdomain'a aktarın:

# 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>]

Bir projede salt yazılır ortam değişkenlerini yönetin. Değerler API tarafından hiçbir zaman döndürülmez — list yalnızca meta verileri (anahtar, son 4 karakter, zaman damgaları) sunar. set alt komutu değeri --value, --from-envveya stdin'den (bu sırayla) okur — hassas değerlerin kabuk geçmişine girmemesi için stdin veya --from-env tercih edin.

# 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_KEY

Anahtarlar UPPER_SNAKE_CASE biçiminde olmalı, bir harfle başlamalı ve en fazla 64 karakter içermelidir (proje gizli doğrulayıcısıyla eşleşir).

Betikleme

Her komut --json bayrağını destekler. jq ve FLOOP_TOKEN ortam değişkeniyle (etkileşimli girişi atlar) birleştirildiğinde CLI, CI/CD kullanımı için uygundur.

# 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
done

Ortam değişkenleri

DeğişkenAmaç
FLOOP_API_URLAPI temel URL'sini geçersiz kılar. Varsayılan: https://www.floopfloop.com. Hazırlık ortamı için kullanışlıdır.
FLOOP_TOKEN~/.floop/config.json içindeki token yerine kullanılacak taşıyıcı token. CI için kullanışlıdır.

Çıkış kodları

Kabuk betiklemesi için belgelenmiş çıkış kodları:

KodAnlam
0Başarılı
1Kullanıcı hatası (hatalı bayraklar, doğrulama, geliştirme modu yükseltme reddi)
2Kimlik doğrulama (oturum açılmamış, token iptal edilmiş, YASAK)
3Hız sınırı aşıldı
4Sunucu hatası (5xx, kurulum/yükseltme hataları)
5Ağa erişilemiyor

Yapılandırma dosyası

CLI, oturumunu ~/.floop/config.json konumunda 0600 izinleriyle (yalnızca sahip okuma/yazma) saklar. Dosya şunları içerir:

{
  "apiUrl": "https://www.floopfloop.com",
  "token": "flp_cli_…",
  "tokenPrefix": "flp_cli_a1b2…",
  "user": { "id": "...", "email": "you@example.com", "name": "..." }
}

İşletim sistemi anahtarlık desteği (macOS Keychain, Windows Kimlik Bilgisi Yöneticisi) yol haritasındadır.

Gizlilik & telemetri

İlk etkileşimli çalıştırmada CLI, anonim kullanım verisi paylaşmak isteyip istemediğinizi sorar. Katılım zorunlu değildir n seçin ve hiçbir şey gönderilmez. y seçin ve CLI, her komut çıkışında /api/cli/telemetry adresine tam olarak şunları içeren bir POST isteği gönderir:

  • anonymousId — katılım sırasında oluşturulan rastgele onaltılık değer, hesabınızla hiçbir zaman ilişkilendirilmez
  • command — üst düzey komut adı (ör. new, list)
  • exitCode
  • durationMs
  • version — CLI sürümü
  • osdarwin / win32 / linux

Şunları göndermiyoruz: istemler, proje adları, dosya içerikleri, komut argümanları, e-posta adresiniz, IP adresiniz (arka uç, hız sınırlaması için istek IP'sini kaydeder; telemetri satırlarıyla ilişkilendirilmez). Tam yük yukarıdaki altı alandır.

Atlama listesi — telemetri şu komutlar için hiçbir zaman tetiklenmez: floop config, floop completion, floop help, --help veya --version (bunlar ya döngüsel, genellikle boru hattına alınmış ya da içerikleri boştur). Telemetri sabit bir 1 saniyelik zaman aşımına sahiptir ve CLI çıkışını hiçbir zaman geciktirmez.

İstediğiniz zaman devre dışı bırakın: floop config set telemetry false. Ya da ~/.floop/config.json dosyasını elle düzenleyin.

Kaynak & sürümler

macOS, Windows ve Linux için önceden derlenmiş ikili dosyalar, her cli-v*etiketinde GitHub Releases'a yayımlanır. Sürüm notları kurulum talimatlarını ve SHA256 sağlama toplamlarını içerir.

Sürüm yapıtlarının listesi için en son sürümlere göz atın.