init
This commit is contained in:
+149
@@ -0,0 +1,149 @@
|
||||
# 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`.
|
||||
|
||||
Спасибо за вклад! 🚀
|
||||
|
||||
Reference in New Issue
Block a user