# v2.0.0 重大更新 - 通用多框架支持

## 🎉 主要变更

### 从单一框架到通用工具

**v1.x**：仅支持 Next.js  
**v2.0**：支持多个前端框架，可在同一项目中共存

---

## ✨ 新增功能

### 1. 多框架支持

现在支持以下框架的官方文档：

- ✅ Next.js
- ✅ React
- ✅ Vue
- ✅ Nuxt
- ✅ Vite

### 2. 框架索引共存

多个框架的文档索引可以共存在同一个 MD 文件中：

```markdown
<!-- NEXT-AGENTS-MD-START -->...<!-- NEXT-AGENTS-MD-END -->
<!-- REACT-AGENTS-MD-START -->...<!-- REACT-AGENTS-MD-END -->
<!-- VUE-AGENTS-MD-START -->...<!-- VUE-AGENTS-MD-END -->
```

每个框架使用独立的标记，互不干扰。

### 3. 新的 CLI 参数

```bash
# 指定框架
--framework <name>      # nextjs, react, vue, nuxt, vite

# 安装所有检测到的框架
--all

# 列出支持的框架
--list
```

### 4. 自动检测多框架

工具会自动检测项目中使用的所有支持的框架，并提供交互式选择。

### 5. Monorepo 增强支持

自动扫描 workspace 中的所有包，找到使用框架的版本。

---

## 🏗️ 架构改进

### 新的模块结构

```
src/
├── frameworks/              # 框架配置系统（新增）
│   ├── types.ts            # 类型定义
│   ├── configs.ts          # 框架配置
│   └── index.ts
├── version/
│   ├── package.ts          # 通用包版本检测器（新增）
│   ├── nextjs.ts           # 保留向后兼容
│   └── release.ts
├── generator/
│   ├── multi-framework.ts  # 多框架索引生成器（新增）
│   ├── universal-pull.ts   # 通用文档拉取（新增）
│   ├── git.ts              # 重构为支持自定义仓库
│   ├── claude-md.ts        # 保留原有功能
│   └── pull.ts
├── commands/
│   ├── universal.ts        # 通用命令处理器（新增）
│   └── experimental-claude-md.ts
├── cli-universal.ts        # 新的通用 CLI（新增）
└── cli.ts                  # 保留并增强向后兼容
```

### 插件化设计

添加新框架只需在 `frameworks/configs.ts` 中添加配置：

```typescript
{
  id: "framework-id",
  name: "Framework Name",
  packageName: "npm-package-name",
  githubRepo: "https://github.com/org/repo.git",
  docsPath: "docs",
  outputDir: ".framework-docs",
  versionToTag: (v) => `v${v}`,
  markerPrefix: "FRAMEWORK"
}
```

---

## 🔄 向后兼容

### v1.x 命令仍然有效

```bash
# 这些命令仍然工作，行为与 v1.x 相同
npx @gorden301jiawei/framework-ai-doc
npx @gorden301jiawei/framework-ai-doc --version 15.1.3
npx @gorden301jiawei/framework-ai-doc --md CLAUDE.md
```

### 自动切换

CLI 会自动检测参数：
- 使用 `--framework`、`--list` 或 `--all` → 新的通用 CLI
- 否则 → 保持原有的 Next.js 专用行为

---

## 📦 使用示例

### 基础用法

```bash
# 自动检测并交互式安装
npx @gorden301jiawei/framework-ai-doc

# 指定框架
npx @gorden301jiawei/framework-ai-doc --framework react

# 安装所有检测到的框架
npx @gorden301jiawei/framework-ai-doc --all

# 列出支持的框架
npx @gorden301jiawei/framework-ai-doc --list
```

### 高级用法

```bash
# 指定版本
npx @gorden301jiawei/framework-ai-doc --framework vue --version 3.4.0

# 指定输出文件
npx @gorden301jiawei/framework-ai-doc --framework nextjs --md AGENTS.md

# 组合使用
npx @gorden301jiawei/framework-ai-doc --framework nuxt --version 3.11.0 --md AGENTS.md
```

---

## 🎯 使用场景

### 场景 1：React + Vite 项目

```bash
npx @gorden301jiawei/framework-ai-doc --all
```

生成：
- `.react-docs/` - React 文档
- `.vite-docs/` - Vite 文档
- `CLAUDE.md` - 包含两个框架的索引

### 场景 2：Nuxt 项目（Vue + Nuxt）

```bash
npx @gorden301jiawei/framework-ai-doc --all
```

同时安装 Vue 和 Nuxt 的文档。

### 场景 3：更新单个框架

```bash
# 升级 Next.js 后
npx @gorden301jiawei/framework-ai-doc --framework nextjs
```

只更新 Next.js 索引，其他框架保持不变。

---

## ⚡ 性能优化

- 使用 Git sparse-checkout 只下载文档目录
- 避免 GitHub API 速率限制
- 支持增量更新（只更新指定框架）

---

## 📝 文档更新

- ✅ 更新 README.md - 完整的多框架使用指南
- ✅ 新增 EXAMPLES.md - 10+ 个实际使用场景
- ✅ 新增 CHANGELOG-V2.md - 详细的变更说明

---

## 🔮 未来计划

### 计划支持的框架

- Angular
- Svelte
- SvelteKit
- Solid.js
- Astro
- Remix
- Qwik

### 功能增强

- 支持自定义框架配置文件
- 支持本地文档目录
- 文档搜索和预览功能
- VS Code 扩展

---

## 🐛 已知问题

无

---

## 📄 迁移指南

### 从 v1.x 迁移到 v2.0

**好消息**：无需任何操作！v2.0 完全向后兼容。

如果你想使用新功能：

1. **添加其他框架的文档**：
   ```bash
   npx @gorden301jiawei/framework-ai-doc --framework react
   ```

2. **切换到新的通用模式**：
   ```bash
   npx @gorden301jiawei/framework-ai-doc --all
   ```

3. **现有的索引不受影响**：
   - 原有的 `<!-- NEXT-AGENTS-MD-START -->` 标记继续工作
   - 新框架使用独立的标记
   - 可以随时添加或删除框架文档

---

## 🙏 致谢

感谢所有使用和反馈的开发者！

如果你有任何问题或建议，欢迎提交 Issue。

