1. 구글 제미나이 CLI 소개 및 설치 [0]

thumbnail

구글 제미나이 CLI는 터미널 기반의 AI 코딩 에이전트로, 무료로 다양한 구글 생태계 및 외부 도구와 연동하여 사용할 수 있다.

1.1. 구글 제미나이 CLI의 특징 [0]

  1. 빠른 성장과 확장성 [0]
    1. AI 코딩 에이전트 시장에서 빠르게 성장하고 있으며, 최근 업데이트를 통해 다양한 도구와 손쉽게 연결할 수 있게 되었다. [0]
    2. 50개 이상의 파트너사와 연동되어 있고, 다양한 데이터베이스 통합을 지원한다. [4]
  2. 무료 사용 및 구글 생태계 연동 [5]
    1. 구글 계정만 있으면 누구나 무료로 사용할 수 있으며, 구글 생태계와 긴밀하게 연결된다. [5]
    2. 하루 1,000번의 리퀘스트까지 무료로 제공되지만, 실제로는 프로 모델 사용 시 10~20번 정도 사용하면 플래시 모델로 자동 전환된다. [15]
    3. 플래시 모델은 거의 무제한에 가깝게 사용할 수 있어 연습용으로 적합하다. [17]
  3. 터미널 기반 AI 코딩 에이전트 [11]
    1. 2024년 6월 구글이 출시한 터미널 기반 AI 코딩 에이전트이다. [11]
    2. 터미널에서 제미나이를 실행하여 대화하고, 코드를 작성하며, 파일을 수정하고, 명령어를 실행할 수 있다. [12]
    3. 클로드 코드와 유사한 인터페이스를 가지고 있다. [13]

1.2. 구글 제미나이 CLI 설치 및 로그인 [18]

  1. WSL 및 우분투 설치 (윈도우 사용자) [18]
    1. 윈도우 사용자는 커서 AI의 터미널 기능을 이용해 WSL(Windows Subsystem for Linux)을 설치하고, 그 위에 우분투(Ubuntu) 리눅스를 설치해야 한다. [18]
    2. WSL 설치 방법은 다른 영상에서 다루므로 여기서는 생략한다. [21]
  2. 제미나이 CLI 설치 명령어 [22]
    1. 우분투 환경에서 특정 명령어를 입력하여 제미나이 CLI를 설치한다. [22]
    2. 공식 홈페이지(geminai.com)에서도 설치 명령어를 제공하므로 이를 복사하여 사용할 수 있다. [23]
  3. 설치 확인 및 로그인 [25]
    1. 설치가 완료되면 터미널에 'geminai'를 입력했을 때 초기 화면이 나타난다. [25]
    2. 처음 실행 시 권한 부여 방식을 선택해야 하며, 1번 옵션인 구글 계정 로그인을 선택한다. [26]
    3. API 키 연결(2번)이나 버텍스 AI(3번) 방식도 있지만, 무료 사용 시 구글 로그인 방식이 더 많은 무료 횟수를 제공한다. [30]
    4. 로그인 화면에서 구글 계정으로 로그인하면 승인 완료 메시지가 나타나며 사용할 수 있다. [33]

2. 토큰 절약 및 필수 명령어 활용법 [36]

thumbnail

제미나이 CLI를 효율적으로 사용하기 위한 토큰 절약 방법과 주요 명령어들을 알아본다.

2.1. 토큰 절약 방법 [36]

  1. .gitignore 파일 설정 [38]
    1. 프로젝트 내에서 AI가 참고할 필요 없는 큰 폴더(예: node_modules)를 .gitignore 파일에 추가하여 무시하게 설정한다. [38]
    2. 이를 통해 AI가 불필요한 파일을 스캔하는 것을 방지하여 한 번에 소비되는 토큰 수를 줄일 수 있다. [42]
  2. 필요한 파일만 사용 [47]
    1. 대형 프로젝트의 경우, 전체 파일을 AI에 넣기보다는 필요한 부분만 잘라내어 작업하는 것이 토큰 소비를 줄이는 데 도움이 된다. [47]
    2. 하지만 이 방법은 실제 적용이 어려울 수 있다. [48]
  3. 대화 압축 (compress) [49]
    1. 대화가 길어질 경우 compress 명령어를 사용하여 기존 대화 내용을 요약한 후 다시 대화를 이어간다. [49]
    2. 이 방법은 토큰 사용량을 최대 90%까지 절약할 수 있으며, 클로드 코드에서도 유사한 기능이 있다. [49]

2.2. 필수 명령어 [51]

  1. status (사용량 확인) [52]
    1. status 명령어를 입력하면 현재 제미나이 사용량, 리퀘스트 횟수, 인풋/아웃풋 토큰 양을 확인할 수 있다. [52]
  2. memory (전역 메모리 관리) [57]
    1. memory show로 현재 저장된 메모리 내용을 확인한다. [57]
    2. memory add "내용"을 통해 프로젝트에 대한 전역적인 설명을 메모리에 저장할 수 있다. [59]
    3. 이 내용은 제미나이를 실행할 때마다 전역으로 기록되므로, 프로젝트 전반에 대한 정보를 저장하는 데 사용한다. [61]
  3. chat (채팅 저장 및 불러오기) [63]
    1. chat save [이름] 명령어로 현재 진행 중인 채팅을 저장한다. [63]
    2. chat list로 저장된 채팅 목록을 확인할 수 있다. [65]
    3. chat resume [이름]으로 저장된 체크포인트를 불러와 대화를 이어서 진행할 수 있다. [66]
  4. clear (화면 지우기) [68]
    1. clear 명령어로 터미널 화면을 깨끗하게 지울 수 있다. [68]
  5. init (프로젝트 초기화) [69]
    1. init 명령어를 실행하면 클로드 코드의 claude.md처럼 geminai.md 파일이 생성된다. [69]
    2. 이 파일에 프로젝트 개요, 해야 할 일, 사용 기술 등 프로젝트 이해에 필요한 내용을 직접 설정하여 넣어줄 수 있다. [72]
  6. 슬래시 (/) 명령어 [76]
    1. 슬래시(/)를 입력하면 사용 가능한 명령어 목록을 확인할 수 있다. [76]
    2. /about: 현재 모델, OS 등의 정보를 확인한다. [78]
    3. /auth: 로그인 방식(구글 로그인, API 키, 버텍스 AI)을 결정한다. [79]
    4. /bug: 버그 리포트를 제출한다. [80]
    5. /chat, /clear, /compress, /info, /memory 등 앞서 설명한 명령어들도 슬래시를 통해 실행할 수 있다. [80]

3. 제미나이 CLI의 최신 업데이트 및 확장 기능 [83]

thumbnail

제미나이 CLI는 지속적인 업데이트를 통해 기능이 강화되고 있으며, 특히 익스텐션 시스템을 통해 다양한 외부 서비스를 연동할 수 있다.

  1. 빠른 발전과 통합 [83]
    1. 제미나이 CLI는 여러 번의 업데이트를 통해 빠르게 발전하고 있다. [83]
    2. 9월에는 Fast MCP가 통합되어 GitHub, Slack, Notion 등의 서비스를 빠르게 설치 및 관리할 수 있게 되었고, 10개 이상의 데이터베이스 확장이 이루어졌다. [84]
  2. 익스텐션 시스템 도입 [86]
    1. 10월에는 익스텐션 시스템이 도입되어 다양한 확장 프로그램을 제미나이 CLI에 즉시 사용할 수 있게 되었다. [86]
    2. 이는 크롬 브라우저의 확장 프로그램과 유사한 개념으로, 명령어 하나로 설치하여 바로 사용할 수 있다. [89]
    3. MySQL, Figma, Canva, GitLab 등 널리 사용되는 서비스와 구글 자체 서비스들을 포함하여 현재 91개 이상의 익스텐션이 제공되며, 커뮤니티를 통해 계속 증가하고 있다. [90]

4. 구글 시트 연동 스터디룸 예약 시스템 프로젝트 [96]

thumbnail

제미나이 CLI를 활용하여 구글 시트와 연동되는 스터디룸 예약 시스템을 개발하는 과정을 살펴본다.

4.1. 프로젝트 개요 및 초기 개발 [96]

  1. 프로젝트 목표 [96]
    1. 날짜, 시간대, 이름 등을 입력하면 구글 시트에 자동으로 저장되는 스터디룸 예약 시스템을 개발한다. [96]
    2. 예약된 시간은 예약 불가로 표시되도록 구현한다. [98]
  2. 프롬프트 준비 및 개발 요청 [99]
    1. 구글 시트 API를 이용하고, HTML, CSS, 바닐라 자바스크립트만 사용하도록 프롬프트를 준비한다. [102]
    2. 내부 기능 및 CSS 구현 방식 등을 상세히 작성한 프롬프트를 제미나이 CLI에 입력하여 개발을 요청한다. [104]
  3. 초기 개발 결과 확인 [106]
    1. 개발이 완료되면 index.html 파일을 직접 열어 브라우저에서 확인한다. [106]
    2. 초기 화면은 나타나지만, 구글 계정 인증이 필요하며, 현재는 설정이 없어 요청 형식이 잘못되었다는 오류가 발생한다. [110]

4.2. 구글 클라우드 플랫폼 설정 및 API 연동 [111]

  1. config.js 파일 설정 [111]
    1. config.js 파일에 API 키, 클라이언트 ID, 스프레드시트 ID, 시트 이름, 리드 레인지 등의 설정을 추가해야 한다. [111]
  2. API 키 발급 [116]
    1. console.cloud.google.com에 접속하여 검색창에 '구글 시트'를 입력한다. [116]
    2. 구글 시트 API를 클릭하고 '사용'을 누른다. [119]
    3. '사용자 인증 정보 만들기'를 클릭하고 'API 키'를 선택한 후, 이름을 '예약 시스템'으로 지정하여 API 키를 생성한다. [121]
    4. 생성된 API 키를 복사하여 config.js 파일에 붙여넣는다. [124]
  3. OAuth 2.0 클라이언트 ID 발급 [126]
    1. 'OAuth 2.0 클라이언트 ID'를 선택하고, 애플리케이션 유형을 '웹 애플리케이션'으로 설정한 후 생성한다. [126]
    2. 발급된 클라이언트 ID를 복사하여 config.js 파일에 붙여넣는다. [129]
  4. 스프레드시트 ID 및 시트 이름 설정 [130]
    1. 새로운 구글 스프레드시트를 생성하고 이름을 'Reservation'으로 지정한다. [130]
    2. 스프레드시트 URL에서 'd/'와 '/edit' 사이의 값을 복사하여 스프레드시트 ID로 config.js에 붙여넣는다. [132]
    3. 시트 이름을 'Sheet1'에서 'Bookings'로 변경하고, 이 이름을 config.js의 시트 네임에 입력한다. [135]
  5. 리다이렉트 URI 및 자바스크립트 출처 등록 [137]
    1. config.js를 저장하고 서버를 실행한 후 계정 인증을 시도하면 '리다이렉트 URI 불일치' 오류가 발생한다. [137]
    2. 구글 클라우드 플랫폼의 OAuth 클라이언트 설정에서 '승인된 리디렉션 URI'에 서버 주소(예: http://localhost:8000)를 추가한다. [142]
    3. 다시 인증 시도 시 '자바스크립트 출처 등록' 오류가 발생하므로, '승인된 자바스크립트 원본'에도 동일하게 서버 주소를 추가한다. [144]
  6. 테스트 사용자 추가 [148]
    1. 구글 클라우드 플랫폼의 OAuth 동의 화면에서 '프로덕션' 단계가 아닌 '테스트' 단계로 돌아가 '테스트 사용자 추가'를 클릭한다. [148]
    2. 현재 접속하는 이메일 주소를 추가하고 저장하면 해당 계정으로 테스트 사용이 가능해진다. [150]
    3. 실제 서비스 시에는 '프로덕션' 단계로 전환하고 인증을 받아야 한다. [152]

4.3. 예약 시스템 동작 확인 및 개선점 [155]

  1. 구글 계정 인증 및 예약 [155]
    1. 모든 설정 후 구글 계정 인증을 다시 시도하면 엑세스 허용 창이 뜨고, 허용하면 로그인이 완료된다. [155]
    2. 날짜, 시간, 이름을 입력하고 예약하면 '성공적으로 예약되었습니다' 메시지가 나타난다. [157]
  2. 구글 스프레드시트 연동 확인 [159]
    1. 예약 정보가 구글 스프레드시트에 실시간으로 기록되는 것을 확인할 수 있다. [159]
  3. 개선점 및 한계 [161]
    1. 동일한 시간대에 예약이 중복되는 기능적 오류가 발생한다. [161]
    2. 페이지 새로고침 시 계정 인증을 다시 해야 하는 문제가 있다. [163]
    3. 이처럼 여러 수정이 필요하지만, 구글 스프레드시트를 데이터베이스로 활용하여 예약 시스템을 빠르게 구축할 수 있음을 보여준다. [165]

5. 제미나이 CLI의 장점 및 미래 전망 [170]

thumbnail

제미나이 CLI는 코딩 능력은 다소 부족하지만, 구글 생태계 통합과 무료 사용이라는 강력한 장점을 바탕으로 빠르게 발전하고 있다.

  1. 장점 [172]
    1. 빠른 업데이트 속도: 클로드 코드의 코딩 능력보다는 다소 떨어지지만, 빠르게 업데이트되며 격차를 좁히고 있다. [173]
    2. 구글 생태계 통합: 구글 서비스들을 한데 묶고, 익스텐션 시스템을 통해 다양한 외부 프로그램을 빠르게 연결할 수 있다. [175]
    3. 무료 사용: 프로 모델은 사용 제한이 있지만, 플래시 모델은 여러 번 테스트해 볼 수 있어 가성비가 뛰어나다. [177]
  2. 미래 전망 [179]
    1. 제미나이 CLI는 빠르게 진화하고 있으며, 조만간 클로드 코드와 어깨를 나란히 할 것으로 기대된다. [179]