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
- 在 GitHub 上创建 Pull Request
- 填写 PR 描述
- 等待 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
- 搜索是否已有相同问题
- 创建新 Issue
- 提供详细信息:
- 操作系统和版本
- ProxyCast 版本
- 复现步骤
- 错误日志
功能建议
- 创建 Feature Request Issue
- 描述功能需求
- 说明使用场景
社区
- GitHub Issues: 问题反馈
- GitHub Discussions: 讨论交流