Update docs: add repo URL, refresh AGENTS.md and README, remove stale READMEs

This commit is contained in:
2026-04-16 13:53:23 +03:00
parent 3beccbf35e
commit 547362de12
6 changed files with 38 additions and 104 deletions

View File

@@ -1,92 +0,0 @@
# ConfigManager
Управление конфигурацией с регистрацией параметров и описаний.
## Описание
### Класс ConfigParameter
Базовый класс для описания параметра
name: Имя параметра
val: Значение
def: Значение по умолчанию
desc: Описание параметра (не обязательно)
cat: Категория параметра (не обязательно, по умолчанию 'global')
env: Имя переменной окружения (не обязательно)
validator: Функция проверки допустимости параметра (если не используется, то значение -- строка. не обязательно)
Параметры хранятся к конфиге так:
```config
#$description
#$category.$name: $value
$category.$name: $value
```
например:
```config
#Наименование проекта
#global.name: "komAI"
global.name: "SuperAPP"
```
Пример использования параметра:
```python
param1 = ConfigParameter(cat="global", name="name", val="komAI", desc="Наименование проекта", def="SuppaPuppa")
#name:name value:Наименование проекта
print(f"name:{param1.name} value:{param1.desc}")
#name.as_int:0
print(f"{param1.name}.as_int:{param1.as_int()}")
##Наименование проекта\n#global.name: "SuppaPuppa"\nglobal.name: "komAI"
print(param1)
```
### Класс ConfigManager
- Базовый класс для работы с параметрами
- Параметры хранятся текстовом конфиге (например в `config/global.yaml`)
- Файл можно переопределить из командной строки (например `--config ~/myApp/config/app.yaml`)
- Файл можно переопределить через переменную окружения `$projectname_CONFIG=~/superApp/config.yaml`
- Приоритет определения параметров (от высшего к низшему):
коммандная строка --> переменные окружения --> файл ~/.ENV
- Для ConfigManager значение файла конфигурации по умолчанию задано в тексте конcтантой. Например:
```python
config_file_default = "config/global.yaml"
config_env_default = "KOMAI_CONFIG_FILE"
```
- Регистрация и инициализация класса должна быть глобальная
Пример использования:
```python
from src.utils.config_manager.config_manager import get_config
config = get_config()
config.register(cat="global", name="app.name", val="komAI", desc="Наименование проекта")
#если не задана cat, использовать значение по умолчанию
#данный вызов вернёт значение параметра 'global.app.name'
value = config.get("app.name")
#данный вызов вернёт значение описания параметра 'global.app.name'
desc = config.get_description("app.name", cat="global")
```
## Глобальный доступ
`get_config()` - возвращает singleton ConfigManager
## Регистрация параметров модулями
Каждый модуль регистрирует свои параметры при инициализации:
```python
config.register(name="level", val="INFO", desc="Уровень логирования", cat="logging")
```
## Категории
Возможные категории параметров
- `app` - приложение
- `logging` - логирование
- `global` - общие