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/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.exemacOS 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 loginBaşsız bir makinede (SSH, CI, Docker) bunun yerine cihaz akışını kullanın:
floop login --devicefloopfloop.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| Bayrak | Açı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-wait | Kuyruğa alındıktan hemen sonra döner; ilerlemeyi aktarmaz |
--json | Makine 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_abc123floop 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 --jsonfloop 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| Bayrak | Açıklama |
|---|---|
--watch | Elde 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-only | codeEditOnly: 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. |
--json | Makine 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 --jsonfloop 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 --checkYalnı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.comToken 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 --jsonfloop 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 --jsonfloop 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-forkSohbet 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 thisCLI 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_KEYAnahtarlar 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
doneOrtam değişkenleri
| Değişken | Amaç |
|---|---|
FLOOP_API_URL | API 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ı:
| Kod | Anlam |
|---|---|
0 | Başarılı |
1 | Kullanıcı hatası (hatalı bayraklar, doğrulama, geliştirme modu yükseltme reddi) |
2 | Kimlik doğrulama (oturum açılmamış, token iptal edilmiş, YASAK) |
3 | Hız sınırı aşıldı |
4 | Sunucu hatası (5xx, kurulum/yükseltme hataları) |
5 | Ağ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şkilendirilmezcommand— üst düzey komut adı (ör.new,list)exitCodedurationMsversion— CLI sürümüos—darwin/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.