feat(config): document # @required for host config management (v1.0.115)
All checks were successful
技能自动化发布 / release (push) Successful in 6s

This commit is contained in:
2026-09-25 21:51:05 +08:00
parent e32d04ec50
commit dfe6ade2d8
8 changed files with 98 additions and 2 deletions

View File

@@ -26,6 +26,45 @@
**不要**依赖 `# ── 分组 ──` 装饰线给整组做唯一说明:宿主只会把行头挂到**紧挨着的下一个活跃 key**,后面的 key 不会自动继承。分组可用空行区分;**逐 key 自带行头(+ 行尾)才是硬要求**。
### 必填项:`# @required`(匠厂配置管理)
匠厂宿主「数据管理 → 配置管理」支持把部分配置项标为**必填**:模板在**行头注释上方**加独立一行 `# @required`,宿主会在 key 前显示红色 `*`,并在键值模式保存时拦截空值。
| 规则 | 说明 |
|------|------|
| **写法** | `# @required` 单独占一行,紧挨在该 key 的**中文行头**上方 |
| **语义** | 保存时该 key 的值不得为空(trim 后);模板里可以有默认值 |
| **展示** | `@required` 行本身**不展示**给用户,只用于打标 |
| **声明位置** | 只在仓库 `.env.example` 声明;用户数据目录 `.env` 里的 `@required` 不算 |
正例:
```ini
# @required
# 目标网站地址:技能要访问的网站或服务地址
TARGET_BASE_URL=https://sandbox.jc2009.com # 填写完整网址(含 https://);换环境时再改
# 默认登录账号:仅填写非敏感的账号标识(如工号/登录名)
DEFAULT_LOGIN_ID= # 留空=按平台自动选用;本项未标 @required,宿主不强制
```
反例(禁止):
```ini
# 目标网站地址(必填)
TARGET_BASE_URL= # @required ← 禁止写在行尾
# @required
TARGET_BASE_URL= # ← 禁止:@required 下方缺少中文行头
# @required
# 共用说明
KEY_A=
KEY_B= # ← 禁止:一个 @required 给多个 key 共用
```
**机器门禁**:`POLICY-CONFIG-005` 校验 `@required` 用法;与 `POLICY-CONFIG-004`(行头/行尾中文)一并生效。
### 必须做到
1. 每个会进入配置管理的活跃 `KEY=` 都有完整中文**行头**。