code-review-agent/docs/CONTRIBUTING.md

150 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Contributing to AI Code Review Agent
Спасибо за интерес к проекту! 🎉
## Как внести вклад
### Сообщить о баге
1. Проверьте, что баг еще не был сообщен в Issues
2. Создайте новый Issue с детальным описанием:
- Шаги для воспроизведения
- Ожидаемое поведение
- Фактическое поведение
- Версия Python/Node.js
- Логи ошибок
### Предложить улучшение
1. Создайте Issue с описанием предложения
2. Объясните, какую проблему это решит
3. Приведите примеры использования
### Создать Pull Request
1. Fork репозиторий
2. Создайте feature branch:
```bash
git checkout -b feature/amazing-feature
```
3. Внесите изменения
4. Убедитесь, что код работает:
- Backend: `uvicorn app.main:app --reload`
- Frontend: `npm run dev`
5. Commit изменения:
```bash
git commit -m "Add amazing feature"
```
6. Push в branch:
```bash
git push origin feature/amazing-feature
```
7. Создайте Pull Request
## Стандарты кода
### Python (Backend)
- Следуйте PEP 8
- Используйте type hints
- Документируйте функции docstrings
- Максимальная длина строки: 100 символов
```python
async def my_function(param: str) -> dict:
"""Short description.
Args:
param: Parameter description
Returns:
Description of return value
"""
pass
```
### TypeScript (Frontend)
- Используйте строгую типизацию
- Именование: camelCase для переменных, PascalCase для компонентов
- Используйте функциональные компоненты с hooks
```typescript
interface MyComponentProps {
data: string;
}
export default function MyComponent({ data }: MyComponentProps) {
// ...
}
```
## Структура коммитов
Используйте осмысленные сообщения коммитов:
```
feat: Add GitHub integration
fix: Resolve WebSocket reconnection issue
docs: Update README installation steps
refactor: Simplify review agent logic
test: Add tests for repository API
```
Префиксы:
- `feat` - новая функциональность
- `fix` - исправление бага
- `docs` - документация
- `refactor` - рефакторинг
- `test` - тесты
- `chore` - обновление зависимостей и т.д.
## Тестирование
### Backend
```bash
# TODO: Добавить pytest тесты
pytest tests/
```
### Frontend
```bash
# Линтинг
npm run lint
# Проверка типов
npx tsc --noEmit
```
## Области для вклада
- 🐛 Исправление багов
- ✨ Новые функции
- 📝 Улучшение документации
- 🧪 Добавление тестов
- 🎨 Улучшение UI/UX
- ⚡ Оптимизация производительности
- 🔒 Улучшение безопасности
## Идеи для новых функций
- [ ] Поддержка GitLab
- [ ] Настраиваемые правила ревью
- [ ] Email уведомления
- [ ] Интеграция с Slack/Discord
- [ ] Docker контейнеризация
- [ ] Множественные модели LLM
- [ ] Анализ метрик кода
- [ ] Поддержка команд в комментариях PR
- [ ] Dashboard с графиками
- [ ] Экспорт отчетов
## Вопросы?
Создайте Issue с меткой `question`.
Спасибо за вклад! 🚀