# @archigravity/gate 中文文档

规范地址：https://npmcn.com/package/%40archigravity/gate/

版本：1\.9\.0
npm 元数据更新时间：2026-11-03T02:08:06.952Z
中文译文更新时间：2026-11-08T10:47:09.406Z
软件包许可：SEE LICENSE IN LICENSE\.md

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40archigravity/gate
原文对照：https://npmcn.com/package/%40archigravity/gate/?lang=original
项目主页：https://archigravity.com/

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：127 kB，22 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=20
- 运行依赖：0 个
- 首次发布：2026-08-23T16:17:04.542Z
- 最新版本发布：2026-11-03T02:08:06.557Z
- 近 30 天下载量：1797（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：20（近 12 个月 20 个）

## 中文简介

ArchiGravity部署大门——在CI进行建筑检查并进行推. 张贴您宣布的片段, 让服务器计算判断结果; 没有秘密, 自己决定不了 .

## 安装

```sh
npm install @archigravity/gate
```

也可以使用：`pnpm add @archigravity/gate`、`yarn add @archigravity/gate`、`bun add @archigravity/gate`

## README

# @ archigravity/ 关卡

ArchiGravity部署大门,在你的CI.

您的Repo宣布它拥有的那部分系统。 每一次拉动请求,都会发出声明 回答一个问题: **此更改是否断开一些 下游的公关里没人能看见吗?**

它本身没有计算出来。 它发布您的声明, 使判决服务器返回 以代码退出您的分支保护 .

## 用这个

```yaml
# .github/workflows/archigravity-gate.yml — blocks the merge
name: ArchiGravity gate
on: pull_request

permissions:
  contents: read
  pull-requests: write
  issues: write

jobs:
  gate:
    name: Merge gate
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npx --yes @archigravity/gate@<version> check
        env:
          AG_GATE_KEY: ${{ secrets.AG_GATE_CHECK_KEY }}
          AG_SYSTEM_ID: ${{ vars.AG_SYSTEM_ID }}
          AG_FRAGMENT_KEY: ${{ vars.AG_FRAGMENT_KEY }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```

```yaml
# .github/workflows/archigravity-ratify.yml — records what actually landed
name: ArchiGravity ratify
on:
  push:
    branches: [main]

permissions:
  contents: read
  id-token: write

jobs:
  ratify:
    name: Push ratify
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npx --yes @archigravity/gate@<version> ratify
        env:
          AG_GATE_KEY: ${{ secrets.AG_GATE_RATIFY_KEY }}
          AG_SYSTEM_ID: ${{ vars.AG_SYSTEM_ID }}
          AG_FRAGMENT_KEY: ${{ vars.AG_FRAGMENT_KEY }}
```

**两把钥匙,那就重要了.** 薄荷a `gate:check` 用于拉动请求和 a 单独一个 `gate:ratify` 为推力工作。 批准是记录装运货物的电话;a 拉出请求从来不需要它,一个密钥如果从不宽则最容易保持窄.

机密设定为每个STEP,而不是文件的顶部. 工作流程级别 `env` 手握每个秘密 包括: `checkout` 和任何第三方行动 你以后添加。 一样 原因 `permissions` 坐在每份工作上而不是在文件中:拉出请求的工作是唯一的工作 能够写评论的 批准工作是唯一能铸造身份标志的 可以做别人的工作.

这也是为什么 `check` 携带 `if: github.event_name == 'pull_request'`有话要说 在合并之后, 判决评论只存在于拉力请求上 将给予无法使用它们的工作评论权限。 合并是 `ratify`报告.

然后标出 **合并闸门** 作为树枝保护的必要检查。 一个红色的判断现在挡住 合并而不是与之争论.

两个文件而不是一个有两个任务, 目的: 一个文件意味着每个通道都被过滤 gitHub 将过滤任务列表为 **跳过** 所以每个拉动请求都会携带 一个永远跳过检查, 第一件事是,谁被跳过,是否是 糟透了,我还没说完呢 分开,每起火只属于它的地方 没有什么可解释的.

它们不能互换. **合并闸门** 就是那个挡住的. **推动批准** 保留模型 老实说实际部署的是什么 把它放出去 大门慢慢地开始检查 系统已经不复存在.

将准确的版本固定下来——替换 `<version>` 与该页的顶部。 我们宁愿 在你审查过的一条线上升级 而不是有一个新的释放 到达一个不事先通知的工作 钥匙`connect` 财务报告和审定财务报表 `init` 为您写出指针, 总是生成它的版本 。 )

## 设置它

```sh
npx --yes @archigravity/gate connect
```

它要求一个 **设置符牌** ——在你的系统页面上做成的,短暂的,也是你唯一的价值 永远复制。 然后它显示了一个计划,在你的"是": 薄荷两把门钥匙, 把它们直出 通过您自己输入 GitHub `gh` (他们从来没有出现在屏幕上),写工作流程,钩子和 并告诉你还有一件事可以点击。 系统哪个部分的回波 成为已编号的菜单,而不是错误键入的字段.

没有 `gh` 在机器上吗? `connect` 在创建任何东西和要约之前停止 `--print-secrets`, (中文(简体) ), 它印了一次钥匙让你粘贴自己.

其下方的手动路径仍然可用 :

```sh
npx --yes @archigravity/gate init \
  --system-id <your-system-id> \
  --fragment-key <this repo's name in the system>
```

将上方的工作流程,前推钩,并作标记. 它打印出秘密和变量 设定并永远不设定 —— 它没有业务持有您的证书。 随时再运行一次,它 更改任何已经正确的文件, 它不会覆盖您撰写的文件( 它告诉你 ) 以何为补充)。 一旦标记存在,你就可以放下两面旗帜.

两个识别符都来自您的系统页面, 也没有被猜测. 部分名称 (单位:千美元)`--fragment-key`特别是,系统已经知道这个存放处是——而不是—— 文件夹名称, 通常不同 。 错误的人是看不见的,而不是大声的:一切都同意自己和自己 门读这首歌是第二首 未知的.

那么,当事情不起作用时:

```sh
npx --yes @archigravity/gate doctor
```

门外的出站码2包括"没有钥匙","错误钥匙","没有申报","没有窃听"和"我们是" 无法到达". `doctor` 说出什么,永远不打印一个秘密的价值.

## 图标

|  |  |
| --- | --- |
| `check` | 写一篇粘稠的PR评论 |
| `ratify` | 合并到主机后运行:记录实际降落的物体。 配置后, 管道就不会失效 |
| `pre-push` | 新鲜度检查, 用于一个出击前的钩子 |
| `init` | 接通这回波:工作流程、钩子、标记 |
| `doctor` | 检查线路和名称 缺少什么 |
| `login` | 在您的计算机上: 用 GitHub 签名一次 —— 您的推力会被检查为您的 |
| `whoami` | 此计算机的签名人 |
| `logout` | 在此签名并撤销服务器上的密钥 |

`login` 显示要输入的代码 : `github.com/login/device` 并保持您的登录 `~/.config/archigravity/credentials.json`只有你才能读 它保存的是你的私人钥匙 它让你 特工和大门在你的工作空间里为您服务90天——阅读和提议修改。 你看见了,而且可以 取消它,在设置 ~代理访问.

## 配置

在整个环境中——永远不要争论,因为争论出现在 `ps` 输出和 CI 木头.

|  |  |
| --- | --- |
| `AG_GATE_KEY` | 这个重播的门钥匙。 一个秘密 |
| `AG_SYSTEM_ID` | 此 repo 属于哪个系统 |
| `AG_FRAGMENT_KEY` | 该系统的哪一部分 |
| `AG_GATE_URL` | 如果您不在主机上的话 |
| `AG_FRAGMENT_PATH` | 默认为 `.archigravity/fragment.tdl` |

## 退出代码

它们对于分支保护的意义不同,因此它们从未被合并.

|  |  |
| --- | --- |
| `0` | 变化是明确的 |
| `1` | **红色** ——这个变化打破了下游的东西. 公关评论说: |
| `2` | 无法运行闸门: 密钥、 配置或服务无法到达 |

A 类 `2` 是我们的问题 而不是对你建筑的判断 它阻止合并,因为 当波浪无法检查时会改变的门不是门.

## 留下什么给你的回扣

没有分析运行在这里, 没有遥测,自动更新或运行时间 依赖船与之.

**`check` 财务报告和审定财务报表 `ratify` 发送主机门一件事: 这repo的部分** - 声明你 写作并可以在自己的repo中读取。 你的消息来源从不读取,从不被他们上传.

如果你在JS的回放中安装这个包 已经装了电线 它会为你播下预推钩. 它只是在那里:不是在CI里,不是在没有标记的回放里, 从来没有过一个你写的钩子. 设定 `AG_GATE_SKIP_POSTINSTALL=1` 把它完全关掉.

**可选 `pre-push` 钩子不同,安装前值得阅读.** 当一推 打开密码,它会把版本的食谱交给已经打开的CLI代理商 您的机器( e)`claude` 或者说 `codex`),而代理读取你的本地diff, 对于任何 其他任务你给它。 那是你的经纪人 在你的机器上 根据你现有的信任决定 这里没有寄出去的 如果您不想要, 请不要安装钩子 : `check` 这是 权力和它是完整的没有它.

**签字人:`login`),钩子还检查了您在每次被逼犯时的角色** 并发送这个repo的部分—— 声明在 `.archigravity/fragment.tdl` 在那个承诺中,永远不要你的消息来源——所以拉出请求可以说"检查 当地由你。" 它从不停止一推:签出,下线或其他什么,它印出一行并进行推.

## 所需资源

节点20+,没有别的. `check` 财务报告和审定财务报表 `ratify` 他们叫门,使门 裁决并设定出局代码,在跑者身上没有外壳和其他工具.

唯一的例外是可选的预推钩,它是一个贝壳脚本——它读取了你的git 历史和把 diff 交给当地特工,所以它想要 `bash` 在你的机器上。 这是可选的 设计 : `check` 它是权威的,它是完整的没有它.

## 常见问题

### @archigravity/gate 是什么？

ArchiGravity部署大门——在CI进行建筑检查并进行推\. 张贴您宣布的片段, 让服务器计算判断结果; 没有秘密, 自己决定不了 \.

### 如何安装 @archigravity/gate？

在项目目录运行 npm install @archigravity/gate，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 archigravity，可以用 npx archigravity 直接运行。

### @archigravity/gate 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/archigravity\_\_gate 是否存在。

### @archigravity/gate 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @archigravity/gate 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=20。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @archigravity/gate 可以商用吗？

@archigravity/gate 使用 SEE LICENSE IN LICENSE\.md 许可。许可条款写在包内的独立文件中，请阅读该文件确认可否商用。以上为概括，不构成法律意见，请以许可原文为准。

### @archigravity/gate 的下载量有多少？

根据 npm 官方下载统计，@archigravity/gate 在 2026/10/07 – 2026/11/05 这 30 天内被下载 1,797 次，日均约 60 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @archigravity/gate 还在维护吗？

最新版本 1\.9\.0 发布于 2026/11/03（5 天前）；至今共发布 20 个版本，其中过去 12 个月发布了 20 个；首次发布于 2026/08/24。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

