# Portability: UNIVERSAL
# Last validated: 2026-05-17
# Next review: 2027-05-17

BACH САМОРАСШИРЯЮЩАЯСЯ (саморасширяющаяся)
---------------------------------------

По состоянию на 13 февраля 2026 г.

BACH является саморасширяющейся системой. Партнеры по искусственному интеллекту должны
Активно совершенствовать BACH, создавать новые возможности и систему.
Адаптируйтесь к новым требованиям.

ОСНОВНОЙ ПРИНЦИП: ИСПОЛЬЗОВАТЬ BACH = РАСШИРЯТЬ BACH
------------------------------------------
Каждый доступ — это возможность улучшить систему.
Отсутствующие навыки НЕ сообщаются, а СОЗДАЮТСЯ.

ЦИКЛ САМОРАСШИРЕНИЯ
--------------------
  1. ПРИЗНАТЬ → Определить недостающие навыки
  2. СОЗДАТЬ → Создайте новый навык/инструмент/обработчик.
  3. РЕГИСТРАЦИЯ → Горячая перезагрузка, обновление реестра.
  4. ИСПОЛЬЗОВАНИЕ → Использовать немедленно.
  5. REFLECT → Извлеченный урок, регистрация

СОЗДАНИЕ НОВЫХ НАВЫКОВ
-----------------------------
С помощью `bachskills create` поддерживаются 5 типов компонентов:

  bach skills create voice-processor --type tool
    → Создано: system/tools/voice_processor.py.
    → Строительные леса со стандартным шаблоном
    → Можно использовать сразу после внедрения

  bach skills create email-agent --type agent
    → Создано: system/agents/email-agent/SKILL.md
    → Своя папка с шаблоном SKILL.md
    → Организует работу других экспертов/инструментов

  bach skills create tax-expert --type expert
    → Создано: system/agents/_experts/tax-expert/SKILL.md
    → Своя папка с шаблоном SKILL.md
    → Глубокие знания предметной области

  bach skills create api-gateway --type handler
    → Создано: system/hub/api_gateway.py.
    → Сразу доступен как команда CLI (bach api-gateway...)
    → Подкласс BaseHandler с get_operations()

  bach skills create data-sync --type service
    → Создано: system/skills/_services/data-sync/
    → Сервис с помощью __init__.py и service.py.
    → Рядом с обработчиком, общее использование

ПОСЛЕ СОЗДАНИЯ: ГОРЯЧАЯ ПЕРЕЗАГРУЗКА
---------------------------------
  bach skills reload
    → Перезагрузить реестр (обнаружить новые обработчики)
    → Запустить обнаружение инструмента
    → Синхронизировать базу данных навыков
    → Перезапуск НЕ требуется!

ИЛИ через API:
  из приложения импорта bach_api
  а = приложение()
  count = a.reload_registry()
  print(f"Обработчик {count} загружен")

ИНТЕГРАЦИЯ КРЮКА
-----------------
Новые способности можно подключить к системе хуков:

  из core.hooks импортные хуки

  # Выполняем собственную логику для системных событий
  ooks.on('after_task_create', my_logic, name='my_plugin')
  ooks.on('after_startup', start_check, name='my_plugin')

  Доступные события: события бах-хуков

 ПРИМЕР: ПОЛНЫЙ РАБОЧИЙ ПРОЦЕСС САМОРАСШИРЕНИЯ
----------------------------------------------

  Шаг 1. Осознайте необходимость
  -------------------------
  «Мне нужен обработчик учета времени»

  Шаг 2: Строительные леса
  ----------------------
  bach skills create zeiterfassung --type handler

  Шаг 3: Реализация
  --------------------------
  → отредактировать Hub/zeiterfassung.py
  → Добавить операции (старт, стоп, список, отчет)
  → При необходимости добавьте таблицу БД в db/schema.sql

  Шаг 4. Горячая перезагрузка
  ----------------------
  bach skills reload

  Шаг 5: Используйте немедленно
  -----------------------
  bach zeiterfassung start "Projektarbeit"
  bach zeiterfassung stop
  bach zeiterfassung report --today

  Шаг 6. Зарегистрируйте хуки (необязательно)
  ---------------------------------------
  из core.hooks импортировать хуки
  ooks.on('after_task_done', лямбда ctx: запись времени.stop())

  Шаг 7: Сохранить урок
  ----------------------------
  bach lesson add "Zeiterfassung: Handler-Pattern mit start/stop/list/report"

ЧТО МОЖНО РАСШИРИТЬ?
----------------------------
  Район вроде Где
  --------------- -------------------------------- -------------------------
  Команды CLI Создайте новый обработчик в Hub/hub/<имя>.py.
  Поместите скрипт Python инструментов в инструменты/tools/<имя>.py.
  Агенты Папка агента с агентами SKILL.md/<имя>/
  Эксперты Папка экспертов с агентами SKILL.md/_experts/<имя>/
  Службы Создать папку услуг с навыками/_services/<имя>/
  Рабочие процессы Создайте файл Markdown навыки/рабочие процессы/<имя>.md
  Зарегистрируйте прослушиватель перехватчиков core/hooks.py:ooks.on()
  Миграция схемы БД в db/create db/migrations/
  Файлы справки Создайте текстовый файл в формате docs/help/docs/help/<topic>.txt.
  Краткая форма псевдонимов в aliases.py core/aliases.py

ПРАВИЛА САМОСТОЯТЕЛЬНОГО РАСШИРЕНИЯ
-------------------------------
  1. Сначала обработчик: каждая функция в качестве обработчика в хабе/
  2. Самоисцеление: немедленно исправляйте ошибки.
  3. Fix-or-Task: маленькое = исправить немедленно, большое = создать задачу.
  4. Извлеченный урок: документируйте после каждого расширения
  5. Горячая перезагрузка: всегда «перезагрузка навыков Баха» после изменений.
  6. Тестирование: проверьте новые обработчики с помощью `bach <name> help`

СМОТРИ ТАКЖЕ
----------
  bach help hooks            Hook Framework
  bach help skills           Система навыков
  bach help cli              Соглашения CLI
  bach help architecture     Системная архитектура
  навыки/рабочие процессы/self-extension.md Подробный рабочий процесс
