Skip to content
Apothem
런북

새 하니스 어댑터 작성

새 Apothem 하니스 어댑터를 작성하고 게시하기 위한 런북.

Apothem에 1차 구성으로 포함하거나 서드파티 패키지로 만들기 위해 새 하니스 어댑터를 작성할 때 이 런북을 사용하세요.

사전 요구 사항

단계

1. 어댑터 구현

하니스 어댑터 작성하기 예제를 따라 대상 하니스를 위한 HarnessAdapter를 구현합니다.

어댑터가 mode: write_text와 ownership_class: operator-owned로 일반 텍스트 템플릿(JSON이나 YAML이 아닌 파일)을 기록하는 경우, 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_files
  • test_verify_passes_after_install
  • test_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의 진입점 등록, src/apothem/lib/harness_registry_data.py의 HARNESS_REGISTRY 항목(그 안의 SUPPORTED_HARNESS_COUNT를 올림), 그리고 src/apothem/schemas/profile.schema.json의 harnessId 열거형에 있는 ID
  • 변경 로그 항목

On this page