界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
部署与运维 · SKILL.md

sst

sst

【部署与运维】Assists with building and deploying full-stack serverless applications on AWS using SST. Use when defining Lambda functions, API Gateway routes, DynamoDB tables, S3 buckets, or deploying Next.js/Remix/Astro with SSR on AWS. Trigger words: sst, serverless stack, sst dev, sst deploy, aws lambda, sst ion, resource linking.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

Tterminalskills / skillsApache-2.0

技能说明

GitHub

name: sst description: >- Assists with building and deploying full-stack serverless applications on AWS using SST. Use when defining Lambda functions, API Gateway routes, DynamoDB tables, S3 buckets, or deploying Next.js/Remix/Astro with SSR on AWS. Trigger words: sst, serverless stack, sst dev, sst deploy, aws lambda, sst ion, resource linking. license: Apache-2.0 compatibility: "Requires Node.js 18+ and AWS credentials" metadata: author: terminal-skills version: "1.0.0" category: devops tags: ["sst", "serverless", "aws", "lambda", "full-stack"]

SST

Overview

SST (Serverless Stack) is a framework for building and deploying full-stack applications on AWS with high-level constructs for Lambda, API Gateway, DynamoDB, S3, and frontend frameworks. It features live local development connected to real AWS services, type-safe resource linking, and zero-config TypeScript support.

Instructions

  • When defining infrastructure, use sst.config.ts with typed components like sst.aws.Function, sst.aws.Api, sst.aws.Bucket, and sst.aws.Dynamo.
  • When connecting resources, use the link property on Functions to automatically grant IAM permissions and inject environment variables, and access linked resources via Resource.Name in handlers.
  • When developing locally, use sst dev which runs Lambda locally with hot reload while connected to real AWS services (DynamoDB, S3, SQS), with support for VS Code breakpoint debugging.
  • When deploying, use sst deploy --stage prod for named stages, sst deploy --stage pr-${PR_NUMBER} for preview environments, and sst remove --stage dev for teardown.
  • When deploying frontends, use sst.aws.Nextjs, sst.aws.Remix, or sst.aws.Astro components for SSR on Lambda with static assets on S3 + CloudFront.
  • When managing secrets, use sst secret set KEY value for encrypted, stage-specific secret storage.
  • When organizing code, keep handlers thin in packages/functions/ as orchestrators, and place business logic in packages/core/.

Examples

Example 1: Build a serverless API with DynamoDB

User request: "Create a REST API on AWS with DynamoDB using SST"

Actions:

  1. Define DynamoDB table and API Gateway in sst.config.ts
  2. Link the table to API handler functions for automatic permissions
  3. Implement CRUD handlers accessing Resource.MyTable.name
  4. Run sst dev for live local development against real AWS services

Output: A serverless REST API with type-safe resource access and live debugging.

Example 2: Deploy a Next.js app with preview environments

User request: "Deploy my Next.js app on AWS with per-PR preview environments"

Actions:

  1. Configure sst.aws.Nextjs component with custom domain and linked resources
  2. Set up CI to run sst deploy --stage pr-${PR_NUMBER} for each pull request
  3. Link backend resources (API, database) to the Next.js deployment
  4. Add cleanup step with sst remove when PR is closed

Output: A production Next.js deployment on AWS with isolated preview environments for each PR.

Guidelines

  • Use link instead of manual IAM policies; SST generates least-privilege permissions automatically.
  • Access linked resources via Resource.Name in handlers; never hardcode table names or bucket ARNs.
  • Use sst dev for daily development; it is faster than deploying to AWS on every change.
  • Create per-developer stages (sst dev --stage alice) so each developer gets isolated AWS resources.
  • Keep handlers thin: business logic in packages/core/, handlers in packages/functions/.
  • Use sst secret for API keys and credentials; they are encrypted and stage-specific.
  • Set up sst deploy --stage pr-${PR_NUMBER} in CI for preview environments on every pull request.
我的收藏