142 lines
5.1 KiB
Markdown
142 lines
5.1 KiB
Markdown
# 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 после значимых изменений
|
||
|
||
## 🔍 Важные решения
|
||
|
||
### Архитектурные паттерны
|
||
|
||
| Паттерн | Описание | Где используется |
|
||
|---------|----------|------------------|
|
||
| **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": ""
|
||
}
|
||
}
|
||
```
|
||
|
||
## 🚧 Текущая работа
|
||
|
||
### Что работает
|
||
|
||
- ✅ 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 работает в фоне
|
||
|
||
---
|
||
|
||
*Файл автоматически обновляется при значимых изменениях проекта. Читать при начале новой сессии.* |