런북
새 하니스 어댑터 작성
새 Apothem 하니스 어댑터를 작성하고 게시하기 위한 런북.
Apothem에 1차 구성으로 포함하거나 서드파티 패키지로 만들기 위해 새 하니스 어댑터를 작성할 때 이 런북을 사용하세요.
사전 요구 사항
- HarnessAdapter 프로토콜에 대한 이해
- 대상 하니스의 구성 형식에 대한 이해
- Python 3.10+
단계
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_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의 진입점 등록,src/apothem/lib/harness_registry_data.py의HARNESS_REGISTRY항목(그 안의SUPPORTED_HARNESS_COUNT를 올림), 그리고src/apothem/schemas/profile.schema.json의harnessId열거형에 있는 ID- 변경 로그 항목