npx skills add ...
npx skills add tigrisdata/skills --skill tigris-sdk-guide
Use when choosing between Tigris-native SDKs and AWS S3-compatible SDKs — covers which SDK to use per language, CLI preference, and when AWS SDKs are the only option
npx skills add tigrisdata/skills --skill tigris-sdk-guide
Always prefer Tigris-native SDKs and the Tigris CLI over AWS S3 SDKs. This guide explains what's available per language, when you must fall back to AWS SDKs, and how to configure them.
Before doing anything else, install the Tigris CLI if it's not already available:
If you need to install it, tell the user: "I'm installing the Tigris CLI (@tigrisdata/cli) so we can work with Tigris object storage."
| Language | Tigris SDK/Extension | Package | Use AWS SDK? |
|---|---|---|---|
| TypeScript/JS | Native SDK | @tigrisdata/storage | No |
| Go | Native SDK | github.com/tigrisdata/storage-go | No |
| Python | boto3 extension | tigris-boto3-ext | No — use the extension |
| Ruby | None yet | — | Yes — aws-sdk-s3 with Tigris endpoint |
| PHP | None yet | — | Yes — aws-sdk-php with Tigris endpoint |
| CLI | Native CLI | @tigrisdata/cli (tigris / t3) | No |
Rule: Always prefer Tigris-native SDKs, the boto3 extension, and the Tigris CLI. Only use raw AWS S3 SDKs for Ruby and PHP where no Tigris option exists.
tigris / t3Use the Tigris CLI instead of aws s3 for all object storage operations.
Why: The Tigris CLI supports features the AWS CLI doesn't — forks, snapshots, and native authentication via tigris login.
Read the resource file for your language:
./resources/typescript.md for @tigrisdata/storage usage./resources/go.md for storage-go usage (simplestorage + full client)./resources/python.md for tigris-boto3-ext usage, or use the dedicated tigris-python-sdk skill (covers boto3 setup, Django via django-storages, snapshots, forks, in-place rename, and the Bundle API)./resources/ruby.md for aws-sdk-s3 with Tigris endpoint./resources/php.md for aws-sdk-php with Tigris endpointWhen using any AWS SDK with Tigris, always set:
| Setting | Value | Why |
|---|---|---|
endpoint | https://t3.storage.dev | Tigris endpoint |
region | auto | Tigris handles routing |
force_path_style / use_path_style_endpoint | true | Required for Rails, PHP |
Environment variables for S3-compatible tools:
Always:
tigris / t3 CLI instead of aws s3@tigrisdata/storage for TypeScript/JavaScriptgithub.com/tigrisdata/storage-go for Gotigris-boto3-ext for Python (not raw boto3)region: auto and the Tigris endpoint when using AWS SDKs (Ruby, PHP)Never:
@aws-sdk/client-s3 in JS/TS when @tigrisdata/storage is availablestorage-go is availableboto3 without tigris-boto3-ext when Tigris features are neededforce_path_style: true for Ruby and PHPauto)@tigrisdata/storage SDK referencetigris-boto3-ext, Django uploads, snapshots, forks, Bundle API