# 贡献指南

感谢你考虑为 CollabDocChat 做出贡献！

## 如何贡献

### 报告 Bug

如果你发现了 bug，请创建一个 issue 并包含以下信息：

- Bug 的详细描述
- 复现步骤
- 预期行为
- 实际行为
- 截图（如果适用）
- 环境信息（操作系统、Node.js 版本等）

### 提出新功能

如果你有新功能的想法：

1. 先检查 issues 中是否已有类似建议
2. 创建一个新的 issue，标记为 "enhancement"
3. 详细描述功能需求和使用场景
4. 等待社区讨论和反馈

### 提交代码

1. **Fork 项目**
   ```bash
   git clone https://github.com/yourusername/collabdocchat.git
   cd collabdocchat
   ```

2. **创建分支**
   ```bash
   git checkout -b feature/your-feature-name
   ```

3. **编写代码**
   - 遵循项目的代码风格
   - 添加必要的注释
   - 确保代码可以正常运行

4. **测试**
   ```bash
   npm run dev
   # 测试你的更改
   ```

5. **提交更改**
   ```bash
   git add .
   git commit -m "feat: 添加某某功能"
   ```

   提交信息格式：
   - `feat:` 新功能
   - `fix:` 修复 bug
   - `docs:` 文档更新
   - `style:` 代码格式调整
   - `refactor:` 代码重构
   - `test:` 测试相关
   - `chore:` 构建/工具相关

6. **推送到 GitHub**
   ```bash
   git push origin feature/your-feature-name
   ```

7. **创建 Pull Request**
   - 在 GitHub 上创建 PR
   - 详细描述你的更改
   - 关联相关的 issue

## 代码规范

### JavaScript 风格

- 使用 ES6+ 语法
- 使用 2 空格缩进
- 使用单引号
- 函数和变量使用驼峰命名
- 常量使用大写下划线命名

### 文件组织

- 每个文件只导出一个主要功能
- 相关功能放在同一目录
- 使用清晰的文件命名

### 注释

- 为复杂逻辑添加注释
- 使用 JSDoc 格式注释函数
- 保持注释简洁明了

## 开发流程

1. 在本地开发和测试
2. 确保代码符合规范
3. 提交 PR 前先 pull 最新代码
4. 等待代码审查
5. 根据反馈修改代码
6. 合并到主分支

## 社区准则

- 尊重所有贡献者
- 保持友好和专业
- 接受建设性批评
- 帮助新手贡献者

## 问题？

如有任何问题，请：
- 查看 [README.md](README.md)
- 搜索现有 issues
- 创建新的 issue
- 发送邮件至 your.email@example.com

再次感谢你的贡献！🎉


