用途:为 Nuxt + AWS 基础设施项目生成脚手架文件,遵循 terraform-scaffold 工具约定,由本技能直接生成全部文件而非调用 CLI。
主要能力:
- 初始化项目结构,生成 terraform/envs(staging、production)、functions、lambda、modules、services、app/composables、app/graphql、utils 等目录。
- 添加 GraphQL 解析器:支持 APPSYNC_JS 与 LAMBDA 运行时,可注入 schema、生成 GraphQL 常量、Terraform 模块、AppSync JS 函数文件、Lambda 源码与 composable。
- 创建独立 Lambda 函数(standard 或 cron),cron 类型附带 EventBridge 定时规则、目标与调用权限。
使用方式:先检查项目根目录的 terraform-scaffold.config.ts 获取 functionPrefix、environments 与自定义路径,缺失则向用户询问。按三条命令流程操作:Init(询问项目名、PascalCase 前缀、AWS 区域默认 ap-southeast-2、S3 状态桶、DynamoDB 锁表)、GraphQL Resolver(询问模型、query/mutation、解析器名、运行时、DynamoDB 操作、字段)、Lambda Function(询问名称、类型、cron 表达式)。初始化时还会向 package.json 添加 gen:graphql、gen:lambda、tf:init/plan/apply/build/output、tf:sync-modules 等脚本。命名需遵守约定:Lambda 全名 <prefix><PascalSuffix>、解析器 camelCase、GraphQL 常量 SCREAMING_SNAKE_CASE 等。
限制:资料未提供依赖版本、收费、平台支持范围与部署后效果说明;初始化不覆盖已存在文件;Lambda 触发器 ARN 若不存在需先创建或暂填空字符串。