docs: add CONTRIBUTING.md with development guidelines (#62)
Add contribution guidelines including: - Development setup instructions - Code style guidelines (ruff, mypy, pytest) - Channel development guide - PR guidelines - Issue reporting template - Bilingual (EN/CN) documentation Co-authored-by: haosenwang1018 <haosenwang1018@users.noreply.github.com>
This commit is contained in:
parent
a91a74d880
commit
561b248a2b
1 changed files with 107 additions and 0 deletions
107
CONTRIBUTING.md
Normal file
107
CONTRIBUTING.md
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
# Contributing to Agent Reach
|
||||
|
||||
Thank you for your interest in contributing to Agent Reach! This document provides guidelines and instructions for contributing.
|
||||
|
||||
## Getting Started
|
||||
|
||||
1. Fork the repository on GitHub
|
||||
2. Clone your fork locally
|
||||
3. Create a new branch for your contribution
|
||||
4. Make your changes
|
||||
5. Run tests and linting
|
||||
6. Submit a pull request
|
||||
|
||||
## Development Setup
|
||||
|
||||
```bash
|
||||
# Clone your fork
|
||||
git clone https://github.com/YOUR_USERNAME/Agent-Reach.git
|
||||
cd Agent-Reach
|
||||
|
||||
# Install in development mode
|
||||
pip install -e ".[dev]"
|
||||
|
||||
# Install pre-commit hooks (optional but recommended)
|
||||
pre-commit install
|
||||
```
|
||||
|
||||
## Code Style
|
||||
|
||||
We use the following tools to maintain code quality:
|
||||
|
||||
- **ruff**: Linting and import sorting
|
||||
- **mypy**: Type checking
|
||||
- **pytest**: Testing
|
||||
|
||||
Run all checks before submitting a PR:
|
||||
|
||||
```bash
|
||||
# Linting
|
||||
ruff check agent_reach tests
|
||||
ruff format agent_reach tests
|
||||
|
||||
# Type checking
|
||||
mypy agent_reach
|
||||
|
||||
# Tests
|
||||
pytest
|
||||
```
|
||||
|
||||
## Adding New Channels
|
||||
|
||||
Agent Reach uses a unified channel interface. To add a new platform:
|
||||
|
||||
1. Create a new file in `agent_reach/channels/`
|
||||
2. Implement the channel contract (see existing channels for examples)
|
||||
3. Add tests in `tests/test_channels.py`
|
||||
4. Update `agent_reach/doctor.py` to include the new channel
|
||||
5. Update documentation
|
||||
|
||||
## Pull Request Guidelines
|
||||
|
||||
- **Small, focused changes** are preferred over large refactors
|
||||
- Include tests for new functionality
|
||||
- Update documentation if needed
|
||||
- Follow existing code style
|
||||
- Reference any related issues
|
||||
|
||||
## Reporting Issues
|
||||
|
||||
When reporting bugs, please include:
|
||||
|
||||
- Python version
|
||||
- Operating system
|
||||
- Steps to reproduce
|
||||
- Expected vs actual behavior
|
||||
- Any error messages
|
||||
|
||||
## Questions?
|
||||
|
||||
Feel free to open an issue for questions or join discussions.
|
||||
|
||||
---
|
||||
|
||||
感谢您对 Agent Reach 的贡献!本文档提供了贡献指南。
|
||||
|
||||
## 快速开始
|
||||
|
||||
1. 在 GitHub 上 fork 仓库
|
||||
2. 本地 clone 您的 fork
|
||||
3. 创建新分支
|
||||
4. 提交更改
|
||||
5. 运行测试和 lint
|
||||
6. 提交 pull request
|
||||
|
||||
## 代码规范
|
||||
|
||||
- 使用 **ruff** 进行代码检查
|
||||
- 使用 **mypy** 进行类型检查
|
||||
- 使用 **pytest** 运行测试
|
||||
|
||||
## 添加新渠道
|
||||
|
||||
1. 在 `agent_reach/channels/` 创建新文件
|
||||
2. 实现渠道接口
|
||||
3. 添加测试
|
||||
4. 更新 doctor 检测
|
||||
5. 更新文档
|
||||
Loading…
Add table
Add a link
Reference in a new issue