GitHub 관리자 도구

저장소 관리를 위한 GitHub Manager 음성 도구 사용 완전 가이드

GitHub Manager는 GitHub 저장소, 이슈, 풀 리퀘스트 등을 관리하기 위한 포괄적인 음성 활성화 도구 세트를 제공합니다. 각 도구는 자연어 명령과 특정 키워드로 트리거되도록 설계되었습니다.

저장소 관리

사용자 저장소 가져오기

도구: get_user_repositories

설명: 인증된 사용자의 저장소 목록을 검색합니다.

트리거 문구:

  • "내 저장소 보여줘"
  • "내 GitHub 저장소 나열해줘"
  • "어떤 저장소를 가지고 있어?"
  • "내 비공개/공개 저장소 보여줘"
  • "최신 저장소 가져와줘"

매개변수:

  • visibility: 저장소 가시성으로 필터링 (all, public, private)
  • affiliation: 사용자 소속으로 필터링 (owner, collaborator, organization_member)
  • sort: 저장소 정렬 기준 (created, updated, pushed, full_name)
  • per_page: 페이지당 결과 수

저장소 세부 정보 가져오기

도구: get_repository_details

설명: 특정 저장소에 대한 포괄적인 정보를 가져옵니다.

트리거 문구:

  • "[저장소 이름]의 세부정보 보여줘"
  • "[소유자]/[저장소] 저장소에 대해 말해줘"
  • "[저장소]의 상태가 어때?"
  • "[저장소]에 대한 정보 가져와줘"
  • "[저장소] 저장소 설명해줘"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)

저장소 콘텐츠 가져오기

도구: get_repository_contents

설명: 저장소의 디렉토리 또는 파일 내용을 탐색합니다.

트리거 문구:

  • "[저장소]의 파일 보여줘"
  • "[저장소]의 [경로] 내용 나열해줘"
  • "[폴더] 디렉토리에 뭐가 있어?"
  • "[저장소] 저장소 구조 탐색해줘"
  • "[저장소]의 루트 디렉토리 보여줘"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)
  • path: 디렉토리 또는 파일 경로 (선택, 기본값은 루트)
  • ref: 브랜치 또는 커밋 참조 (선택, 기본값은 기본 브랜치)

파일 내용 가져오기

도구: get_file_content

설명: 저장소의 특정 파일의 원시 내용을 검색합니다.

트리거 문구:

  • "[파일]의 내용 보여줘"
  • "[저장소]에서 [파일] 읽어줘"
  • "[파일]의 코드 가져와줘"
  • "[파일] 내용 표시해줘"
  • "[저장소]의 [파일] 열어줘"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)
  • path: 파일 경로 (필수)
  • ref: 브랜치 또는 커밋 참조 (선택)

저장소 트리 가져오기

도구: get_repository_tree

설명: 저장소의 완전한 Git 트리 구조를 가져옵니다.

트리거 문구:

  • "[저장소]의 전체 구조 보여줘"
  • "완전한 파일 트리 가져와줘"
  • "저장소 계층 구조 표시해줘"
  • "[저장소]의 모든 파일과 폴더 보여줘"
  • "프로젝트 구조 매핑해줘"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)
  • tree_sha: 트리 SHA 또는 브랜치 이름 (선택, 기본값은 기본 브랜치)
  • recursive: 재귀적으로 트리 가져오기 (선택, 기본값은 true)

저장소 코드 검색

도구: search_repository_code

설명: 저장소 내에서 코드 패턴, 함수 또는 텍스트를 검색합니다.

트리거 문구:

  • "[저장소]에서 [용어] 검색해줘"
  • "코드에서 [함수 이름] 찾아줘"
  • "[저장소]에서 [패턴] 찾아줘"
  • "[키워드]로 [저장소] 검색해줘"
  • "[텍스트]의 모든 발생 찾아줘"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)
  • query: 검색 쿼리 (필수)
  • path: 특정 경로로 검색 제한
  • language: 프로그래밍 언어로 필터링
  • per_page: 페이지당 결과 수

코드 구조 분석

도구: analyze_code_structure

설명: 프로젝트 구성, 아키텍처 및 패턴에 대한 통찰력을 제공합니다.

트리거 문구:

  • "[저장소]의 구조 분석해줘"
  • "이 프로젝트의 아키텍처가 어때?"
  • "[저장소]에 대한 통찰력 줘"
  • "[저장소] 코드베이스 분석해줘"
  • "프로젝트 구성 설명해줘"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)
  • include_dependencies: 종속성 분석 포함 (선택)

저장소 브랜치 가져오기

도구: get_repository_branches

설명: 저장소의 모든 브랜치를 나열합니다.

트리거 문구:

  • "[저장소]의 브랜치 보여줘"
  • "모든 브랜치 나열해줘"
  • "[저장소]에 어떤 브랜치가 있어?"
  • "[저장소]의 브랜치 목록 가져와줘"
  • "사용 가능한 브랜치 보여줘"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)

저장소 레이블 가져오기

도구: get_repository_labels

설명: 저장소에서 사용 가능한 모든 레이블을 가져옵니다.

트리거 문구:

  • "[저장소]의 레이블 보여줘"
  • "이슈 레이블 나열해줘"
  • "어떤 레이블이 사용 가능해?"
  • "[저장소]의 모든 레이블 가져와줘"
  • "레이블 옵션 보여줘"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)

이슈 관리

저장소 이슈 가져오기

도구: get_repository_issues

설명: 필터링 옵션을 사용하여 특정 저장소의 이슈를 검색합니다.

트리거 문구:

  • "[저장소]의 이슈 보여줘"
  • "모든 열린 이슈 나열해줘"
  • "[레이블] 레이블이 있는 이슈 가져와줘"
  • "닫힌 이슈 보여줘"
  • "어떤 이슈가 주목이 필요해?"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)
  • state: 상태로 필터링 (open, closed, all)
  • labels: 레이블로 필터링 (쉼표로 구분)
  • sort: 정렬 기준 (created, updated, comments)
  • direction: 정렬 방향 (asc, desc)
  • per_page: 페이지당 결과 수

이슈 세부 정보 가져오기

도구: get_issue_details

설명: 특정 이슈에 대한 완전한 정보를 가져옵니다.

트리거 문구:

  • "이슈 #[번호] 보여줘"
  • "이슈 [번호]의 세부정보 가져와줘"
  • "이슈 #[번호]의 상태가 어때?"
  • "이슈 [번호]에 대해 말해줘"
  • "이슈 번호 [번호] 열어줘"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)
  • issue_number: 이슈 번호 (필수)

이슈 생성

도구: create_issue

설명: 저장소에 새 이슈를 생성합니다. 설명에 자동으로 @claude를 언급합니다.

트리거 문구:

  • "새 이슈 만들어줘"
  • "[주제]에 대한 이슈 열어줘"
  • "버그 보고해줘"
  • "[문제]에 대한 이슈 제출해줘"
  • "[제목] 제목으로 이슈 만들어줘"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)
  • title: 이슈 제목 (필수)
  • body: 이슈 설명
  • labels: 적용할 레이블
  • assignees: 할당할 사용자

이슈 업데이트

도구: update_issue

설명: 기존 이슈를 수정합니다. 업데이트에 자동으로 @claude를 언급합니다.

트리거 문구:

  • "이슈 #[번호] 업데이트해줘"
  • "이슈 [번호] 제목 변경해줘"
  • "이슈 #[번호] 닫아줘"
  • "이슈 [번호] 다시 열어줘"
  • "이슈 [번호]에 레이블 추가해줘"
  • "이슈 [번호]를 [사용자]에게 할당해줘"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)
  • issue_number: 이슈 번호 (필수)
  • title: 새 제목
  • body: 새 설명
  • state: 상태 변경 (open, closed)
  • labels: 레이블 업데이트
  • assignees: 담당자 업데이트

이슈 댓글 추가

도구: add_issue_comment

설명: 이슈 또는 풀 리퀘스트에 댓글을 추가합니다. 자동으로 @claude를 언급합니다.

트리거 문구:

  • "이슈 #[번호]에 댓글 달아줘"
  • "이슈 [번호]에 댓글 추가해줘"
  • "이슈 [번호]에 답장해줘"
  • "PR #[번호]에 댓글 게시해줘"
  • "이슈 [번호]에 응답해줘"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)
  • issue_number: 이슈 또는 PR 번호 (필수)
  • body: 댓글 텍스트 (필수)

이슈 댓글 가져오기

도구: get_issue_comments

설명: 이슈 또는 풀 리퀘스트의 모든 댓글을 검색합니다.

트리거 문구:

  • "이슈 #[번호]의 댓글 보여줘"
  • "이슈 [번호] 댓글 가져와줘"
  • "PR #[번호]의 댓글 읽어줘"
  • "이슈 [번호]의 모든 댓글 나열해줘"
  • "이슈 [번호]에 대해 사람들이 뭐라고 해?"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)
  • issue_number: 이슈 또는 PR 번호 (필수)

이슈 댓글 가져오기

도구: get_issue_comment

설명: ID로 특정 댓글에 대한 세부 정보를 가져옵니다.

트리거 문구:

  • "댓글 [id] 보여줘"
  • "ID [id]인 댓글 가져와줘"
  • "특정 댓글 [id] 읽어줘"
  • "댓글 번호 [id] 표시해줘"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)
  • comment_id: 댓글 ID (필수)

풀 리퀘스트 관리

풀 리퀘스트 가져오기

도구: get_pull_requests

설명: 필터링 옵션을 사용하여 저장소의 풀 리퀘스트를 나열합니다.

트리거 문구:

  • "풀 리퀘스트 보여줘"
  • "열린 PR 나열해줘"
  • "[저장소]의 PR 가져와줘"
  • "병합된 풀 리퀘스트 보여줘"
  • "어떤 PR이 리뷰가 필요해?"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)
  • state: 상태로 필터링 (open, closed, all)
  • head: 헤드 브랜치로 필터링
  • base: 베이스 브랜치로 필터링
  • sort: 정렬 기준 (created, updated, popularity)
  • direction: 정렬 방향 (asc, desc)
  • per_page: 페이지당 결과 수

풀 리퀘스트 세부 정보 가져오기

도구: get_pull_request_details

설명: 특정 풀 리퀘스트에 대한 포괄적인 정보를 가져옵니다.

트리거 문구:

  • "PR #[번호] 보여줘"
  • "풀 리퀘스트 [번호] 세부정보 가져와줘"
  • "PR [번호]의 상태가 어때?"
  • "풀 리퀘스트 [번호]에 대해 말해줘"
  • "PR 번호 [번호] 검토해줘"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)
  • pr_number: 풀 리퀘스트 번호 (필수)

풀 리퀘스트 생성

도구: create_pull_request

설명: 새 풀 리퀘스트를 생성합니다. 설명에 자동으로 @claude를 언급합니다.

트리거 문구:

  • "풀 리퀘스트 만들어줘"
  • "[브랜치]에서 [베이스]로 PR 열어줘"
  • "리뷰를 위한 PR 제출해줘"
  • "[제목] 제목으로 풀 리퀘스트 만들어줘"
  • "[헤드]를 [베이스]에 병합해줘"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)
  • title: PR 제목 (필수)
  • head: 헤드 브랜치 (필수)
  • base: 베이스 브랜치 (필수)
  • body: PR 설명
  • draft: 드래프트 PR로 생성

풀 리퀘스트 업데이트

도구: update_pull_request

설명: 기존 풀 리퀘스트를 수정합니다. 자동으로 @claude를 언급합니다.

트리거 문구:

  • "PR #[번호] 업데이트해줘"
  • "풀 리퀘스트 [번호] 제목 변경해줘"
  • "PR [번호] 닫아줘"
  • "풀 리퀘스트 [번호] 편집해줘"
  • "PR 설명 수정해줘"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)
  • pr_number: 풀 리퀘스트 번호 (필수)
  • title: 새 제목
  • body: 새 설명
  • state: 상태 변경 (open, closed)

PR 모니터링

PR 모니터링 시작

도구: start_pr_monitoring

설명: 음성 알림과 함께 새 풀 리퀘스트에 대한 저장소 모니터링을 시작합니다.

트리거 문구:

  • "PR에 대한 [저장소] 모니터링 시작해줘"
  • "새 풀 리퀘스트에 대한 [저장소] 감시해줘"
  • "[저장소]의 새 PR에 대해 알려줘"
  • "풀 리퀘스트 모니터링해줘"
  • "[저장소]의 새 PR 추적해줘"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)
  • checkIntervalMs: 밀리초 단위 확인 간격 (선택, 기본값: 30000)
  • voiceAnnouncements: 음성 알림 활성화 (선택, 기본값: true)

PR 모니터링 중지

도구: stop_pr_monitoring

설명: 풀 리퀘스트에 대한 저장소 모니터링을 중지합니다.

트리거 문구:

  • "[저장소] 모니터링 중지해줘"
  • "PR 감시 중지해줘"
  • "[저장소]의 PR 알림 비활성화해줘"
  • "PR 모니터링 끄기"
  • "풀 리퀘스트 추적 중지해줘"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)

PR 모니터링 상태 확인

도구: check_pr_monitoring_status

설명: 모든 또는 특정 저장소에 대한 현재 PR 모니터링 상태를 확인합니다.

트리거 문구:

  • "어떤 저장소를 모니터링하고 있어?"
  • "모니터링 상태 보여줘"
  • "[저장소]의 PR 모니터링 확인해줘"
  • "모니터링된 저장소 나열해줘"
  • "[저장소]를 감시하고 있어?"

매개변수:

  • owner: 저장소 소유자 (선택)
  • repo: 저장소 이름 (선택)

수동으로 새 PR 확인

도구: manually_check_new_prs

설명: 새 풀 리퀘스트에 대한 일회성 확인을 수행합니다.

트리거 문구:

  • "지금 새 PR 확인해줘"
  • "[저장소]에 새 풀 리퀘스트 있어?"
  • "[저장소]의 PR 수동으로 확인해줘"
  • "최근 PR 찾아줘"
  • "풀 리퀘스트 빠른 확인해줘"

매개변수:

  • owner: 저장소 소유자 사용자 이름 (필수)
  • repo: 저장소 이름 (필수)

탐색 도구

티켓으로 이동

도구: navigate_to_ticket

설명: 번호로 GitHub 이슈 또는 풀 리퀘스트로 직접 이동합니다.

트리거 문구:

  • "이슈 #[번호]로 이동해줘"
  • "티켓 [번호] 열어줘"
  • "PR [번호]로 이동해줘"
  • "이슈 번호 [번호] 보여줘"
  • "풀 리퀘스트 [번호]로 데려가줘"

매개변수:

  • ticket_number: 이슈 또는 PR 번호 (필수)
  • reason: 탐색 이유

도구: navigate_to_path

설명: 특정 애플리케이션 경로 및 페이지로 이동합니다.

트리거 문구:

  • "[페이지 이름]으로 이동해줘"
  • "설정으로 이동해줘"
  • "대시보드 열어줘"
  • "[섹션]으로 데려가줘"
  • "[페이지] 보여줘"

매개변수:

  • path: 애플리케이션 경로 (필수)
  • query: 쿼리 매개변수
  • reason: 탐색 이유

앱 라우트 나열

도구: list_app_routes

설명: 사용 가능한 모든 애플리케이션 라우트 및 탐색 옵션을 표시합니다.

트리거 문구:

  • "어떤 페이지로 이동할 수 있어?"
  • "사용 가능한 라우트 보여줘"
  • "모든 페이지 나열해줘"
  • "어떤 탐색 옵션이 있어?"
  • "사용 가능한 모든 경로 보여줘"

매개변수: 없음


페이지 내 탐색

도구: in_page_navigation

설명: 현재 페이지 내에서 스크롤 및 탐색을 제어합니다.

트리거 문구:

  • "아래로 스크롤해줘"
  • "맨 위로 가줘"
  • "맨 아래로 스크롤해줘"
  • "페이지 위/아래"
  • "[요소]로 스크롤해줘"

매개변수:

  • action: 탐색 작업 (scroll_down, scroll_up, page_down, page_up, scroll_to_top, scroll_to_bottom, scroll_to_element)
  • selector: scroll_to_element를 위한 CSS 선택자
  • amount: 픽셀 단위 스크롤 양

대화로 돌아가기

도구: return_to_conversation

설명: 이동 후 음성 대화 인터페이스로 돌아갑니다.

트리거 문구:

  • "대화로 돌아가줘"
  • "음성 채팅으로 돌아가줘"
  • "다시 데려가줘"
  • "대화로 돌아가기"
  • "메인 화면으로 돌아가줘"

매개변수:

  • reason: 돌아가는 이유

시스템 관리

에이전트 상태 재설정

도구: reset_agent_state

설명: 새로 시작하기 위해 다양한 유형의 에이전트 상태 및 컨텍스트를 지웁니다.

트리거 문구:

  • "에이전트 재설정해줘"
  • "모든 상태 지워줘"
  • "새로 시작해줘"
  • "대화 기록 지워줘"
  • "작업 공간 재설정해줘"

매개변수:

  • clearWorkspace: 작업 공간 데이터 지우기 (기본값: true)
  • clearConversation: 대화 기록 지우기 (기본값: true)
  • clearEventLogs: 이벤트 로그 지우기 (기본값: true)
  • clearNavigationHistory: 탐색 기록 지우기 (기본값: true)
  • clearToolCallHistory: 도구 호출 기록 지우기 (기본값: true)
  • clearPRMonitoring: PR 모니터링 상태 지우기 (기본값: false)
  • clearAuthentication: 인증 토큰 지우기 (기본값: false)
  • clearUserPreferences: 사용자 기본 설정 지우기 (기본값: false)
  • clearCache: 캐시 지우기 (기본값: true)
  • clearTempFiles: 임시 파일 지우기 (기본값: true)

효과적인 사용을 위한 팁

  1. 자연어: 도구는 자연어를 이해하도록 설계되었습니다. 정확한 문구를 사용할 필요가 없습니다.

  2. 컨텍스트 인식: 에이전트는 대화의 컨텍스트를 기억하므로 한 번 언급한 후 "저장소" 또는 "그 이슈"를 참조할 수 있습니다.

  3. 자동 언급: 이슈, PR 및 댓글을 생성하거나 업데이트할 때 에이전트는 추적 가능성을 유지하기 위해 자동으로 @claude 언급을 포함합니다.

  4. 음성 피드백: 많은 도구가 작업 완료 시 음성 피드백을 제공하며, 특히 모니터링 및 탐색 작업에서 그렇습니다.

  5. 작업 연결: "방금 논의한 버그에 대한 이슈를 만들고 나에게 할당해줘"와 같이 여러 작업을 함께 연결할 수 있습니다.

  6. 스마트 기본값: 대부분의 선택적 매개변수에는 합리적인 기본값이 있으므로 변경하려는 것만 지정하면 됩니다.

  7. 오류 처리: 에이전트는 문제가 발생하면 유용한 오류 메시지를 제공하고 가능한 경우 대안을 제안합니다.

일반적인 워크플로우

버그 보고 워크플로우

  1. "'모바일에서 버튼이 작동하지 않음' 제목으로 이슈 만들어줘"
  2. "버그 및 높은 우선순위 레이블 추가해줘"
  3. "모바일 팀에 할당해줘"
  4. "스크린샷과 함께 댓글 추가해줘"

PR 검토 워크플로우

  1. "열린 풀 리퀘스트 보여줘"
  2. "PR #42의 세부정보 가져와줘"
  3. "PR #42의 변경사항 보여줘"
  4. "변경사항을 승인하는 댓글 추가해줘"

저장소 탐색

  1. "저장소 구조 보여줘"
  2. "인증 코드 검색해줘"
  3. "auth 폴더의 내용 보여줘"
  4. "login.js의 파일 내용 가져와줘"

모니터링 설정

  1. "새 PR에 대한 my-repo 모니터링 시작해줘"
  2. "모니터링 상태 확인해줘"
  3. "새 PR이 도착하면 음성으로 알려줘"
  4. "완료되면 모니터링 중지해줘"