AIRGAP StudioAIRGAP Studio

Hooks (훅)

AIRGAP Assistant의 이벤트 훅 설정 및 활용

개요

Hooks는 AIRGAP Assistant에서 특정 이벤트가 발생할 때 자동으로 실행되는 명령어 또는 스크립트를 정의하는 기능입니다. 반복적인 후처리 작업을 자동화하여 작업 효율을 높일 수 있습니다.

지원되는 이벤트 유형

이벤트발생 시점활용 예시
onSaveAI가 파일을 저장한 후포맷터 실행, 린트 검사
onFileCreateAI가 새 파일을 생성한 후파일 헤더 추가, 인덱스 업데이트
onCommit체크포인트 커밋 생성 후변경 로그 갱신
onTaskStartAI 태스크 시작 시환경 변수 로드, 상태 초기화
onTaskEndAI 태스크 완료 시결과 로깅, 정리 작업

훅 설정 방법

.clinerules 파일 내에 ## Hooks 섹션을 추가하여 훅을 정의합니다.

# .clinerules

## Hooks

### onSave
- 저장된 파일이 .ts 또는 .tsx 확장자인 경우 `npx prettier --write` 명령을 실행한다.
- 저장된 파일이 .py 확장자인 경우 `black` 포맷터를 실행한다.

### onFileCreate
- 새 TypeScript 파일에 프로젝트 라이선스 헤더를 추가한다.
- 컴포넌트 파일 생성 시 같은 디렉터리에 테스트 파일 템플릿을 함께 생성한다.

### onTaskEnd
- 수행한 작업 내용을 CHANGELOG.md에 기록한다.

훅 실행 방식

훅에 정의된 명령은 AI가 해당 이벤트를 감지했을 때 자동으로 제안합니다. 자동 승인이 설정되어 있지 않으면 각 훅 실행 전에 사용자 확인을 요청합니다.

AI: 파일 utils.ts를 저장했습니다.
    onSave 훅에 따라 prettier를 실행할까요? [승인/거부]

: 자동 승인 설정에서 명령어 실행을 허용하면 훅이 별도 확인 없이 실행됩니다. 안전한 명령(포맷터, 린터 등)에 대해서만 자동 승인을 활성화하는 것을 권장합니다.

훅 활용 예시

코드 품질 자동화

### onSave
- ESLint 검사를 실행하고 자동 수정 가능한 항목은 수정한다.
- TypeScript 타입 체크를 실행하여 타입 오류를 보고한다.

프로젝트 정리

### onTaskEnd
- 생성된 임시 파일을 정리한다.
- 변경된 파일 목록과 요약을 출력한다.

보안 고려사항

에어갭 환경에서 훅을 사용할 때 다음 사항에 유의하세요.

  • 실행 명령 검토: 훅에 등록된 명령이 의도하지 않은 동작을 하지 않는지 확인합니다.
  • 권한 관리: 시스템 파일을 수정하거나 관리자 권한이 필요한 명령은 훅에 등록하지 마세요.
  • 스크립트 출처 확인: 외부에서 가져온 .clinerules 파일의 훅 내용을 반드시 검토한 후 사용합니다.

주의: 신뢰할 수 없는 출처의 규칙 파일을 그대로 사용하면 의도하지 않은 명령이 실행될 수 있습니다. 항상 훅 내용을 직접 확인하세요.

관련 문서