Создание нового адаптера окружения
Руководство по созданию и публикации нового адаптера окружения Apothem.
Используйте это руководство при создании нового адаптера окружения для встроенного включения в Apothem или как стороннего пакета.
Предварительные требования
- Знакомство с протоколом HarnessAdapter
- Понимание формата конфигурации целевого окружения
- Python 3.10+
Шаги
1. Реализуйте адаптер
Следуйте примеру Создание адаптера окружения,
чтобы реализовать HarnessAdapter для целевого окружения.
Если адаптер записывает текстовый шаблон (файл не в формате JSON или YAML)
с mode: write_text и ownership_class: operator-owned, uninstall
удаляет файл только пока он остаётся неотредактированной копией шаблона,
поставленного Apothem. Когда более поздний релиз меняет шаблон, добавьте
дайджест SHA-256 предыдущего текста в список earlier_digests этой записи
манифеста в том же изменении, иначе uninstall оставит на месте каждую
неотредактированную копию, записанную более ранним релизом. Получите дайджест
текста на последнем теге релиза с помощью
git show <tag>:<template path> | sha256sum; шаблон не должен содержать
токен пути ${...}. tests/unit/test_template_digests.py завершается
ошибкой, когда поставленный шаблон не учтён.
2. Напишите страницу документации
Создайте site/content/docs/harnesses/<slug>.mdx, охватывающую:
- Процесс установки
- Сопоставление профиля с нативной конфигурацией
- Оговорки о совместимости
- Рецепты проверки
- Рецепты обновления и удаления
- Поверхность шлюза соответствия
- Таблицу устранения неполадок
- Таблицу параметров конфигурации
3. Напишите тесты
tests/packaging/test_<slug>_adapter.py
tests/unit/test_<slug>_adapter.pyМинимальное покрытие тестами:
test_install_creates_expected_filestest_verify_passes_after_installtest_uninstall_removes_files
4. Проверьте локально
apothem install --harness <slug>
apothem verify --harness <slug>
python -m apothem.conformity.gate --all .5. Отправьте запрос на включение изменений
Откройте PR с:
- реализация адаптера
- страница документации по адресу
site/content/docs/harnesses/<slug>.mdx - тесты
- регистрация точки входа в
pyproject.toml, записьHARNESS_REGISTRYвsrc/apothem/lib/harness_registry_data.py(с увеличением тамSUPPORTED_HARNESS_COUNT) и идентификатор в перечисленииharnessIdвsrc/apothem/schemas/profile.schema.json - запись в журнале изменений
Настройка учётной записи издателя
Настройка доверенного издателя npmjs.com для @ahmed-g-gad/apothem и предварительных требований к релизу на стороне GitHub.
Контрольный список проверки межмашинной синхронизации
Процедура проверки, подтверждающая, что адаптер Claude Code корректно устанавливается, валидируется и удаляется на новом хосте, с полными проверками переносимости.