Development

贡献指南

如何为 ProxyCast 做贡献

贡献指南

感谢你对 ProxyCast 的关注!本指南帮助你开始贡献。

开发环境设置

前置要求

工具版本
Node.js>= 18
pnpm>= 8
Rust>= 1.70
Tauri CLI>= 2.0

安装依赖

# 克隆仓库
git clone https://github.com/aiclientproxy/proxycast.git
cd proxycast

# 安装前端依赖
pnpm install

# 安装 Tauri CLI
cargo install tauri-cli

开发模式

# 启动开发服务器
pnpm tauri dev

构建

# 构建发布版本
pnpm tauri build

代码规范

TypeScript/React

  • 使用 ESLint 和 Prettier
  • 遵循 React Hooks 规范
  • 组件使用函数式写法
# 检查代码
pnpm lint

# 格式化代码
pnpm format

Rust

  • 使用 rustfmt 格式化
  • 使用 clippy 检查
  • 遵循 Rust API Guidelines
# 格式化
cargo fmt

# 检查
cargo clippy

提交规范

使用 Conventional Commits:

feat: 添加新功能
fix: 修复 bug
docs: 更新文档
style: 代码格式调整
refactor: 代码重构
test: 添加测试
chore: 构建/工具变更

示例:

feat(credential): 添加 Qwen 凭证支持
fix(router): 修复路由规则匹配问题
docs: 更新安装指南

PR 流程

1. Fork 仓库

在 GitHub 上 Fork 项目到你的账户。

2. 创建分支

git checkout -b feature/your-feature

3. 开发和测试

  • 编写代码
  • 添加测试
  • 确保所有测试通过

4. 提交代码

git add .
git commit -m "feat: your feature description"
git push origin feature/your-feature

5. 创建 PR

  1. 在 GitHub 上创建 Pull Request
  2. 填写 PR 描述
  3. 等待 Review

PR 检查清单

  • 代码通过 lint 检查
  • 添加了必要的测试
  • 更新了相关文档
  • 提交信息符合规范

项目结构

proxycast/
├── src/                 # 前端源码
│   ├── components/      # React 组件
│   ├── pages/           # 页面组件
│   ├── hooks/           # 自定义 Hooks
│   ├── lib/             # 工具函数
│   └── styles/          # 样式文件
├── src-tauri/           # Rust 后端
│   ├── src/             # 源码
│   ├── Cargo.toml       # 依赖配置
│   └── tauri.conf.json  # Tauri 配置
├── docs/                # 文档
└── public/              # 静态资源

测试

前端测试

# 运行测试
pnpm test

# 运行测试并生成覆盖率
pnpm test:coverage

后端测试

cd src-tauri
cargo test

问题反馈

报告 Bug

  1. 搜索是否已有相同问题
  2. 创建新 Issue
  3. 提供详细信息:
    • 操作系统和版本
    • ProxyCast 版本
    • 复现步骤
    • 错误日志

功能建议

  1. 创建 Feature Request Issue
  2. 描述功能需求
  3. 说明使用场景

社区

  • GitHub Issues: 问题反馈
  • GitHub Discussions: 讨论交流