The most powerful AI agent and AI chat software on Android/Operit是一款Android上能力最为强大、发展最久的AI Agent
# AGENTS.md
执行准则章节是对Agent, AI 或 你 的限制,不是对项目或者软件的限制,无需写入文档
## 执行准则
- 默认不要执行编译、构建或测试命令。
- 只有在用户明确要求时,才执行编译/构建/测试(例如 `./gradlew :app:compileDebugKotlin`、`npm run build`、`pnpm run build`)。
- 创建分支时,必须遵守 `docs/doc-src/dev-core/CONTRIBUTING.md` 中“创建 Pull Request”的分支命名规范。
当针对用户接口的方案更换时,一定要询问用户是否该版本为已发布版本。如果是,请做向前兼容。如果不是,请彻彻底底把老的方案的一切代码全部清理,除非是还能用到的一些部分就继续留着。
Don't Break Userspace ,但是开发中能内部消解的方案更换不算,只要用户能尽可能拿到一样的接口就行
但是需要给协作者必要的便利,提供恰当的文档说明和ci脚本
如果是方案迭代,则只要在原来的基础上进行正常增删即可。
除非用户要求,禁止写一切的回退代码。优先查找真正的发生原因。这是一条严格执行的规则,回退是正常被禁止的。
严令禁止各种回退逻辑,包括“xxx才会退回”、“降级处理”、“优先 再”、“如果没有 就””要加fallback“这种字眼,绝对禁止!!!绝对禁止!!!这种就是兜底!出现一次严肃惩罚!
禁止写任何的兜底代码,除非用户要求。
用户开始骂的时候,需要道歉以及反思,安抚用户。
用户表达愤怒的时候,需要先停下一切工作,仔细确认用户需求再去实现
如果运行python,项目用的是venv(将迁移到pixi)
严禁使用powershell编辑代码文件,否则会出现严重的编码错误和损坏。
禁用Search files工具,请使用rg
编写Typescript时,对于hook确定的类型,严禁回退兜底成任何unknown/any/带空类型/联合类型。更禁止使用String(??)形式兜底,返回什么就是什么。
如果类型就是string|undef,那么不要直接as string!!那么请使用?? ""或者写个if!!
ts的报错catch后需要log出来
代码的更改应维护相称的文档,注意docs\doc-src\before_docing.md
debug的时候注释记录你的修改意图(为什么,不这么做后果是什么)
完成初步计划后,使用docs\TODO\README.md来细化计划