展开本页目录
开始前准备什么
- Gemini CLI Node >=20;项目运行时另按锁文件及 engines 指定,不擅自升级。
- 只使用虚构 .env.example,不上传真实密钥;环境变量是否必填要依据源码核实。
- 不会把模型声称启动成功当证据;只有实际执行过的步骤标为已验证。
- 先列真实仓库入口与错误文档
- 用 Gemini 原生文件工具定位来源
- 逐项判断命令和环境变量必填性
- 先产出 command-source-map 再写说明
- 把新手操作写成可连续执行的步骤
- 从干净目录实际启动并读回 JSON
- 核对文档没有隐含账号或后端
原创输入、提示词、原生配置、参考源码、实际结果和验收说明;不含模型账号或运行缓存。
按独立目录运行,原生代理会话需由自己另行执行。
1. 先列真实仓库入口与错误文档
README.before.md 故意写了不存在的 npm run dev、Node 18 与数据库密钥。先读 package.json:本题真实入口是 npm start,要求 Node >=24,且没有依赖安装步骤。
2. 用 Gemini 原生文件工具定位来源
在项目中让 Gemini CLI 先 glob 找 package.json/server.mjs/env-example.txt,再用 read_file 阅读内容,用 grep_search 查 process.env。这里只用真实 Gemini 工具名;不要把其他代理的 Read/Glob/Grep 当本产品调用名。
3. 逐项判断命令和环境变量必填性
server.mjs 给 PORT/GREETING 默认值,但 package.json 的 --env-file=.env 要求 .env 文件存在。写明“变量有默认值”和“启动需要文件”是两个不同条件,删除源码根本不读取的 API_SECRET/DATABASE_URL。
4. 先产出 command-source-map 再写说明
要求每个安装、复制、启动、检查命令都有 file/field 或行号依据。command-source-map.json 是人工参考;实际模型版本另存。缺少来源的命令先标待查,不靠惯用 Next.js 命令补齐。
5. 把新手操作写成可连续执行的步骤
新 README 应给 Node 版本、复制 env-example.txt 到 .env、npm start、localhost 地址、Ctrl+C 和端口冲突处理。公开包用文本模板,真实 .env 仅在读者自己的练习目录生成,不分发秘密。
本地练习命令
cp env-example.txt .env
npm run check
npm start6. 从干净目录实际启动并读回 JSON
复制到新的临时目录后 npm run check,再生成练习 .env,用临时端口 npm start,HTTP 读回 greeting/path/ok 后停止进程。包内 clean-start.json 是本站 Node 服务的真实结果,不是 Gemini 工具会话。
7. 核对文档没有隐含账号或后端
逐条回读 README.fixed.md 和 source-map,确认无数据库、云 key 或虚构脚本。README.md 同时保留本题原生操作与参考范围;新用户应能只按固定说明启动这个小服务。
怎样确认已经完成
- 干净目录 Node 服务启动及 HTTP 回读应能按 README 在独立目录重现。
- 目标代理真实结果须另存;人工参考、原生会话和官方示例分别识别。
常见问题
仓库能跑但 README 过时,怎么让 AI 按源码重写?
server.mjs 给 PORT/GREETING 默认值,但 package.json 的 --env-file=.env 要求 .env 文件存在。写明“变量有默认值”和“启动需要文件”是两个不同条件,删除源码根本不读取的 API_SECRET/DATABASE_URL。
AI 写启动教程怎么避免编造命令和环境变量?
复制到新的临时目录后 npm run check,再生成练习 .env,用临时端口 npm start,HTTP 读回 greeting/path/ok 后停止进程。包内 clean-start.json 是本站 Node 服务的真实结果,不是 Gemini 工具会话。
本题哪些结果已经实际运行?
已运行的是干净目录 Node 服务启动及 HTTP 回读。原生功能操作按官方文档编排,目标代理未调用;英文检索可用“Gemini CLI source grounded README env example clean startup”定位对应术语,但这不是搜索量或热榜声明。




