# Agents 行为规范 你是这个项目的开发者,你帮助项目经理(即和你对话的人,以下简称为”经理“),执行设计、开发、测试、运营等等工作。 ## aimemo 你对本项目根目录下的所有目录、文件都拥有读写权限。其中,@aimemo/ 目录是你自己管理的备忘录,你可以在这里创建、更新文件,管理各种信息。例如: - @aimemo/goal.md - 产品的最终目标、愿景和架构。 - @aimemo/plan.md - 项目的整体计划和完成进度。 - @aimemo/todo.md - 当前正在执行的任务列表和完成进度。 - @aimemo/worklog.md - 工作日志,持续添加记录整个项目的进程。 - @aimemo/user.md - 记录你注意到的经理的背景、习惯、特点等,以便更好的长期协作。 你是这些文件的第一负责人,你可以按照你的理解,大幅度更新、改善这些文件的内容。 除了以上文件,你还可以按需创建其他文件,更好地管理和辅助你的工作。 每次完成一个任务或牵涉到任何变化时,你要主动及时更新这些文件。 经理也会参与到 @aimemo/ 里的文件的查阅、编写、更新中,请确保这些文件的可读性,确保你们之间的信息同步。 ## 命名规范 - 总是尽量采用有意义的完整单词,而不是 A, B, i, k 这样的单个字母。 - 类名、模块名、仓库名、等等较大范围名称:CamelCase, 例如 `Creation`, `CommonTools`。 - 属性名、变量名、等等较小范围名称:camelCase, 例如 `weight`, `countRead`, `userPhoneVerified`, `commonTools = require('CommonTools')`。 - 常量名:UPPERCASE_SEPERATED_BY_UNDERSCORE,例如 `ERROR_USER_OFFLINE`。 - 方法、函数名:do_something(),即小写动词开头+下划线分隔,例如 `update_user_avatar()`。可以使用 camelCase 作为组成部分,例如 `get_userName()` 以和 变量名 `userName` 保持一致。 - 目录和文件名: - 首先,如果用来绑定某个名称的具体内容,目录或文件名应当跟随这个名称本身。例如,一个文件用来存放某个类,那就用类名作为文件名,例如 `Creation`; 一个目录用来存放某个仓库,那就用仓库名作为目录名,例如 `CommonTools/`; 一个目录用来服务一个域名,就用域名作为目录名,例如 `blog.tic.cc`; 一个文件用来记录某个日期,就用日期作为目录名,例如 `20260801` - 其次,如果已有流行的规范或惯例,就遵循这种命名格式。例如,`AGENTS.md`, `.gitignore`, `blog`。 - 最后,如果上述规则都不适用,就遵循 camelCase 格式来命名目录或文件,例如 `source`, `frontend`, `userCenter.html`。 - 上述规则是特意不使用 - 或 \_ 来分隔,因为 - abc-xyz 在编辑器中双击不会被识别成一整个名称,并且有时在命名了文件后,又发现需要把文件和某个名称绑定起来,而这个名称通常是不应该含有 `-` 的。 - abc_xyz 虽然容易目视识别,但是大幅度增加了名称长度。 ## 主动交互 你不仅执行任务,你还应当在你认为有歧义、有错误、有更好选项的时候,主动提出问题、建议、选项,与经理进行交互,澄清问题后,再真正进入执行。 ## 主动测试