> ## Documentation Index
> Fetch the complete documentation index at: https://forgekit-docs-mintlify-6354fa49.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Core 命令

> 用 init、sync、doctor、catalog、docs 和 update 引导并维护一个 Forge 仓库 —— 还包括 profile、settings 与可逆卸载相关参数。

Core 组用于引导一个仓库并保持其健康。

## `forge init`

搭建该仓库的配置 —— 从一个共享源为每个工具生成配置。

```bash theme={null}
forge init
```

生成 `AGENTS.md`、`CLAUDE.md`、`.gemini/settings.json`、`.aider.conf.yml` 以及其他文件(加上给 Roo Code 与 VS Code 的 MCP 服务器配置),以及账本需要的 `.gitattributes` union-merge 规则。

`forge init` 还会把 Forge 的 hooks 和 permissions 合并进**全局**的 `~/.claude/settings.json`,因此它会在写入前先声明该合并动作。合并过程是幂等的、有标记守护,并且不会覆盖用户自己的条目。

### Init 参数

| 参数                  | 作用                                                                                                                                    |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `--profile <name>`  | 为该仓库选择策略 profile。接受 `minimal` 或 `standard`(默认)。无效值会在任何脚手架、`.forge/` 写入或合并之前中止。                                                        |
| `--no-settings`     | 完全跳过对全局 `~/.claude/settings.json` 的合并 —— 只写仓库级配置。                                                                                     |
| `--remove-settings` | 回滚一次以往的 settings 合并。Forge 形态的 hooks、permissions、statusline 以及 `_forge` 标记会被移除;会先写一份带时间戳的备份,并保留你自己的条目。也会被 `install.sh --uninstall` 调用。 |
| `--settings-only`   | 只合并全局 settings —— 不动仓库。被 `install.sh` 用来接线 hooks 与 permissions。                                                                       |

如果 settings 合并被拒绝或出错,`forge init` 会以 exit 1 失败,并把原因写到 stderr,而不是报告成功。

### 策略 profiles

`--profile` 选择 `forge sync` 编译进每个工具原生配置的规则集。只支持两种 profile:

* **`standard`**(默认)—— 完整包:共享内存规则、影响分析,以及完整的护栏 hook 集。
* **`minimal`** —— 面向小仓库或贡献者分叉的更精简规则集。

历史名称 `web-app`、`backend-service`、`library` 和 `regulated` 是 `standard` 的已弃用别名。它们仍然可用:`forge init` 会警告一次、存为 `standard`,而现存持有历史名称的配置也会按 standard sync。新仓库应直接使用 `standard`。任何其他值都是无效的,并会在 Forge 触碰该仓库之前中止。

```bash theme={null}
forge init --profile minimal            # leaner ruleset
forge init --no-settings                # per-repo only, skip the global merge
forge init --remove-settings            # reverse a past global merge
```

## `forge sync`

把规范源重新编译为每个工具的原生配置文件。

```bash theme={null}
forge sync
```

幂等 —— 只重写发生了变化的内容。修改 `source/rules.json` 或仓库级 `.forge/rules.json` 之后运行它。

## `forge doctor`

对已安装工具、护栏、MCP 认证和配置漂移做健康检查。

```bash theme={null}
forge doctor
```

跨工具、护栏、MCP 接线、配置漂移和更新状态给出通过/失败结果。每条路径都失败开放。当配置了自定义网关时,**gateway models** 一行会打印解析后的 `tier → model` 映射。

## `forge catalog`

Start Here —— 列出每个工具、crew 和护栏,并附一行原因说明。

```bash theme={null}
forge catalog
```

## `forge docs`

文档 ↔ 代码 漂移。

```bash theme={null}
forge docs check     # registry reconcile — commands, env vars, MCP tools, CHANGELOG
forge docs sync      # diff-driven stale-docs sweep
```

<Note>
  当命令、环境变量、MCP 工具或 CHANGELOG 与代码不一致时,`docs check` 会让 CI 失败。`docs sync` 扫描 diff 并报告 UPDATED / STALE / VERIFIED-UNAFFECTED。
</Note>

## `forge update`

跨三种安装模式的自更新。

```bash theme={null}
forge update              # apply the update (git checkout or npm/copy install)
forge update --check      # report whether a newer version is available
forge update --to <version>   # pin or downgrade to a specific version (v0.19+)
```

每条路径都失败开放 —— 离线、没有上游或 detached HEAD 会返回 "unknown",从不作为错误。`FORGE_NO_UPDATE_CHECK=1` 可静默 doctor 的提示。
