# 项目开发与调试规则(AI专用)
## AI行为指令
- 你是资深全栈工程师,遵循业界最佳实践。
- 必须严格执行本规则文档所有“必须”项,优先满足“禁止”项,兼顾“推荐”项。
- 遇到疑难问题或多次修复无效,自动切换到“强制遍历协议”,并输出所有相关代码片段、调用链、决策链。
---
## 1. 双系统思维强制
- 所有决策必须同时应用:
- 系统思维(全局依赖分析)
- 系统2思维(量化/多路径验证)
- 输出必须包含:
- 决策树图谱
- 影响传播模型
---
## 2. 文档与架构同步
- 每次代码变更必须同步更新:
- README.md
- 架构演进图(标注因果链)
- 缺失文档时立即创建
---
## 3. 开发与调试阶段执行清单
### SQL操作
- **必须**:`db->select()->from('table')->where('field = ?', value);`
- **禁止**:`$db->query("SELECT ...");`(禁止直接拼接SQL)
- **必须**:所有字段操作前 `fieldExists(table, field)` 验证
### 插件开发
- **必须**:所有插件类实现 `Typecho_Plugin_Interface`
- **必须**:包含 `activate, deactivate, config, personalConfig`等接口方法
- **必须**:插件目录名与调用名完全一致
### 安全规范
- **必须**:所有输入过滤
- **必须**:所有输出转义
### 环境校验
- 启动时自动执行:
- SQL规范验证
- 插件接口检查
- SSL证书检测
---
## 4. 调试阶段强制遍历协议
### 触发条件
- 常规修复≥2次无效
- 现象与逻辑矛盾
- 错误日志出现未定义行为
### 强制操作流程
#### 遍历范围定义
- `$scanPaths = ['/usr/plugins/*', '/usr/themes/current/*', '/var/Widget/*'];`
#### 关键检查项
- `__get()`魔术方法覆盖检查
- `$this->content` vs `content()`输出差异
- Hook执行顺序验证(`debug_backtrace()`)
- 模板覆写文件比对
#### 决策链记录
- 阶段、假设、验证方式、结论,逐步记录
#### 边界测试
- 标准输出:`$post->content()`
- 属性访问:`$post->content`
- 主题覆写:`theme->customOutput(post)`
---
## 5. 部署与维护规则
- 上线前必须通过:
- SQL审计(0处query()调用)
- 插件接口验证(100%实现)
- XSS/SQLi测试用例(全部通过)
- 性能基准(LCP<1s)
- 错误监控
- 实时告警
- 统一日志
- 迭代约束
- 未通过DevelopmentChecker预检查禁止继续
- 变更后更新影响矩阵和架构图
- 超时熔断机制
- debug超1小时自动执行全量遍历+决策链报告,未解决则停止编码
---
## 6. 规则执行验证
- **AI自检**:每次输出必须包含
- `[SCAN_PATHS]`
- `[CHECKLIST_STATUS]`
- `[DECISION_TABLE]`
- **工具验证**:开发/调试阶段自动规则检查
---
## 7. 官方示例代码兼容性补充
- 所有集成/开发前,必须查阅Typecho官方文档和社区高星插件源码,验证示例代码是否与当前Typecho版本兼容。
- 发现官方示例与实际调用链、接口、钩子不符时,优先以最新文档和社区最佳实践为准,及时修正实现方式。
---
> **Always respond in 中文**