| 中文 | English |
本文档为开发者提供详细的开发环境设置、代码结构和贡献指南。
git clone https://github.com/wangfumin1/claude-code-adapter-fastapi.git
cd claude-code-adapter-fastapi
# 使用自动设置脚本
# Windows:
scripts\setup.bat
# Linux/macOS:
./scripts/setup.sh
# 或手动设置
python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
pip install -r requirements-dev.txt
pre-commit install
claude-code-adapter-fastapi/
├── src/
│ └── claude_code_adapter/
│ ├── __init__.py # 包初始化
│ ├── app.py # FastAPI应用主文件
│ ├── config.py # 配置管理
│ ├── models.py # 数据模型
│ ├── services.py # 业务逻辑服务
│ └── utils.py # 工具函数
├── tests/ # 测试文件
│ ├── __init__.py
│ ├── test_app.py # 应用测试
│ └── test_utils.py # 工具函数测试
├── scripts/ # 脚本文件
│ ├── setup.bat # Windows设置脚本
│ ├── setup.sh # Linux/macOS设置脚本
│ ├── check_env.py # 环境检查
│ └── start.py # 启动脚本
├── docs/ # 文档
├── docker/ # Docker相关文件
├── .github/workflows/ # CI/CD配置
├── config.yaml # 配置文件
├── requirements.txt # 生产依赖
├── requirements-dev.txt # 开发依赖
├── pyproject.toml # 项目配置
├── Makefile # 构建脚本
└── README.md # 项目说明
# 运行所有测试
make test
# 或使用pytest
pytest tests/ -v
# 运行特定测试
pytest tests/test_utils.py -v
# 生成覆盖率报告
make test-cov
# tests/test_example.py
import pytest
from src.claude_code_adapter.utils import example_function
def test_example_function():
"""测试示例函数"""
result = example_function("input")
assert result == "expected_output"
# 格式化代码
make format
# 检查格式
make format-check
# 运行所有检查
make lint
# 单独运行
flake8 src/ tests/
mypy src/
# 使用Makefile
make run
# 或直接运行
python -m uvicorn src.claude_code_adapter.app:app --host 0.0.0.0 --port 8000 --reload
开发服务器支持热重载,修改代码后自动重启。
💡 快速贡献指南: 查看 CONTRIBUTING.md 获取简洁的贡献流程和规范。
在GitHub上Fork项目到你的账户。
git checkout -b feature/your-feature-name
# 编写代码
# 添加测试
# 更新文档
# 运行测试和检查
make test
make lint
make format
git add .
git commit -m "feat: add new feature"
git push origin feature/your-feature-name
在GitHub上创建Pull Request。
使用Conventional Commits规范:
feat: 新功能fix: 修复bugdocs: 文档更新style: 代码格式refactor: 重构test: 测试chore: 构建过程或辅助工具的变动示例:
feat: add support for conda environment
fix: resolve encoding issue in setup scripts
docs: update installation guide
docker build -t claude-code-adapter:dev .
docker run -p 8000:8000 -v $(pwd):/app claude-code-adapter:dev
docker-compose up -d
# 安装性能分析工具
pip install py-spy
# 分析性能
py-spy top --pid <process_id>
# 安装内存分析工具
pip install memory-profiler
# 分析内存使用
python -m memory_profiler script.py
import logging
# 设置日志级别
logging.basicConfig(level=logging.DEBUG)
# 使用日志
logger = logging.getLogger(__name__)
logger.debug("Debug message")
# 使用pdb
import pdb; pdb.set_trace()
# 或使用ipdb
import ipdb; ipdb.set_trace()
# 启动文档服务器
make docs
# 构建文档
make docs-build
# 检查Python路径
export PYTHONPATH=$PWD:$PYTHONPATH
# 重新创建虚拟环境
rm -rf venv
python -m venv venv
pip install -r requirements-dev.txt
# 检查测试环境
python scripts/check_env.py
使用语义化版本:
MAJOR: 不兼容的API修改MINOR: 向下兼容的功能性新增PATCH: 向下兼容的问题修正