Skip to content

语言策略

Foundry 内置一套默认语言策略:既保持工程产物的一致性,又让产品内容服从产品需求。

三个维度

text
documentation_language = en
engineering_language   = en
product_content_language = <由产品需求推导>
维度管辖范围默认值
文档语言(Documentation)正式产物正文:README、AGENTS、项目文档、Roadmap、ADR、Spec、Baseline/Knowledge Gap 报告、Test Design、Plan、Review、DONE 记录、交付记录en
工程语言(Engineering)新建类/方法/变量/包/模块名、数据库表/列、API 路径/定义、配置键(不含任意值)、环境变量、基础设施名、分支名、提交信息、Issue/PR 标题与描述、代码注释、可执行测试名/描述、面向开发者的日志en
产品内容语言(Product Content)面向用户的文案与本地化值无默认 —— 由产品需求推导

产品内容语言记录为实际 BCP-47 值;相关表面未解决时记 UNKNOWN - <resolution action>;确认范围内无用户可见内容时记 N/A - no product-content surface

产品文案例外

一个面向中文用户的应用,即便工程产物是英文,也依然交付中文界面文案。周围的正式正文仍归文档语言;测试名、断言代码与工程文本仍归工程语言——即使它们引用了精确的产品字符串。

  • 本地化资源/配置值、明确标注的精确产品文案、精确文案断言可以使用产品内容语言。
  • 该例外绝不渗漏到标识符、API、数据库名、配置键、基础设施、注释、测试或日志。

覆盖需权限

对任一维度的覆盖,都必须由有权管理项目语言策略的命名权限明确请求并批准。发起者不自动拥有该权限。每次覆盖记录请求、权限、批准来源、范围与受影响产物,并持久化到 AGENTS.md

各 Skill 如何执行

coding-start 在 Discovery 中记录三个维度,在 Macro Readiness 与 Self Review 中强制执行,并把策略持久化到生成的 AGENTS.md

project-onboard 在写盘前检测每个表面的既有语言,然后:

  • 保留既有标识符与已确立的产品内容。绝不批量翻译注释、文档、标识符或产品内容。
  • 混合语言仓库中,正式产物与工程表面使用英文默认。
  • AGENTS.md 中的非英文文档/工程规则视为 CONFLICT + STOP,直至命名权限解决——除非它已是有效的、被采纳的 scoped 覆盖(则保留)。
  • 若对既有非英文文档的必需更新会造成混排或强制翻译,记 CONFLICT + STOP
  • 把已解决策略持久化到每个作用域唯一的权威 AGENTS.md 位置。

feature-dev 从适用的 AGENTS.md 继承策略,绝不自行选择语言:

  • 维度缺失时,提议 en 默认并 STOP,等待命名 Maintainer 采纳并持久化——不静默兜底。
  • 嵌套 AGENTS.md 中有效的 scoped 覆盖,在其作用域内生效。
  • 策略缺失、冲突或未持久化都是 STOP 条件。

对话语言

与用户的对话可以跟随用户的语言。对话语言绝不覆盖任何产物语言维度。

Released under the MIT License.