脚本在项目根目录执行make deploy后,必须先校验.env.production是否存在,缺失则退出并打印ERR_DEPLOY_MISSING_ENV、返回码127;再通过ssh连接prod-01.example.com(端口22);最后用rsync同步dist/到/var/www/myapp/。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你在项目根目录执行make deploy时,CI流水线必须先校验.env.production是否存在,再通过ssh连接到prod-01.example.com,最后用rsync同步dist/到/var/www/myapp/——没有这些锚点的提示词,AI默认按通用模板填充,必然偏离你的实际部署拓扑。
绑定可验证动作与真实触发条件
第一步:把“请写一个部署脚本”彻底删掉,直接以终端命令为起点。例如开篇就写:“你在项目根目录运行make deploy后,脚本必须立即执行以下三步”。
第二步:明确写出每一步的可观测结果。比如“校验.env.production是否存在”不能只说“检查配置文件”,而要写成“若该文件缺失,则退出并打印ERR_DEPLOY_MISSING_ENV,返回码设为127”。
第三步:把主机名、路径、端口全部固化为不可替换字符串。例如ssh目标必须是【prod-01.example.com】,同步目标路径必须是【/var/www/myapp/】,端口必须显式声明为22或从SSH_CONFIG读取——不写默认值,不加“通常”“一般”这类模糊词。
嵌入不可篡改的数据锚点
方法一:插入版本号与错误码
在提示词中强制写明:“脚本启动时必须检测Node.js版本,若低于v18.0则退出并打印ERR_DEPLOY_NODE_VERSION;若高于v20.15.0则打印WARN_NODE_VERSION_EXCEED并继续执行”。AI会据此生成带版本判断的shell逻辑,而非笼统的“检查Node版本”。
方法二:指定文件路径与结构约束
Agents 正在你的整个代码库中处理越来越复杂、运行时间更长的任务。本次版本引入了新的 agent 框架改进,以实现更好的上下文管理,并在编辑器和 CLI 中带来了许多提升使用体验的修复。
写清楚:“脚本需读取./config/deploy.yaml中的targets数组,每个元素必须含host、user、port字段;若缺失port,默认设为22;若host字段值不是prod-01.example.com或staging-02.example.com,则报错ERR_DEPLOY_INVALID_HOST并终止”。
注意:deploy.yaml必须放在./config/下,不能写“配置目录”,也不能接受“config/或configs/”这种歧义路径。
切换主语,让技术实体成为动作发出者
logrotate.conf被加载时,匹配/var/log/myapp/*.log的条目必须启用copytruncate且保留30天归档。
ENVIRONMENT环境变量由CI平台注入,脚本启动时自动加载config/${ENVIRONMENT}.json覆盖默认配置。
你不得在脚本中写入任何硬编码密码,所有密钥必须从$HOME/.secrets/deploy.key读取。
curl调用失败时,错误码7(无法连接)与22(HTTP 4xx)必须分别记录到/tmp/deploy.err和/tmp/deploy.warn。

















