用途:这是 PostHog 中 conversations 产品专属的代码文件布局技能,用于规定 products/conversations/ 目录下文件应放在哪里。当你在该目录下创建、移动或重命名文件,为 conversations 前端添加 React 组件、辅助函数或测试,或审查新增文件的 conversations 变更时使用。仓库级的 UI 规则仍然适用,例如 writing-ui-components 要求一个文件一个组件、不使用 barrel 文件、以及 import 清理,本技能只负责 conversations 内部的文件位置。
主要规则:每个 React 组件都放在 products/conversations/frontend/components/ 下自己的文件夹中,文件以导出的名称命名,例如 products/conversations/frontend/components/<Name>/<Name>.tsx,测试文件同目录放置为 <Name>.test.tsx。导入时要导入文件而非文件夹,如 import { SlaDisplay } from '../../components/SlaDisplay/SlaDisplay' 或使用 products/conversations/frontend/components/SlaDisplay/SlaDisplay 路径。不要把组件作为散落文件直接放在 frontend/components/ 下,不要放在产品前端根目录 products/conversations/frontend/,也不要添加 index.ts barrel 让调用方导入文件夹。返回 props 或数据而非标记的辅助函数不算组件,应放在功能旁边或 products/conversations/frontend/<name>.ts(x) 位置。移动组件时使用 git mv,把每个使用方指向新路径并删除旧文件,不应保留 re-export 兼容垫片。资料未提供更多限制与例外说明。