lumbung-cli
v1.0.5
Published
CLI tool for Lumbung Kode - Gudang Snippet Kode Modern
Downloads
25
Maintainers
Readme
🚀 Lumbung CLI - Command Line Interface
Lumbung CLI adalah terminal tool untuk mengelola snippet kode Anda langsung dari command line. Upload, download, dan cari snippet tanpa perlu buka browser!
📋 Daftar Isi
📦 Instalasi
Opsi 1: Install dari NPM (Recommended)
npm install -g lumbung-cliOpsi 2: Install dari Source
git clone https://github.com/sofyan2108/lumbung-kode-ta.git
cd lumbung-kode-ta/cli
npm install
npm linkVerifikasi Instalasi:
lumbung --version⚡ Quick Start
1. Login ke Akun Anda
lumbung loginMasukkan email & password yang sama dengan akun web app.
2. Upload Snippet Pertama
lumbung push myfile.js --public3. Lihat Semua Snippet Anda
lumbung list4. Download Snippet
lumbung get <snippet-id> --output downloaded.jsSelesai! 🎉
📖 Semua Command
🔐 Authentication
lumbung login
Login ke akun Lumbung Kode Anda.
lumbung loginInteractive prompt:
- Email:
[email protected] - Password:
******
lumbung logout
Keluar dari akun.
lumbung logoutlumbung whoami
Cek status login saat ini.
lumbung whoami📤 Upload Snippet
lumbung push <file>
Upload file sebagai snippet.
Basic Usage:
lumbung push myfile.jsDengan Metadata Lengkap:
lumbung push component.jsx \
--title "React Hook: useAuth" \
--description "Custom authentication hook untuk login" \
--tags "react,hooks,auth,custom" \
--public \
--dependencies '["react","zustand"]' \
--usage "const { user, login } = useAuth()" \
--docs "https://docs.example.com/hooks"Options:
| Option | Alias | Deskripsi | Contoh |
|--------|-------|-----------|---------|
| --title <text> | -t | Judul snippet | --title "My Component" |
| --description <text> | -d | Deskripsi snippet | --description "Does XYZ" |
| --language <lang> | -l | Bahasa pemrograman | --language javascript |
| --tags <tags> | - | Tags (pisah koma) | --tags "react,hooks" |
| --public | - | Buat public | --public |
| --dependencies <json> | - | Dependencies (JSON array) | --dependencies '["react"]' |
| --usage <example> | - | Contoh penggunaan | --usage "import ..." |
| --docs <url> | - | URL dokumentasi | --docs "https://..." |
Auto-Detect Language: CLI otomatis detect bahasa dari file extension:
.js,.jsx→ JavaScript.ts,.tsx→ TypeScript.py→ Python.java→ Java- dll.
📥 Download Snippet
lumbung get <id>
Ambil snippet berdasarkan ID.
Tampilkan di Terminal:
lumbung get 8ad61948-9251-49be-887e-c215ec3839c5Save ke File:
lumbung get 8ad61948-9251-49be-887e-c215ec3839c5 --output myfile.jsxCopy ke Clipboard:
lumbung get 8ad61948-9251-49be-887e-c215ec3839c5 --copyOptions:
| Option | Alias | Deskripsi |
|--------|-------|-----------|
| --output <file> | -o | Simpan ke file |
| --copy | -c | Copy ke clipboard |
📋 List Snippets
lumbung list
Tampilkan daftar snippet Anda.
Basic:
lumbung listFilter By Language:
lumbung list --language javascriptLimit Results:
lumbung list --limit 20Public Snippets Only:
lumbung list --publicOutput as JSON:
lumbung list --jsonOptions:
| Option | Alias | Deskripsi |
|--------|-------|-----------|
| --language <lang> | -l | Filter by bahasa |
| --limit <number> | -n | Max results (default: 10) |
| --public | - | Hanya public snippets |
| --json | - | Output format JSON |
🔍 Search Snippets
lumbung search <query>
Cari snippet dengan full-text search.
Basic Search:
lumbung search "react hooks"Search My Snippets:
lumbung search "authentication" --mineSearch Public Snippets:
lumbung search "api client" --publicFilter + Limit:
lumbung search "useState" --language javascript --limit 5Options:
| Option | Alias | Deskripsi |
|--------|-------|-----------|
| --language <lang> | -l | Filter by bahasa |
| --limit <number> | -n | Max results (default: 10) |
| --mine | - | Hanya snippet saya |
| --public | - | Hanya public snippets |
💡 Contoh Penggunaan
Skenario 1: Upload Project File
# Navigasi ke folder project
cd D:/Projects/MyApp
# Upload dengan metadata lengkap
lumbung push src/components/Header.jsx \
--title "Responsive Header Component" \
--description "Header dengan dark mode support" \
--tags "react,component,responsive,darkmode" \
--dependencies '["react","lucide-react"]' \
--publicSkenario 2: Cari & Download Snippet
# Cari snippet authentication
lumbung search "authentication" --public
# Download snippet yang ditemukan
lumbung get abc123...xyz --output auth-helper.jsSkenario 3: Backup Semua Snippet
# List semua snippet dalam JSON
lumbung list --json > my-snippets.json
# Loop & download satu per satu (Bash/PowerShell)
# ... (user bisa bikin script sendiri)🎯 Tips & Tricks
1. Absolute vs Relative Path
# Relative path (dari current directory)
lumbung push ./src/utils.js
# Absolute path (dari mana saja)
lumbung push D:/Projects/app/helper.js2. Escape JSON String di Windows
Jika pakai PowerShell, escape quotes dengan backslash:
lumbung push file.js --dependencies '[\"react\",\"zustand\"]'Atau gunakan single quotes:
lumbung push file.js --dependencies '["react","zustand"]'3. Kombinasi dengan Pipe
# Search & save IDs to file
lumbung search "react" --json | jq '.[] | .id' > snippet-ids.txt4. Alias/Shortcut
Tambahkan ke .bashrc atau .zshrc:
alias lp='lumbung push'
alias ll='lumbung list'
alias lg='lumbung get'🐛 Troubleshooting
Error: "Not logged in"
Solution:
lumbung loginError: "Invalid API key"
Credentials expired. Login ulang:
lumbung logout
lumbung loginError: "File not found"
Pastikan path ke file benar:
# Cek file exists
ls myfile.js
# Gunakan absolute path
lumbung push D:/full/path/to/file.jsJSON Parse Error (--dependencies)
Pastikan JSON valid:
# ❌ Salah
--dependencies ["react"]
# ✅ Benar
--dependencies '["react","zustand"]'📚 Resources
- Web App: https://lumbungkode.netlify.app
- GitHub: https://github.com/sofyan2108/lumbung-kode-ta
- NPM Package: https://npmjs.com/package/lumbung-cli
🆘 Butuh Bantuan?
# Help untuk semua command
lumbung --help
# Help untuk command tertentu
lumbung push --help
lumbung get --helpMade with ❤️ for Developers | Tugas Akhir Informatika 2026
