--- name: using-tigris description: Work with the Tigris CLI for object storage operations. Use when the user mentions Tigris, uploading/downloading files, object storage, bucket management, or phrases like "upload to Tigris", "Tigris bucket", "Tigris objects". Covers: configure/login, bucket operations (create, list, delete, settings), object operations (put, get, list, delete), and other Tigris features (organizations, forks, snapshots, access keys). --- # Tigris CLI ## Configuration ### Default Bucket Before performing any bucket or object operations, check for the default bucket name in this order: 1. Read `AGENTS.md` in the project root and look for a `## Tigris Configuration` section 2. If no bucket name is found, ask the user to specify one 3. Save the bucket name to `AGENTS.md` under a `## Tigris Configuration` section: ```markdown ## Tigris Configuration - Default bucket: `` ``` ### Initial Setup First-time Tigris usage requires configuration: ```bash # Save credentials permanently (recommended) tigris configure # Or start a session with OAuth tigris login # Verify login tigris whoami ``` ## Bucket Operations ### List Buckets ```bash tigris buckets list tigris ls ``` ### Create Bucket ```bash tigris buckets create tigris mk ``` ### Get Bucket Details ```bash tigris buckets get tigris stat ``` ### Delete Bucket ```bash tigris buckets delete tigris rm ``` ### Update Bucket Settings ```bash tigris buckets set ``` ## Object Operations All object operations require a bucket name. Use the default bucket from `AGENTS.md` or prompt the user. ### Upload Object (Put) ```bash tigris objects put tigris cp tigris:/// ``` Examples: - Upload to specific path: `tigris objects put my-bucket path/to/file.jpg local.jpg` - Upload with custom key: `tigris objects put my-bucket images/photo.png ./photo.png` ### Download Object (Get) ```bash tigris objects get tigris cp tigris:/// ``` Examples: - Download to current dir: `tigris objects get my-bucket path/to/file.jpg` - Download to specific location: `tigris cp tigris://my-bucket/data.json ./local/data.json` ### List Objects ```bash tigris objects list tigris ls tigris ls / ``` Examples: - List all objects: `tigris objects list my-bucket` - List with prefix: `tigris ls my-bucket/images/` ### Delete Object ```bash tigris objects delete tigris rm / ``` ### Copy Object ```bash tigris cp tigris:/// tigris:/// ``` ### Move Object ```bash tigris mv tigris:/// tigris:/// ``` ### Create Empty Object ```bash tigris touch / ``` ## User and Account Management ### User Information ```bash tigris whoami ``` ### Logout ```bash tigris logout ``` ### Access Keys ```bash tigris access-keys list tigris keys list ``` ## Quick Reference | Task | Command | | ------------- | ------------------------------------------ | | Upload file | `tigris objects put ` | | Download file | `tigris objects get ` | | List objects | `tigris objects list ` | | Delete object | `tigris objects delete ` | | Create bucket | `tigris buckets create ` | | List buckets | `tigris buckets list` | | Copy file | `tigris cp ` | | Move file | `tigris mv ` | ## URL Format Tigris uses the `tigris://` protocol for paths: - `tigris:///` - Object in bucket - `tigris:///` - Root of bucket This format works with `tigris cp`, `tigris mv`, and `tigris ls`.