AgentStack
SKILL verified MIT Self-run

Tigris Static Assets

skill-tigrisdata-skills-tigris-static-assets · by tigrisdata

Use when deploying static assets (CSS, JS, fonts, build artifacts) to Tigris — asset pipelines, cache headers, CDN delivery, covers Next.js, Remix, Rails, Django, Laravel, Express

No reviews yet
0 installs
12 views
0.0% view→install

Install

$ agentstack add skill-tigrisdata-skills-tigris-static-assets

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Tigris Static Assets? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Tigris Static Asset Hosting

Deploy CSS, JavaScript, fonts, and build artifacts to Tigris for global CDN delivery. Covers asset pipeline integration, cache-busting strategies, and Cache-Control configuration for all major frameworks.

Prerequisites

Before doing anything else, install the Tigris CLI if it's not already available:

tigris help || npm install -g @tigrisdata/cli

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."

Overview

Tigris public buckets automatically serve files from the nearest global edge — no separate CDN configuration needed. Combined with content-hashed filenames and immutable cache headers, this gives you fast, cost-effective static asset delivery.

Key pattern:

  1. Build assets with content hashes (e.g., main-abc123.js)
  2. Upload to a public Tigris bucket
  3. Set Cache-Control: public, max-age=31536000, immutable
  4. Point your app's asset URL to the Tigris bucket

Cache Headers

# For immutable, hashed assets (CSS, JS bundles)
Cache-Control: public, max-age=31536000, immutable

# For mutable assets (manifest files, index.html)
Cache-Control: public, max-age=0, must-revalidate

# For fonts
Cache-Control: public, max-age=31536000, immutable

Setting Headers via CLI

tigris cp dist/main-abc123.js t3://my-assets/main-abc123.js \
  --cache-control "public, max-age=31536000, immutable" \
  --content-type "application/javascript"

Setting Headers via SDK

import { put } from "@tigrisdata/storage";

await put("assets/main-abc123.js", fileBuffer, {
  access: "public",
  contentType: "application/javascript",
});

Upload Script (General)

#!/bin/bash
# scripts/deploy-assets.sh
BUCKET="my-app-assets"
BUILD_DIR="dist"

# Upload hashed assets with long cache
tigris cp "$BUILD_DIR/" "t3://$BUCKET/" -r \
  --cache-control "public, max-age=31536000, immutable"

echo "Assets deployed to t3://$BUCKET/"

Framework Guides

Read the resource file for your framework:

  • Next.js — Read ./resources/nextjs.md for assetPrefix config and deploy script
  • Remix — Read ./resources/remix.md for Vite config and deploy script
  • Express — Read ./resources/express.md for static redirect pattern
  • Rails — Read ./resources/rails.md for Sprockets/Propshaft asset sync
  • Django — Read ./resources/django.md for collectstatic with S3 backend
  • Laravel — Read ./resources/laravel.md for Vite/Mix asset upload

Cache-Busting Strategies

| Strategy | Example | Use When | |----------|---------|----------| | Content hash in filename | main-abc123.js | Build tools generate hashed names (Vite, Webpack) | | Query string | main.js?v=abc123 | Legacy systems without hashed filenames | | Directory versioning | /v2/assets/main.js | Major version changes |

Most modern build tools (Vite, Webpack, esbuild) generate content-hashed filenames by default. Use these with immutable cache headers for the best performance.


Critical Rules

Always: Use a public bucket for static assets | Set Cache-Control: immutable on hashed assets | Use content-hashed filenames | Upload after build, not on every request

Never: Serve static assets through your app server in production (use Tigris CDN) | Set long cache times on mutable filenames | Forget to update asset URL configuration in your framework


Related Skills

  • tigris-egress-optimizer — Reduce bandwidth costs
  • tigris-lifecycle-management — Clean up old asset versions

Official Documentation

  • Tigris: https://www.tigrisdata.com/docs/

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.