Skip to content

贡献指南

感谢你愿意为 CutDeck 贡献力量!无论是报告 Bug、提交代码还是完善文档,每一份贡献都让这个项目变得更好。 🎉


贡献方式

方式说明入口
🐛 报告 Bug帮助我们发现和修复问题GitHub Issues
💡 功能建议提出新功能想法Feature Request
📝 完善文档修正错别字、补充说明、翻译直接提交 PR
🔧 提交代码Bug 修复、新功能实现提交 Pull Request
⭐ 推广项目分享给更多人Star、Fork、在社交媒体介绍

开发环境搭建

前置条件

依赖版本要求安装方式
Node.js18+nodejs.org
npm9+随 Node.js 一起安装
Git2.30+git-scm.com
Rust1.70+rustup.rs

快速搭建

bash
# 1. Fork 项目到你的 GitHub 账户
# 访问 https://github.com/Agions/CutDeck 点击 Fork

# 2. 克隆你的 Fork
git clone https://github.com/YOUR_USERNAME/CutDeck.git
cd CutDeck

# 3. 安装依赖
npm install

# 4. 复制环境配置
cp .env.example .env
# 编辑 .env,填入测试用 API Key

# 5. 启动开发服务器
npm run dev

# 6. 运行测试
npm test

# 7. 代码检查
npm run lint

代码提交流程

分支命名规范

类型分支名示例说明
功能开发feature/ai-clip-improvements新功能
Bug 修复fix/subtitle-sync-fixBug 修复
文档更新docs/update-installation-guide文档改进
重构refactor/ai-provider-abstract代码重构

提交流程

bash
# 1. 从 main 创建功能分支
git checkout main
git pull origin main
git checkout -b feature/your-feature-name

# 2. 进行开发(遵循代码规范)
# ... 修改代码 ...

# 3. 提交代码
git add .
git commit -m "feat: add batch processing queue management"
git commit -m "fix: resolve audio sync delay issue"
git commit -m "docs: expand troubleshooting section"

# 4. 推送分支到你的 Fork
git push origin feature/your-feature-name

# 5. 在 GitHub 上创建 Pull Request

Pull Request 检查清单

提交 PR 前请确认:

  • [ ] 代码通过了测试
  • [ ] 代码通过了 ESLint 检查
  • [ ] 新功能已添加对应测试
  • [ ] 文档已同步更新
  • [ ] PR 描述清晰说明了改动的目的和影响范围
  • [ ] 分支是从最新的 main 创建的

项目规范

技术栈约定

React 18 + TypeScript + Vite 6 + Tauri 2.x + Ant Design 5

组件开发规范

typescript
// 组件命名:PascalCase
// 文件命名:PascalCase.tsx
// Hooks 命名:camelCase,use 前缀

// 示例
// components/AIClipPanel/index.tsx
// hooks/useAI.ts

// Props 接口命名:ComponentNameProps
interface AIClipPanelProps {
  videoId: string
  onClipGenerated?: (clips: Clip[]) => void
}

CSS 规范

  • 优先使用 CSS Modules
  • 避免使用 !important
  • 使用 CSS 变量管理主题色

优先贡献方向

方向优先级说明
🪟 Windows 平台测试⭐⭐⭐确保跨平台兼容性
🌐 多语言文档⭐⭐⭐英文文档完善
🤖 新 AI 模型接入⭐⭐接入更多 AI 模型
🎨 UI/UX 改进⭐⭐界面体验优化
性能优化⭐⭐大文件处理速度优化
🧪 测试覆盖增加自动化测试

行为准则

作为 CutDeck 的贡献者,请遵守以下原则:

  • 尊重 — 尊重所有参与者的观点和背景
  • 包容 — 欢迎各种经验水平的贡献者
  • 专业 — 保持建设性的技术讨论
  • 透明 — 公开讨论决策过程

交流渠道

渠道用途
GitHub IssuesBug 报告、功能请求
GitHub Discussions提问、讨论

致谢

感谢每一位贡献者!你们的名字将在项目主页和 CHANGELOG 中展示。 ❤️

如果你有任何问题,欢迎在 GitHub Discussions 中提问。

MIT License