# 贡献指南

感谢你对 Claude Code SEO Assistant 的关注！我们欢迎各种形式的贡献。

---

## 🤝 如何贡献

### 贡献方式

1. **报告 Bug** - 发现问题请提交 Issue
2. **提出建议** - 有新功能想法请告诉我们
3. **提交代码** - 修复 Bug 或添加新功能
4. **完善文档** - 改进文档质量和准确性
5. **分享经验** - 分享你的使用经验和最佳实践

---

## 🐛 报告 Bug

### 提交 Bug Issue

请包含以下信息：

**标题格式：** `[Bug] 简短描述问题`

**模板：**

```markdown
## Bug 描述
清晰地描述问题是什么

## 复现步骤
1. 运行命令 '...'
2. 点击 '....'
3. 滚动到 '....'
4. 看到错误

## 预期行为
描述应该发生什么

## 实际行为
描述实际发生了什么

## 环境信息
- OS: [例如 macOS 14.0]
- Node.js 版本: [例如 18.0.0]
- Next.js 版本: [例如 14.0.0]
- 插件版本: [例如 1.0.0]

## 截图
如果适用，添加截图说明问题

## 额外信息
其他相关信息
```

---

## 💡 功能建议

### 提交 Feature Issue

**标题格式：** `[Feature] 简短描述功能`

**模板：**

```markdown
## 功能描述
清晰简洁地描述你想要的功能

## 问题或需求
这个功能解决什么问题？
为什么需要这个功能？

## 解决方案
你希望这个功能如何实现？
是否有参考实现？

## 替代方案
是否考虑过其他解决方案？

## 优先级
- 高优先级
- 中优先级
- 低优先级
```

---

## 🔧 开发流程

### 1. Fork 项目

点击 GitHub 页面右上角的 Fork 按钮

### 2. 克隆仓库

```bash
# HTTPS 方式
git clone https://github.com/huifer/claude-code-seo.git

# SSH 方式
git clone git@github.com:huifer/claude-code-seo.git

# 进入项目目录
cd claude-code-seo
```

### 3. 创建分支

```bash
# 更新主分支
git checkout main
git pull origin main

# 创建功能分支
git checkout -b feature/your-feature-name

# 或修复分支
git checkout -b fix/your-bug-fix
```

### 4. 进行修改

**项目结构：**

```
claude-code-seo/
├── .claude-plugin/    # 插件配置
├── skills/            # Skills 文件
├── commands/          # 命令文件
├── agents/            # Agent 文件
├── templates/         # 模板文件
├── resources/         # 资源文件
├── docs/              # 文档
└── README.md          # 主文档
```

**开发规范：**

1. **代码风格**
   - 使用 Markdown 格式
   - 遵循现有文件的结构
   - 添加适当的注释

2. **文档编写**
   - 使用清晰的语言
   - 提供示例
   - 包含必要的上下文

3. **命名规范**
   - 文件名使用小写和连字符：`seo-check.md`
   - 目录名使用复数形式：`commands/`, `skills/`

### 5. 测试修改

```bash
# 在 Claude Code 中测试你的修改
# 确保所有功能正常工作
```

### 6. 提交更改

```bash
# 添加修改的文件
git add .

# 提交更改
git commit -m "feat: add new SEO command"

# 或使用更详细的提交信息
git commit -m "feat(commands): add keyword density checker

- Calculate keyword density for content
- Provide optimization suggestions
- Support Chinese and English text

Closes #123"
```

**提交信息格式：**

使用 [Conventional Commits](https://www.conventionalcommits.org/) 格式：

```
<type>(<scope>): <subject>

<body>

<footer>
```

**类型（type）：**
- `feat`: 新功能
- `fix`: Bug 修复
- `docs`: 文档更新
- `style`: 格式调整
- `refactor`: 代码重构
- `test`: 测试相关
- `chore`: 构建/工具相关

### 7. 推送到 GitHub

```bash
# 推送你的分支
git push origin feature/your-feature-name
```

### 8. 创建 Pull Request

1. 访问 GitHub 页面
2. 点击 "New Pull Request"
3. 选择你的分支
4. 填写 PR 模板
5. 等待审查

**PR 模板：**

```markdown
## 描述
简要描述你的更改

## 类型
- [ ] Bug 修复
- [ ] 新功能
- [ ] 文档更新
- [ ] 重构
- [ ] 其他

## 测试
描述你如何测试这些更改

## 截图（如果适用）


## 相关 Issue
Closes #(issue number)

## 检查清单
- [ ] 代码遵循项目风格
- [ ] 已进行自我审查
- [ ] 已添加必要的注释
- [ ] 更新了相关文档
- [ ] 更新了 README（如需要）
```

---

## 📝 文档贡献

### 改进文档

1. **修正错误** - 发现文档错误？直接修正
2. **添加示例** - 提供更多使用示例
3. **翻译** - 帮助翻译文档到其他语言
4. **改进说明** - 让说明更清晰易懂

### 文档规范

**格式：**
- 使用 Markdown
- 遵循现有结构
- 添加目录（长文档）

**内容：**
- 提供清晰的步骤
- 包含代码示例
- 添加必要的截图
- 链接相关文档

---

## 🎯 优先级标签

我们在 Issue 中使用以下标签：

- **priority: high** - 高优先级，急需处理
- **priority: medium** - 中优先级，重要但不紧急
- **priority: low** - 低优先级，改进和优化
- **good first issue** - 适合新手
- **help wanted** - 欢迎贡献

---

## 📋 代码审查

### 审查标准

我们的审查关注：

1. **功能性** - 是否解决了问题？
2. **代码质量** - 代码是否清晰易读？
3. **文档** - 文档是否完整准确？
4. **测试** - 是否充分测试？
5. **风格** - 是否符合项目规范？

### 反馈处理

- 保持开放心态
- 讨论技术决策
- 及时响应评论
- 愿意修改代码

---

## 🌟 成为贡献者

所有贡献者将被添加到项目的贡献者列表中。

**贡献者级别：**

- **贡献者** - 提交 1+ 个 PR
- **活跃贡献者** - 提交 5+ 个 PR
- **核心贡献者** - 提交 10+ 个 PR 或重大贡献

---

## 📧 联系我们

有疑问？欢迎联系我们：

- **GitHub Issues**: [提交问题](https://github.com/huifer/claude-code-seo/issues)
- **讨论区**: [GitHub Discussions](https://github.com/huifer/claude-code-seo/discussions)

---

## 📜 行为准则

### 我们的承诺

为了营造开放和友好的环境，我们承诺：

- 尊重不同的观点和经验
- 优雅地接受建设性批评
- 关注对社区最有利的事情
- 对其他社区成员表示同理心

### 不可接受的行为

- 使用性化的语言或图像
- 恶意攻击或侮辱性评论
- 骚扰
- 未经许可发布他人的私人信息
- 其他不道德或不专业的行为

---

## 🙏 致谢

感谢所有贡献者！你们的贡献让这个项目变得更好。

---

## 📚 相关资源

- [GitHub Flow](https://guides.github.com/introduction/flow/)
- [Conventional Commits](https://www.conventionalcommits.org/)
- [如何编写好的 Git 提交信息](https://chris.beams.io/posts/git-commit/)

---

**准备好贡献了吗？** 查看 [Good First Issues](https://github.com/huifer/claude-code-seo/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)

**下一步:**
- [返回文档首页](../README.md)
- [查看快速开始](../getting-started.md)
