Инициализировать Memory Bank: projectbrief, productContext, activeContext, systemPatterns, techContext, progress

This commit is contained in:
2026-04-14 11:40:37 +03:00
parent d12e9873f0
commit e96bab114e
6 changed files with 1087 additions and 0 deletions

View File

@@ -0,0 +1,142 @@
# 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 работает в фоне
---
*Файл автоматически обновляется при значимых изменениях проекта. Читать при начале новой сессии.*