# M1 基础架构模块 (v0.0.1-0.0.5)

## 模块概述
- **版本范围**: 0.0.1 ~ 0.0.5
- **任务数**: 5
- **目标**: 搭建浏览器扩展插件的基础框架和开发环境

## 关键产出
- 完整的项目目录结构（src/ 及其子目录）
- Manifest V3 配置文件
- Vite + @crxjs 构建工具链
- 模块间通信工具类（messaging.js）
- 支持 HMR 的完整开发流程

## 任务列表

### M1.1 项目初始化 [目标版本: 0.0.1]
**任务**: 创建项目目录结构  
**验收标准**:
- [ ] 存在 `src/` 目录，包含 `background/`, `content/`, `popup/`, `options/`, `shared/` 子目录
- [ ] 存在 `package.json`，已初始化 npm 项目
- [ ] 存在 `.gitignore`，排除 node_modules 和 dist

### M1.2 Manifest V3 配置 [目标版本: 0.0.2]
**任务**: 编写 manifest.json  
**验收标准**:
- [ ] manifest.json 位于项目根目录
- [ ] 声明 `manifest_version: 3`
- [ ] 声明 `action` (popup) 入口
- [ ] 声明 `background` (service_worker) 入口
- [ ] 声明 `content_scripts` 匹配所有 URL (`<all_urls>`)
- [ ] 声明必要权限：`storage`, `contextMenus`, `clipboardWrite`

### M1.3 构建工具配置 [目标版本: 0.0.3]
**任务**: 配置 Vite + @crxjs/vite-plugin  
**验收标准**:
- [ ] 运行 `npm run dev` 能启动开发服务器
- [ ] 运行 `npm run build` 能生成 `dist/` 目录
- [ ] dist 目录包含所有必要文件，可直接加载到 Chrome

### M1.4 模块间通信工具 [目标版本: 0.0.4]
**任务**: 创建通信工具类  
**验收标准**:
- [ ] `src/shared/messaging.js` 存在
- [ ] 封装 `sendToBackground()` 方法，content 可向 background 发消息
- [ ] 封装 `sendToContent()` 方法，background 可向 content 发消息
- [ ] 提供简单的 ping/pong 测试，验证通信链路通畅

### M1.5 开发环境验证 [目标版本: 0.0.5]
**任务**: 验证完整开发流程  
**验收标准**:
- [ ] Chrome 扩展管理页能加载 dist 目录
- [ ] 修改代码后，扩展自动刷新（HMR）
- [ ] Console 无报错，各模块控制台能打印日志

## 依赖
- **前置模块**: 无
- **后置模块**: M2 划词核心模块

## 参考资料
- [AGENTS.md](./AGENTS.md) - 规范文档
- [QUICK_REF.md](./QUICK_REF.md) - 快速参考
