# Active Context — Текущее состояние работы

## 📍 Где мы находимся

### Состояние проекта

**LazyBear MCP Server** находится на этапе **Development**. Сервер предоставляет MCP инструменты для работы с:
- ✅ **Jira** — Issues, JQL, комментарии
- ✅ **Confluence** — Страницы, пространства
- ✅ **Kubernetes** — Deployments, Pods, Services, Ingress
- ✅ **TUI** — Интерактивная консольная панель

### Последнее обновление кода

**Commit**: `d12e9873f0964f2c275a634cda80b161c83f9bbb`

### Текущий фокус

**Активная разработка**: Инициализация Memory Bank для поддержания документации между сессиями.

**Следующие шаги**:
1. ✅ Создать Memory Bank структуру
2. 🔄 Продолжить документирование архитектуры и паттернов
3. ⏳ Обновлять Memory Bank после значимых изменений
4. ⏳ Добавить Qdrant в Memory Bank

## 🔍 Важные решения

### Архитектурные паттерны

| Паттерн | Описание | Где используется |
|---------|----------|------------------|
| **Single HTTP Server** | Один транспорт MCP | Program.cs — один AddMcpServer |
| **Tool Registry** | Регистрация модулей | ToolRegistryService.RegisterModule |
| **Client Provider** | Factory для клиентов | K8sClientProvider, JiraClientProvider |
| **TUI First** | TUI как основной UI | RazorConsole<App> в Program.cs |

### Технические решения

- **MCP Protocol 1.2.0** — HTTP transport
- **.NET 10 SDK** — Пин в global.json
- **ASP.NET Core 9** — HTTP server
- **RazorConsole** — TUI framework
- **Kubernetes Client** — Через kubeconfig

### Конфигурация

**appsettings.json**:
```json
{
  "Kubernetes": {
    "KubeconfigPath": "",           // Fallback к defaults
    "DefaultNamespace": "default"
  },
  "Jira": {
    "Url": "",                      // Требуется для Jira tools
    "Token": "",
    "Project": ""
  },
  "Confluence": {
    "Url": "",
    "Token": "",
    "Username": "",
    "SpaceKey": ""
  },
  "Qdrant": {
    "Url": "",                      // URL Qdrant сервера
    "ApiKey": "",                   // Опционально для авторизации
    "DefaultCollection": "knowledge" // Default коллекция для векторного поиска
  }
}
```

## 🚧 Текущая работа

### Что работает

- ✅ MCP HTTP transport активен
- ✅ TUI запуск через RazorConsole
- ✅ Инструменты Jira/Confluence/Kubernetes зарегистрированы
- ✅ Локализация RU/EN (клавиша L)

### Что в разработке/тестировании

- 🔄 Memory Bank инициализация
- ⏳ Тестирование через MCP Inspector
- ⏳ Интеграция с IDE (Codex, VS Code)

### Известные проблемы

- Jira требует настройки `Jira:Url`
- Kubernetes: пустой `KubeconfigPath` использует fallback
- Razor Pages в `Pages/` не активирован (не используется)

## 📋 Следующие действия

### Приоритет 1: Конфигурация

```bash
# Настроить Jira
Jira:Url=https://your-jira.url
Jira:Token=your-token
Jira:Project=LAZYBEAR

# Настроить K8s
Kubernetes:KubeconfigPath=~/.kube/config
```

### Приоритет 2: Тестирование

```bash
# Запустить сервер
dotnet run --project LazyBear.MCP

# Открыть MCP Inspector
npx @modelcontextprotocol/inspector dotnet run --project LazyBear.MCP
```

### Приоритет 3: Документация

- 📝 Обновлять activeContext.md после значимых изменений
- 📝 Добавлять секции в systemPatterns.md при введении новых паттернов

## 💡 Выводы и наблюдения

### Изученное о проекте

1. **Проект уже полностью функционален** — все модули готовы
2. **TUI First подход** — основной UI консольный, HTTP в фоне
3. **Minimal API Style** — чистый код, DI через сервисы
4. **Локализация встроена** — RU/EN переключение через клавишу

### Предпочтения проекта

- **Комментарии и сообщения**: Русский язык
- **Код и переменные**: Английский язык
- **Style**: Clean code, minimal abstractions
- **Documentation**: Markdown в memory-bank/

### Важные уроки

- MCP tools авт. регистрируются из assembly через `WithToolsFromAssembly()`
- IToolModule интерфейсы — способ добавлять новые инструменты
- RazorConsole управляет консолью, HTTP host работает в фоне

---

*Файл автоматически обновляется при значимых изменениях проекта. Читать при начале новой сессии.*