# 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`. Спасибо за вклад! 🚀