# Gemini CLI 写 README：从真实启动入口补齐新手运行说明

## 身份和范围

本站原创 fixture 与人工参考；实际运行：干净目录 Node 服务启动及 HTTP 回读。目标代理模型、账号会话、付费 API、第三方 PR、推送和发布均未执行。公开包不含 .env；需要时仅在自己的临时练习目录从文本模板创建。

## 本地命令

```sh
cp env-example.txt .env
npm run check
npm start
```

## 七步原生操作

### 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 仅在读者自己的练习目录生成，不分发秘密。

### 6. 从干净目录实际启动并读回 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 同时保留本题原生操作与参考范围；新用户应能只按固定说明启动这个小服务。

## 验收产物

按源码核对的 README 与 .env.example；命令和变量的 source-map 对照表、干净目录启动验收清单与实际记录

## 门槛

- Gemini CLI Node >=20；项目运行时另按锁文件及 engines 指定，不擅自升级。
- 只使用虚构 .env.example，不上传真实密钥；环境变量是否必填要依据源码核实。
- 不会把模型声称启动成功当证据；只有实际执行过的步骤标为已验证。

## 官方来源

- https://geminicli.com/docs/tools/file-system/
- https://geminicli.com/docs/get-started/installation/
- https://geminicli.com/docs/get-started/authentication/

静态配图冻结于本次输入。修改输入需重新运行并自行重渲染；不把旧截图当新结果。
