Инициализировать Memory Bank: projectbrief, productContext, activeContext, systemPatterns, techContext, progress
This commit is contained in:
166
memory-bank/productContext.md
Normal file
166
memory-bank/productContext.md
Normal file
@@ -0,0 +1,166 @@
|
||||
# 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
|
||||
- Кнопки действий
|
||||
```
|
||||
|
||||
## Метрики успеха
|
||||
|
||||
| Метрика | Цель |
|
||||
|---------|------|
|
||||
| Время на задачу (Jira) | -50% после интеграции |
|
||||
| Время на задачу (K8s) | -70% после интеграции |
|
||||
| Довольство пользователей | >4.5/5 |
|
||||
| Количество инцидентов | Снизить на -30% |
|
||||
|
||||
## Нестандартные требования
|
||||
|
||||
### Локализация
|
||||
|
||||
- **Первичный язык**: Русский (RU)
|
||||
- **Вторичный язык**: Английский (EN)
|
||||
- **Переключение**: Клавиша L в TUI
|
||||
|
||||
### TUI First
|
||||
|
||||
- Основной интерфейс — консольная панель
|
||||
- HTTP MCP работает в фоне
|
||||
- TUI владелец консоли
|
||||
|
||||
### Swagger для API
|
||||
|
||||
- `/swagger` для документации API
|
||||
- Для разработчиков клиентов
|
||||
|
||||
## Этические соображения
|
||||
|
||||
- **Конфиденциальность**: Контенджер не получает реальные секреты
|
||||
- **Transparency**: Все действия логируются
|
||||
- **Fallback**: K8s config fallback к defaults
|
||||
|
||||
---
|
||||
|
||||
*Документ описывает почему проект существует и как должен работать пользователь.*
|
||||
Reference in New Issue
Block a user