UNPKG

@stoar/cli

Version:

CLI tool for STOAR - decentralized file storage on Arweave

167 lines (118 loc) 3.53 kB
# @stoar/cli CLI tool for STOAR - decentralized file storage on Arweave. ## Installation ```bash npm install -g @stoar/cli # or bun add -g @stoar/cli ``` ## Configuration The CLI requires a wallet to interact with Arweave. You can provide it in two ways: 1. **Command line flag**: `--wallet path/to/wallet.json` 2. **Environment variable**: - `STOAR_WALLET_PATH=/path/to/wallet.json` - `STOAR_WALLET=<base64-encoded-wallet-json>` ## Keeping Up to Date The CLI will automatically check for updates once every 24 hours and notify you when a new version is available. You can: ```bash # Check for updates manually stoar update --check # Update to the latest version stoar update # Force update even if on latest version stoar update --force # Skip automatic update checks stoar --skip-update-check <command> # Or set environment variable export STOAR_SKIP_UPDATE_CHECK=true ``` ## Usage ### Wallet Management ```bash # Create a new wallet stoar wallet create --output my-wallet.json # Check wallet balance stoar wallet balance --wallet my-wallet.json # Show wallet address stoar wallet address --wallet my-wallet.json ``` ### File Operations ```bash # Upload a single file stoar upload file.pdf --wallet wallet.json # Upload with metadata stoar upload file.pdf --name "My Document" --tags category=docs,year=2024 # Upload multiple files (automatically uses batch mode for cost savings) stoar upload *.jpg --wallet wallet.json # Upload entire directory with glob patterns stoar upload "images/**/*.png" --wallet wallet.json # Force batch mode even for single file stoar upload file.pdf --batch --wallet wallet.json # Download a file stoar download <transaction-id> --output downloaded-file.pdf ``` ### Query Files ```bash # List your uploads stoar list --wallet wallet.json # List with filters stoar list --tags type=image --limit 50 ``` ### Configuration ```bash # Set default gateway stoar config set gateway https://arweave.net # View configuration stoar config get # Reset configuration stoar config reset ``` ## Output Formats All commands support different output formats: - `--json` - Output results in JSON format - `--quiet` - Only output essential information - `--verbose` - Show detailed output ## Current Features ### Core Functionality - ✅ File upload/download with progress indicators - ✅ Automatic batch mode for multiple files (90%+ cost savings) - ✅ Directory uploads with glob patterns - ✅ Wallet management (create, balance, address) - ✅ Transaction querying with GraphQL - ✅ Bundle detection and parsing - ✅ Configuration system - ✅ Multiple output formats (JSON, quiet, verbose) - ✅ Automatic update notifications and self-update capability ### Advanced Features - ✅ Auto-batching when uploading multiple files - ✅ Glob pattern support for flexible file selection - ✅ Transaction info with bundle content display - ✅ Tag-based filtering for queries -Cross-runtime support (Node.js and Bun) ## Upcoming Features ### Phase 2 (In Progress) - Enhanced batch commands (create, add, status, commit) - Cost estimation before upload - Resume interrupted uploads ### Phase 3 - S3-compatible commands - Static website deployment - Real-time monitoring - Deploy command for websites ### Phase 4 - Interactive mode with prompts - Enhanced UI with charts - Advanced error recovery ## Development ```bash # Install dependencies bun install # Build bun run build # Run tests bun run test # Development mode bun run dev ``` ## License MIT