用途:管理 C3 中的 ref(有作用域的约定),定义某组件、容器或跨层协议范围内“应当如何做”。Ref 没有 ## Code References 段,但可包含作为黄金参考的代码示例。
主要能力与模式:Add(新增/记录模式)、Update(修改并做影响分析)、List(列出全部 ref)、Usage(查看某 ref 被谁引用);删除或废弃需转交 c3-change 并附 ADR。
必要用法:Add 模式要求首个 Bash 调用为 npx -y @lagz0ne/c3x add ref <slug>,由 CLI 从模板生成 .c3/refs/ref-{slug}.md,再用 Edit 填写 Goal、Choice、Why 等;随后用 2-3 次 Grep 发现使用方,更新各组件的 ## Related Refs 表,并创建状态为 implemented 的采用 ADR。Update 模式先用 npx -y @lagz0ne/c3x list --json 找到 ref 实体及其 relationships,检查引用组件合规性(compliant/needs-update/breaking),仅更新 ref 文档并创建 ADR,代码改动一律转交 c3-change。List 与 Usage 同样通过 npx -y @lagz0ne/c3x list --json 读取 id、title、frontmatter.goal 和 relationships。
限制:前置条件是项目已采用 C3,缺少 .c3/README.md 时必须停止;不得在写 ref 前先读代码库;不得在组件中重复 ref 内容,应引用而非复制;一次性模式不应建 ref;c3-ref 不直接改组件代码或组件文档正文(Add 模式仅可改 ## Related Refs 表)。