Files
2026Technology-Competition/AGENTS.md
T
范智鹏 805737fcfc feat: 设置面板 + Provider 扩展 + 构建脚本
- 设置面板:三步引导 / AI 配置 / API Key / 规则管理 / 连接测试
- Provider 重构:统一 OpenAICompatibleProvider 基类,新增 Gemini/Claude/混元/智谱等
- 审查面板 Webview:三 Tab、统计卡片、问题列表、postMessage 通信
- esbuild 构建脚本 + 生产打包 + PMD 下载
- 保存文件自动静态分析(500ms debounce)
2026-07-16 22:20:30 +08:00

88 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 开发范式:Stage-Driven Agent Development (SDAD)
## 阶段流程(必须严格遵守,不可跳过或合并)
① 用户提出 → ② 需求澄清 → ③ 方案设计 → ④ 人类审批 → ⑤ 编码实现 → ⑥ 审查验证
## 强制规则
- 阶段顺序不可调换,每个阶段完成后才进入下一阶段
- Stage ④ 人类审批是必经门,未通过不得进入编码
- 编码过程中发现方案有遗漏/矛盾,先暂停提问,不自作主张
## 日志规则(自动执行)
每次创建或修改代码文件后,在项目根目录的 `_AI_USAGE_LOG.md` 中追加一条记录,必须包含以下字段:
- **日期时间**:文件修改时间(用 `Get-Item LastWriteTime``Get-Date` 获取),不可乱填或估算
- **范式步骤**:当前已完成的阶段累积链(如 `① 用户提出 → ② 需求澄清`),按实际执行顺序
- **修改摘要**:简要描述改了什么
- **中间产物**:AI 交互过程中被淘汰的草稿或过程稿,包括但不限于:先给了伪代码后改正式实现、输出了多个方案选了其中一个、调试时生成的废弃代码版本、类型试错(如先用 `typeof import()` 后改 `interface`)、先改文件 A 后发现不够又改了文件 B
- **涉及文件**:文件路径列表
- **使用模型**:当前使用的模型名
## 阶段执行指引
- Stage ① @用户提出load skill stage-1-propose
- Stage ② @需求澄清load skill stage-2-clarify
- Stage ③ @方案设计load skill stage-3-design
- Stage ④ @人类审批load skill stage-4-approve
- Stage ⑤ @编码实现load skill stage-5-implement
- Stage ⑥ @审查验证load skill stage-6-verify
---
# 项目:vscode-code-reviewer
VSCode 代码审查与规范检查一体化插件。
## 开发者命令
| 命令 | 说明 |
|------|------|
| `npm run compile` | TypeScript 编译(tsc -p ./ |
| `npm run watch` | tsc watch 模式 |
| `npm run lint` | ESLint 检查 `src/` |
| `npm test` | 编译 → lint → 运行测试 |
| F5 (VSCode) | 启动 Extension Dev Host |
测试运行器:`@vscode/test-cli`,配置在 `.vscode-test.mjs`,测试文件匹配 `out/test/**/*.test.js`
验证顺序:`lint → compile → test`
## 架构
三层架构,见 `docs/superpowers/specs/2026-07-10-code-reviewer-design.md`
```
UI 层 — TreeView 面板 / Inline Diagnostic / Code Action
核心层 — Linter 管理器 + AI 审查引擎(均实现 Analyzer 接口)
基础层 — 配置管理 / 规则管理 / 报告导出
```
所有 linter 和 AI 审查器统一实现 `Analyzer` 接口(定义在 `src/analyzers/analyzer.ts`)。
## 文件结构
```
src/
├── extension.ts # 入口:activate/deactivate
├── activation/ # 注册命令、视图、CodeAction
├── analyzers/ # Analyzer 接口 + 各 linter/AI 实现
├── manager/linterManager.ts # Linter 管理器
├── views/ # TreeView 提供者
├── services/ # AI API、配置服务
├── utils/ # 工具函数
└── types.ts # 公共类型
```
命令 ID 前缀统一为 `codeReviewer.`(如 `codeReviewer.analyzeFile`)。
## 代码规范
- 变量/函数:camelCase,类:PascalCase
- 导入风格:ESMimport/export
- 不加注释
- 异步用 async/await
- ESLint 配置:`eslint.config.mjs`typescript-eslint parser
## 设计文档
设计 spec 存放路径:`docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md`
编码须严格遵循已批准的 spec,不得自作主张。