Files
ken.li e798751e4b docs(nacos-config): 添加 nacos_config 目录分析与修改指南
新增 g3fo-nacos-config 目录下的 SKILL.md 文档,详细说明 nacos_config 目录的结构、用户交互流程及配置文件的添加与修改规则。新增 yml-placement.md 文件,提供常见顶级键的插入顺序,以保持配置文件风格一致。
2026-02-09 17:25:13 +08:00

4.1 KiB
Raw Permalink Blame History

name, description
name description
g3fo-nacos-config 分析并修改 g3fo-db/当前工作区下 nacos_config 目录中的配置。若当前项目没有 nacos_config 则提示用户打开 g3fo-db 或提供 g3fo-db 路径。支持添加、修改 yml 配置及添加配置注释;需引导用户确认「场」与「单个配置文件」;当添加/修改位置不确定时必须先与用户确认再执行;在合适位置、正确缩进下编辑。

nacos_config 分析与修改

目录结构

  • 根路径:当前工作区根目录下的 nacos_config;若不存在则要求用户打开 g3fo-db 或提供 g3fo-db 的明确路径。
  • 场(site):nacos_config/{site_name}/,每个子目录为一个场(如 afe_ap、dev_200、uat_226、vn-demo 等)。场列表通过列出 nacos_config 子目录动态得到,不写死。
  • 配置文件:每场下多为 yml,常见有 common.yml、dubbo.yml、mysql.yml、redis.yml、rocketmq.yml 以及各服务 g3fo-*-dev.yml 等。

用户交互流程(必须按顺序执行)

0. 确认 nacos_config 所在位置

  • 先检查当前工作区根目录下是否存在 nacos_config。
  • 若不存在:提示「当前项目下未找到 nacos_config 目录」,引导用户二选一:
    • 请先打开 g3fo-db 项目再操作,或
    • 提供 g3fo-db 项目的明确路径(后续操作基于该路径下的 nacos_config)。
  • 在用户完成其一之前不执行任何配置编辑。
  • 若存在或用户已提供路径,继续下一步。

1. 确定要修改的场

  • 若用户未明确要改哪个场:反问用户,并列出(当前工作区或用户提供的 g3fo-db 路径下的)nacos_config 下所有子目录(即所有场),引导用户选择一个或多个场,或选择「全部场」。
  • 若用户已明确指定场,则直接使用。

2. 确定要修改的配置文件

  • 若用户未指定配置文件,或指定了多个:引导用户确认仅一个配置文件(如 common.yml、dubbo.yml 等)。
  • 若用户已明确指定一个配置文件,则直接使用。

3. 确定添加/修改位置(必须遵守)

  • 当不确定要把新配置加在哪个位置、或要改哪一处时:必须先与用户确认(列出可选位置或给出建议,等用户选定),再执行编辑;不得在位置模糊时自行猜测并修改。

4. 执行修改

在选定的每个「场」下,对选定的配置文件进行编辑:

  • 添加:根据要添加的 key 路径(如 dubbo.application.metadata-service-port)在文件中找合适位置——若已有同名顶级块(如 dubbo)则合并到该块下并保持 2 空格缩进;若无则新增顶级块,放在与现有顶级键风格一致的位置。位置不明确时先与用户确认再执行。
  • 修改:若 key 已存在,则只改值并保持原有缩进与注释风格;若存在多处或歧义,先与用户确认再执行。
  • 添加配置的注释:在指定 key 上方或行尾添加注释,风格与文件内现有注释一致;位置不明确时先与用户确认再执行。

YAML 规则:一律 2 空格缩进;新加块与现有同级键对齐;不破坏现有注释与键顺序。若文件中已有 dubbo 块,新 dubbo 相关项应合并到该块下,避免重复顶级 dubbo。插入新顶级块时的常见顺序可参考 references/yml-placement.md。

示例

在 common.yml 中添加 dubbo 配置

若 common.yml 中尚无顶级 dubbo,可新增顶级块(与 server、spring 等同级),例如:

dubbo:
  application:
    metadata-service-port: 28101

若 common.yml 或目标文件中已有 dubbo: 块,则将 metadata-service-port 合并到 dubbo.application 下,保持 2 空格缩进,不新增重复的 dubbo: 顶级键。

约定摘要

  • 路径:优先用当前工作区的 nacos_config;没有则要求用户打开 g3fo-db 或提供 g3fo-db 路径。
  • 确认优先:添加/修改/注释的目标位置一旦不确定,必须先与用户确认再执行,不得自行猜测。