기여 가이드
기준일: 2026-07-26
난이도: 중급
공식 기준: Contributing
개요
Hermes Agent 오픈소스 기여 가이드 — 개발 환경, 코드 스타일, 크로스 플랫폼, 보안, PR 프로세스 — 를 한국어로 정리합니다.
핵심 개념
| 항목 | 설명 |
|---|---|
| 표준 설치 + dev extras | 일반 설치 후 테스트/문서 의존성 추가 |
| venv outside tree | 소스 트리 밖 venv 권장 |
| Cross-platform | Windows/macOS/Linux — termios 등 가드 |
| Security first | 명령 승인, 시크릿, 샌드박스 |
| PR 단위 | 작은 변경 + 테스트 + 문서 |
상세
Contribution Priorities
- 버그 수정·테스트·문서 개선 환영
- 새 플랫폼/provider는 기존 패턴·플러그인 경로 우선
- 보안 민감 변경은 설계 논의 먼저
Common paths
- 문서/오타
- 도구·스킬
- 어댑터/플러그인
- 코어 루프/압축 — 영향 범위 큼, 테스트 필수
Development Setup
Prerequisites: Python 3.11+, git, 권장 uv
표준 설치 후 dev extras
# 표준 설치 후
# Add dev/test extras on top of the standard install
# Optional: browser tools / docs site deps
Manual clone fallback
# Create venv with Python 3.11, OUTSIDE the source tree
# Install with all extras (messaging, cron, ...)
# Optional: browser tools
Configure
# ~/.hermes/.env 에 최소 1개 LLM provider 키
hermes chat
Tests
# 프로젝트 문서에 정의된 pytest / make test 경로 따름
Code Style
- 기존 파일 패턴 일치 (포매터/린트 설정 준수)
- public API 변경 시 문서 동시 수정
- 타입·에러 메시지 사용자 친화적
Cross-Platform Compatibility
termios/fcntl— Unix 전용, Windows 가드- File encoding — UTF-8 명시
- Process management — 시그널/subprocess 차이
- Path separators —
pathlib사용
Security Considerations
기존 보호:
- dangerous command approval
- 사용자 allowlist / pairing
- 컨테이너 백엔드 격리
- 시크릿 env / secrets store
기여 시 금지에 가까운 실수:
- 기본 allow-all
- 시크릿 로그
- 샌드박스 우회 옵션을 기본 켜기
PR Process (요약)
- 이슈/의도 명확화
- 최소 변경 브랜치
- 테스트 통과
- 사용자 문서·changelog 필요 시 업데이트
- 리뷰 피드백 반영
체크리스트
- 이 페이지의 공식 문서를 원문과 대조했다
- 로컬 환경에서 관련 명령/
config.yaml항목을 확인했다 - 보안·allowlist·자격증명 노출 위험을 점검했다
- 다음 단계 문서로 연결 경로를 확인했다
다음 단계
- 관련 공식 문서: Contributing
- 상위 허브: Hermes Agent 소개
- 문제 해결: 트러블슈팅
기준일: 2026-07-26 — 공식 문서 동기화 코퍼스