# kern **kern v3** -- фреймворк модульных компонентов ядра с высокой надёжностью для любого микросервиса или модульного монолита. Позволяет создавать изолированные модули в составе монолита (полезно в начале разработки). А затем модули можно выносить в отдельные микросервисы (после отладки). --- ## 📖 Документация - [📚 Полный путеводитель по проекту](./v3/docs/index.md) - [🔧 Сборка, настройка и запуск](#сборконастройкаизапуск) - [🏗️ Архитектура](#архитектура) - [📦 Компоненты и модули](#компонентыимодули) - [🧪 Тестирование](#тестирование) - [🔍 Линтеры](#линтеры) --- ## 🛠️ Сборка, настройка и запуск ### Требования - Go 1.24.2 или выше - `task` для управления задачами ### Команды сборки ```bash $ task -a task: Available tasks for this project: * default: Вывод справки * demo: Запуск демо-проекта * lint: Запуск всех линтеров * mod: Обновление зависимостей * test: Запуск тестов ``` ### Быстрый старт ```bash # Сборка go build ./... # Запуск демо ./demo.sh # Запуск линтеров task lint ``` --- ## 🏗️ Архитектура kern использует модульную архитектуру, позволяющую бесшовно переходить от модульного монолита к микросервисам. ### Структура проекта - **Ядро** — базовые компоненты и интерфейсы - **Компоненты** — вспомогательные утилиты - **Модули** — функциональные блоки ### Подход 1. Начните с модульного монолита для быстрого старта 2. После стабилизации выносите модули в отдельные микросервисы 3. Документируйте каждый слой с прямыми и обратными ссылками --- ## 📦 Компоненты и модули - [Ядро](./v3/docs/index.md#ядро) - [Компоненты](./v3/docs/index.md#компоненты) - [Модули](./v3/docs/index.md#модули) [Подробнее →](./v3/docs/index.md) --- ## 🧪 Тестирование ```bash task test ``` Покрытие тестами: 100% --- ## 🔍 Линтеры ```bash task lint ``` Статус: no errors --- ## 👥 Контакты Пишите запросы в соответствующем [разделе](https://gitp78su.ipnodns.ru/svi/kern/issue?status=). --- ## 📊 Статус проекта - **Готовность:** 100% (проект продолжает развиваться) - **Покрытие тестами:** 100% - **Линтеры:** no errors - **Цикломатическая сложность:** < 11 --- ## 📜 Лицензия v1, v2, v3 (код открытый, [лицензия UCL](https://gitp78su.ipnodns.ru/svi/ucl) или `MIT`.) --- ## 📦 Версия компилятора Не ниже `go 1.24.2`