关于 launch-sync-environment-variables-from-env-example
此技能比较本地 `.env.example` 与 Contentstack Launch 环境中的变量,并补上缺失的键,适用于需要保持部署配置一致的团队。它只报告键名,不泄露变量值。
主要功能
- 01解析 `.env.example` 中的变量名
- 02获取 Launch 项目环境变量
- 03识别 Launch 中缺少的键
- 04仅补丁式添加缺失键
- 05报告变更且不泄露变量值
适用场景
- 01部署前审计 Launch 变量
- 02根据本地示例文件补充缺失环境变量
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ contentstack/ contentstack-agent-skills --skill launch-sync-environment-variables-from-env-example安装后在 Claude Code 中输入/launch-sync-environment-variables-from-env-example确认已加载。
详细介绍
从 .env.example 同步 Launch 环境变量
描述
从 Contentstack Launch 项目获取环境变量,与本地 .env.example 文件进行比较,并修补目标环境以添加缺失的键。
适用场景
当 Launch 环境必须包含本地 .env.example 文件中定义的键时使用。
在部署前审核缺失的环境变量时使用。
无需手动编辑配置,即可向 Launch 环境添加缺失的变量名。
用户问题
Launch 环境中的变量可能会与前端项目预期的变量不一致。此技能会将环境与 .env.example 进行核对,并在发现缺失的键时更新 Launch。
成功标准
.env.example 中的所有键都存在于目标 Launch 环境中。
缺失的键通过 Launch Projects/Environments API 添加。
脚本会报告缺失项和更新项。
日志中不会打印任何机密信息。
预期输入
- Launch 项目 UID
- Launch 环境 UID
- 本地
.env.example文件的路径 - Launch API 凭据或已认证的上下文
- 可选:试运行标志
预期输出
- 在
.env.example中找到的键列表 - 已存在于 Launch 中的键列表
- 已修补的缺失键列表
- 已执行的 API 调用摘要
- 表明成功或失败的退出代码
用户请求示例
- 生成一个从
.env.example同步 Launch 环境变量的 Node.js 脚本。 - 将我的 Launch 环境变量与
.env.example进行比较,并添加缺失的键。 - 编写一个脚本,为项目 abc123 和环境 dev456 修补缺失的 Launch 环境变量。
工作流摘要
读取并解析本地 .env.example 文件。
获取目标 Launch 环境及其当前变量。
将文件中的键与 Launch 中的键进行比较。
构建仅包含缺失键的最小修补负载。
调用 PATCH /projects/{project_uid}/environments/{environment_uid}。
报告变更并停止,不暴露任何值。
说明
解析输入
读取本地 .env.example 文件并提取变量名。忽略注释、空行和格式错误的条目。
获取 Launch 状态
使用 Launch API 获取目标项目和环境,然后读取当前环境变量。
比较键
将 .env.example 中的键与 Launch 中的键进行比较。除非用户明确要求更新现有值,否则只识别缺失的键。
修补环境
调用 PATCH /projects/{project_uid}/environments/{environment_uid},并进行添加缺失键所需的最小更新。
报告结果
简洁地总结缺失的键、已修补的键以及任何错误。绝不打印机密值或令牌。
输出格式
使用简洁、机器可读的摘要。 不要打印 Launch 或本地文件中的机密值。 分别显示缺失的键和已更新的键。 在摘要中包含项目 UID 和环境 UID。 如果以试运行模式运行,请明确标示未进行任何变更。
工具使用说明
使用 Launch API 和 Projects/Environments 端点。 修补前验证项目和环境 UID。 避免记录部署令牌或环境机密。 使用尽可能精简的 PATCH 负载。 如果 API 返回验证错误,请明确报告,不要盲目重试。
安全
默认设置
绝不暴露部署令牌或环境机密。 修补前验证项目和环境目标。 不要在日志或输出中打印变量值。 进行任何变更前都必须获得用户明确授权。 除非用户要求应用变更,否则优先采用试运行模式。
破坏性操作
任何会更改 Launch 配置的 PATCH 都应视为破坏性的外部操作。应用变更前确认目标项目和环境。除非用户明确要求,否则不要将更新范围扩大到缺失键之外。
密钥
绝不泄露 .env.example 或 Launch 中的密钥值。仅记录键名和数量。在所有输出中对令牌、API 密钥和环境变量值进行脱敏。
环境变量
仅在身份验证和选择目标所需时读取环境变量。绝不回显环境变量值。支持从本地 .env.example 加载内容,仅用于比较,不得披露密钥。
产品背景
-
- 产品:Launch
-
- 描述:Contentstack Launch:为 Contentstack 驱动的前端提供托管、部署、边缘交付、无服务器函数、环境管理和 CI/CD。
-
- 产品安全规则:- 绝不暴露部署令牌或环境密钥。
- 触发前验证部署目标。
- 生产环境部署必须获得确认。
- 未经审核,绝不自动部署到生产环境。
-
- 默认工具:["Launch API", "Projects", "Environments", "Deployments", "Serverless Functions", "Edge Delivery", "Custom Domains"]
-
- 默认连接器:["Launch Proxy", "GitHub", "CI/CD Pipelines"]