tigris-objects
Use when uploading, downloading, listing, moving, deleting, or presigning objects in Tigris Storage
Works with
Claude CodeCursorCodex CLIGitHub CopilotGemini CLI
--- name: tigris-objects description: Use when uploading, downloading, listing, moving, deleting, or presigning objects in Tigris Storage license: MIT --- # Tigris Object Operations ## Quick Reference | Command | Description | | ------------------------------------------ | ---------------------------------------- | | `tigris ls [path]` | List objects under a bucket/prefix | | `tigris cp <src> <dest>` | Copy files local↔remote or remote↔remote | | `tigris mv <src> <dest>` | Move/rename objects within Tigris | | `tigris rm <path>` | Delete objects or folders | | `tigris touch <path>` | Create an empty object | | `tigris stat <path>` | Show object metadata or storage stats | | `tigris presign <path>` | Generate a presigned URL | | `tigris objects list <bucket>` | List objects (low-level) | | `tigris objects get <bucket> <key>` | Download an object (low-level) | | `tigris objects put <bucket> <key> <file>` | Upload an object (low-level) | | `tigris objects delete <bucket> <key>` | Delete an object (low-level) | | `tigris objects set <bucket> <key>` | Update object settings (low-level) | ## URI Scheme Remote paths use `t3://bucket/key` or `tigris://bucket/key`. Bare `bucket/key` paths are also accepted. ## Unix-Style Commands (primary interface) ### `tigris ls [path]` (alias: `list`) List all buckets (no arguments) or objects under a bucket/prefix path. ```bash tigris ls # list all buckets tigris ls my-bucket # list objects in bucket tigris ls my-bucket/images/ # list objects under prefix tigris ls t3://my-bucket/prefix/ ``` | Flag | Alias | Description | Default | | -------------------- | ------------ | -------------------------------------- | ------- | | `--snapshot-version` | `--snapshot` | Read from a specific bucket snapshot | | | `--format` | `-f` | Output format (`json`, `table`, `xml`) | `table` | | `--json` | | Output as JSON | | ### `tigris cp <src> <dest>` (alias: `copy`) Copy files between local filesystem and Tigris, or between paths within Tigris. At least one side must be a remote `t3://` path. Quote wildcard patterns to prevent shell expansion. ```bash tigris cp ./file.txt t3://my-bucket/file.txt # upload tigris cp t3://my-bucket/file.txt ./local-copy.txt # download tigris cp t3://my-bucket/src/ t3://my-bucket/dest/ -r # remote-to-remote tigris cp ./images/ t3://my-bucket/images/ -r # recursive upload ``` | Flag | Alias | Description | | ------------- | ----- | ------------------------------------------------- | | `--recursive` | `-r` | Copy directories recursively | | `--format` | `-f` | Output format (`json`, `table`; default: `table`) | | `--json` | | Output as JSON | ### `tigris mv <src> <dest>` (alias: `move`) Move (rename) objects within Tigris. Both source and destination must be remote paths. Quote wildcard patterns to prevent shell expansion. ```bash tigris mv t3://my-bucket/old.txt t3://my-bucket/new.txt -f tigris mv t3://my-bucket/old-dir/ t3://my-bucket/new-dir/ -rf tigris mv my-bucket/a.txt my-bucket/b.txt -f ``` | Flag | Alias | Description | | ------------- | ----- | ------------------------------------------------- | | `--recursive` | `-r` | Move directories recursively | | `--force` | `-f` | Skip confirmation prompt | | `--format` | | Output format (`json`, `table`; default: `table`) | | `--json` | | Output as JSON | ### `tigris rm <path>` (alias: `remove`) Remove a bucket, folder, or object from Tigris. A bare bucket name deletes the bucket itself. Quote wildcard patterns to prevent shell expansion. ```bash tigris rm t3://my-bucket/file.txt -f tigris rm t3://my-bucket/folder/ -rf tigris rm t3://my-bucket -f # deletes the bucket tigris rm "t3://my-bucket/logs/*.tmp" -f # wildcard delete ``` | Flag | Alias | Description | | ------------- | ----- | ------------------------------------------------- | | `--recursive` | `-r` | Remove directories recursively | | `--force` | `-f` | Skip confirmation prompt | | `--format` | | Output format (`json`, `table`; default: `table`) | | `--json` | | Output as JSON | ### `tigris touch <path>` Create an empty (zero-byte) object at the given bucket/key path. ```bash tigris touch my-bucket/placeholder.txt tigris touch t3://my-bucket/logs/ ``` | Flag | Alias | Description | | ---------- | ----- | ------------------------------------------------- | | `--format` | `-f` | Output format (`json`, `table`; default: `table`) | | `--json` | | Output as JSON | ### `tigris stat [path]` Show storage stats (no args), bucket info, or object metadata. ```bash tigris stat # overall storage stats tigris stat t3://my-bucket # bucket info tigris stat t3://my-bucket/my-object.json # object metadata ``` | Flag | Alias | Description | Default | | -------------------- | ------------ | -------------------------------------- | ------- | | `--snapshot-version` | `--snapshot` | Read from a specific bucket snapshot | | | `--format` | `-f` | Output format (`json`, `table`, `xml`) | `table` | | `--json` | | Output as JSON | | ## Presigned URLs ### `tigris presign <path>` Generate a presigned URL for temporary access to an object without credentials. ```bash tigris presign my-bucket/file.txt tigris presign t3://my-bucket/report.pdf --method put --expires-in 7200 tigris presign my-bucket/image.png --format json tigris presign my-bucket/data.csv --access-key tid_AaBb ``` | Flag | Alias | Description | Default | | -------------- | ----- | --------------------------------------------------------------------- | ------- | | `--method` | `-m` | HTTP method (`get`, `put`) | `get` | | `--expires-in` | `-e` | URL expiry time in seconds | `3600` | | `--access-key` | | Access key ID for signing (resolved from credentials if not provided) | | | `--format` | `-f` | Output format (`url`, `json`) | `url` | | `--json` | | Output as JSON | | **Use cases:** - Temporary sharing of private objects (GET) - Client-side uploads without exposing credentials (PUT) ## Low-Level `objects` Subcommand For programmatic and granular control over individual objects. ### `tigris objects list <bucket>` (alias: `l`) List objects in a bucket, optionally filtered by a key prefix. ```bash tigris objects list my-bucket tigris objects list my-bucket --prefix images/ tigris objects list my-bucket --json ``` | Flag | Alias | Description | | -------------------- | ------------ | -------------------------------------------------------- | | `--prefix` | `-p` | Filter objects by key prefix | | `--snapshot-version` | `--snapshot` | Read from a specific bucket snapshot | | `--format` | `-f` | Output format (`json`, `table`, `xml`; default: `table`) | | `--json` | | Output as JSON | ### `tigris objects get <bucket> <key>` (alias: `g`) Download an object by key. Prints to stdout by default, or saves to a file with `--output`. ```bash tigris objects get my-bucket config.json tigris objects get my-bucket archive.zip --output ./archive.zip --mode stream ``` | Flag | Alias | Description | | -------------------- | ------------ | -------------------------------------------------------------------------- | | `--output` | `-o` | Output file path (prints to stdout if not specified) | | `--mode` | `-m` | Response mode: `string` (loads into memory) or `stream` (writes in chunks) | | `--snapshot-version` | `--snapshot` | Read from a specific bucket snapshot | | `--format` | `-f` | Output format (`json`, `table`; default: `table`) | | `--json` | | Output as JSON | ### `tigris objects put <bucket> <key> <file>` (alias: `p`) Upload a local file as an object. Content-type is auto-detected from extension unless overridden. ```bash tigris objects put my-bucket report.pdf ./report.pdf tigris objects put my-bucket logo.png ./logo.png --access public --content-type image/png ``` | Flag | Alias | Description | Default | | ---------------- | ----- | --------------------------------------- | --------- | | `--access` | `-a` | Access level (`public`, `private`) | `private` | | `--content-type` | `-t` | Content type (auto-detected if omitted) | | | `--format` | `-f` | Output format (`json`, `table`, `xml`) | `table` | | `--json` | | Output as JSON | | ### `tigris objects delete <bucket> <key>` (alias: `d`) Delete one or more objects by key. Accepts comma-separated keys. ```bash tigris objects delete my-bucket old-file.txt --force tigris objects delete my-bucket file-a.txt,file-b.txt --force ``` | Flag | Description | | ----------------- | ------------------------------------------------- | | `--force` | Skip confirmation prompt | | `--format` / `-f` | Output format (`json`, `table`; default: `table`) | | `--json` | Output as JSON | ### `tigris objects set <bucket> <key>` (alias: `s`) Update settings on an existing object such as access level or key name. ```bash tigris objects set my-bucket my-file.txt --access public tigris objects set my-bucket my-file.txt --access private ``` | Flag | Alias | Description | | ----------- | ----- | ------------------------------------------------- | | `--access` | `-a` | Access level (`public`, `private`) — required | | `--new-key` | `-n` | Rename the object to a new key | | `--format` | `-f` | Output format (`json`, `table`; default: `table`) | | `--json` | | Output as JSON | ## Common Patterns ```bash # Recursive upload tigris cp ./dist/ t3://my-bucket/static/ -r # Download an entire directory tigris cp t3://my-bucket/backups/ ./local-backups/ -r # Wildcard delete (quote the pattern!) tigris rm "t3://my-bucket/logs/*.tmp" -rf # Generate a presigned upload URL for client-side uploads tigris presign my-bucket/user-uploads/photo.jpg --method put --expires-in 600 ```
More AI & ML skills
writing-shape
mattpocock/skills
Writing, exploit: shape raw material into an article, paragraph by paragraph.
275.5k
writing-fragments
mattpocock/skills
Writing, explore: mine raw fragments, no structure yet.
275.3k
full-output-enforcement
leonxlnx/taste-skill
Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.
273.1k

