Files
LazyBearWorks/memory-bank/productContext.md

184 lines
6.3 KiB
Markdown
Raw 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.
# Product Context — Зачем существует LazyBear MCP Server
## Проблема, которую решает проект
### Контекст пользователя
DevOps инженер и разработчики ежедневно работают с:
- **Jira** — создание, отслеживание, обновление задач
- **Confluence** — документация, руководства, знания
- **Kubernetes** — управление контейнерами, деплоями, сетями
### Точка боли
**Ручная работа**: Каждый инструмент требует отдельного CLI вызова:
```bash
# Jira CLI
jira issue create --project LAZYBEAR ...
# Confluence CLI
confluence create --space LAZYBEAR ...
# Kubernetes
kubectl create deployment nginx --image=nginx:latest
kubectl scale deployment nginx --replicas=3
```
**Неэффективно**: Много времени тратится на переключение контекста, ввод команд, копирование значений.
**Нет единой точки управления**: Разрозненные инструменты, неясно что активно и где.
### Решение
**LazyBear MCP Server** объединяет все инструменты в один HTTP сервер:
- Один вызов от IDE вызывает нужное действие
- JSON-параметры вместо сложных CLI флага
- Визуальный мониторинг через TUI
- Локализация на русском языке
### Пользовательский опыт
**До интеграции**:
- 5-10 CLI команд для рутинных задач
- Переключение между терминалами и браузерами
- Потеря контекста между инструментами
**После интеграции**:
- 1 JSON вызов от IDE решает задачу
- Единая консоль TUI показывает состояние кластера
- Русская локализация для команды RU
- Свободный фокус на логике работы
## Целевой пользователь
### Persona: DevOps Engineer
**Характеристики**:
- Работает с Kubernetes кластерами
- Создает и обновляет Jira задачи
- Документирует процессы в Confluence
- Ценит автоматизацию
**Цели**:
- Минимизировать ручной ввод
- Быстро реагировать на инциденты
- Поддерживать актуальную документацию
**Боли**:
- Утомительный ручной ввод
- Потеря контекста между инструментами
- Недостаток visibility в работе инструментов
### Persona: Developer
**Характеристики**:
- Работает в IDE (Codex, VS Code)
- Использует AI-ассистенты
- Ценит быструю обратную связь
**Цели**:
- Автоматизировать рутину через AI
- Быстрый доступ к информации о сервисах
**Боли**:
- AI не знает состояние K8s/Jira без интеграции
- Потеря времени на setup команд
## Успешные сценарии использования
### Сценарий 1: Инцидент в Kubernetes
```
User (via AI): "В поде nginx-abc123 упал. Попробуй рестарт."
AI вызывает: k8sPodsTools/restartPod(name="nginx-abc123")
LazyBear вызывает K8s API
Получает результат
AI сообщает: "Под nginx-abc123 перезапущен"
```
### Сценарий 2: Создание задачи инцидента
```
User (via AI): "Создать Jira задачу на проблему с nginx"
AI вызывает: jiraTools/createIssue({
project: "LAZYBEAR",
summary: "Нестабильность nginx",
description: "...",
type: "INCIDENT"
})
Jira задача создана
```
### Сценарий 3: Мониторинг через TUI
```
User запускает dotnet run
TUI показывает:
- Список deployed деплоев
- Статус подов
- Последние events
- Кнопки действий
- Векторные индексы Qdrant (если используется)
```
### Сценарий 4: Поиск знаний через Qdrant
```
User (via AI): "Как настроить деплой nginx?"
AI вызывает: qdrantKnowledgeTools/search({
query: "nginx деплой настройка",
vector_embedding: [0.1, 0.2, ...]
})
Qdrant возвращает релевантные документы
AI предоставляет из Confluence/документации
```
## Метрики успеха
| Метрика | Цель |
|---------|------|
| Время на задачу (Jira) | -50% после интеграции |
| Время на задачу (K8s) | -70% после интеграции |
| Время на поиск знаний | -60% с Qdrant |
| Довольство пользователей | >4.5/5 |
| Количество инцидентов | Снизить на -30% |
## Нестандартные требования
### Локализация
- **Первичный язык**: Русский (RU)
- **Вторичный язык**: Английский (EN)
- **Переключение**: Клавиша L в TUI
### TUI First
- Основной интерфейс — консольная панель
- HTTP MCP работает в фоне
- TUI владелец консоли
### Swagger для API
- `/swagger` для документации API
- Для разработчиков клиентов
## Этические соображения
- **Конфиденциальность**: Контенджер не получает реальные секреты
- **Transparency**: Все действия логируются
- **Fallback**: K8s config fallback к defaults
---
*Документ описывает почему проект существует и как должен работать пользователь.*