챕터 15 · L2
Google Workspace CLI와 3도구 연동
gws + Cursor·Claude Code·Gemini CLI 조합 — 문서·데이터를 개발 워크플로우에 넣기
Google Workspace CLI(gws)를 Cursor·Claude Code·Gemini CLI와 조합해, 기획서·스프레드시트를 개발 맥락에 녹여 쓸 수 있어요.
참고 문서
공개 문서
15. Google Workspace CLI와 3도구 연동
아래는 content/courses/15-google-workspace-cli-integration.mdx 와 동일한 원문입니다. Markdown과 HTML 변환 결과를 각각 복사할 수 있습니다.
공개 문서 원문 (Markdown)
# Google Workspace CLI와 3도구 연동
> **이 챕터를 마치면** Google Workspace CLI(gws)를 Cursor·Claude Code·Gemini CLI와 조합해, 기획서·스프레드시트를 개발 맥락에 녹여 쓸 수 있어요.
gws는 **문서·데이터**를 터미널로 가져오는 다리 역할을 해요. 이걸 AI 코딩 도구와 연결하면 기획서·스펙·데이터가 코드 작업과 한 흐름으로 이어져요.
---
## 실전 시나리오: 기획서 기반 기능 구현
### Step 1. gws로 기획서 가져오기
```bash
# Google Docs에 있는 기획서 ID
DOC_ID="your-doc-id"
gws docs get $DOC_ID > /tmp/spec.md
```
### Step 2. Claude Code에 스펙 전달
```bash
claude "아래 기획서를 반영해서 Next.js에 API 라우트와 컴포넌트를 추가해줘.
$(cat /tmp/spec.md)
"
```
또는 파이프로 직접:
```bash
gws docs get $DOC_ID | claude "이 기획서 내용대로 필요한 API와 페이지를 구현해줘"
```
### Step 3. Gemini CLI로 구현 결과 검토
```bash
find . \( -name "*.ts" -o -name "*.tsx" \) \
-not -path "*/node_modules/*" \
| xargs cat \
| gemini "아래 기획서와 비교해서 누락된 기능이 있으면 알려줘.
$(gws docs get $DOC_ID)
"
```
### Step 4. Cursor로 UI 마무리
Cursor에서 기획서 내용을 참고해 컴포넌트 레이아웃·카피를 세부 조정해요.
---
## 시나리오: 스프레드시트 데이터로 시드·설정 반영
팀이 Sheets로 설정값·시드 데이터를 관리할 때:
```bash
# 시트에서 환경별 설정 가져오기
gws sheets get <sheet-id> --range "prod!A1:B30" | claude "이 데이터를 .env.example 형식으로 정리해줘. 주석으로 설명 추가해줘"
# 시드 데이터를 JSON으로
gws sheets get <sheet-id> --range "시드데이터!A:Z" | claude "첫 행을 키로 하는 JSON 배열로 변환해줘. seed.json으로 저장해줘"
```
---
## 도구별 역할 정리 (gws 포함)
| 작업 | 추천 도구 | gws 활용 |
|------|-----------|----------|
| 기획서·스펙 반영 | Claude Code | `gws docs get` → claude에 전달 |
| 데이터 기반 코드 생성 | Claude Code | `gws sheets get` → JSON/시드 생성 |
| 전체 코드 vs 문서 일치 검토 | Gemini CLI | `gws docs get`으로 스펙 전달 후 비교 |
| UI·카피 세부 조정 | Cursor | Docs 내용 복사·참고 |
| 설정·시크릿 목록 관리 | 팀 정책에 따라 | Sheets → gws → .env.generated 등 |
---
## 한 줄 요약
> **gws**로 문서·데이터를 가져오고, **Claude Code**로 구현하고, **Gemini CLI**로 검토하고, **Cursor**로 다듬는다.
Google Workspace CLI는 "코드만" 다루는 다른 CLI와 달리 **문서·스프레드시트**를 파이프라인에 넣어 줄 거리예요. 네 도구 통합 워크플로우 챕터에서 전체 흐름을 다시 정리해요.
---
## 다음은?
이제 **4도구 통합 워크플로우**에서 Cursor · Claude Code · Gemini CLI · Google Workspace CLI를 한 번에 조합하는 실전 패턴을 배워요.
---
## 9장 보강 프로세스 적용: 4도구 연계 준비 체크포인트
이 챕터는 10장(중급 워크플로우 III)로 넘어가기 전, 문서-코드-검토 파이프라인을 안정화하는 구간입니다.
### 통합 운영 루프
1. `gws`로 스펙/데이터 수집
2. `claude`로 구현
3. `gemini`로 검토
4. `cursor`로 UI/카피 마감
5. 결과를 다시 문서/로그에 반영
### 15챕터 실패 패턴 TOP 5
1. **문서 버전과 코드 버전 불일치**
- 대응: 기준 문서 ID와 조회 시점을 기록
2. **도구 간 책임 경계 모호**
- 대응: 구현은 Claude, 검토는 Gemini, 마감은 Cursor로 고정
3. **파이프 입력 길이 과다**
- 대응: 필요한 문단/범위만 추출해 전달
4. **검토 결과 미반영**
- 대응: 검토 결과를 수정 작업으로 즉시 연결
5. **운영 기록 누락**
- 대응: 실행 명령과 결과 요약을 작업 로그로 남기기
### 15챕터 체크리스트 (DoD)
- [ ] gws→claude 파이프 1회 이상 성공
- [ ] gws→gemini 비교 검토 1회 이상 성공
- [ ] 검토 이슈를 수정 작업으로 반영 완료
- [ ] 도구별 역할 분리 원칙 문서화 완료
- [ ] 10장 진입용 통합 입력값 정리 완료
> **다음 장 입력값:** 인증/배포/검증 통합 시나리오, 최종 데모용 스토리라인, 리스크 체크리스트공개 문서 변환 코드 (HTML)
<h1>Google Workspace CLI와 3도구 연동</h1>
<blockquote>
<p><strong>이 챕터를 마치면</strong> Google Workspace CLI(gws)를 Cursor·Claude Code·Gemini CLI와 조합해, 기획서·스프레드시트를 개발 맥락에 녹여 쓸 수 있어요.</p>
</blockquote>
<p>gws는 <strong>문서·데이터</strong>를 터미널로 가져오는 다리 역할을 해요. 이걸 AI 코딩 도구와 연결하면 기획서·스펙·데이터가 코드 작업과 한 흐름으로 이어져요.</p>
<hr>
<h2>실전 시나리오: 기획서 기반 기능 구현</h2>
<h3>Step 1. gws로 기획서 가져오기</h3>
<pre><code class="language-bash"># Google Docs에 있는 기획서 ID
DOC_ID="your-doc-id"
gws docs get $DOC_ID > /tmp/spec.md
</code></pre>
<h3>Step 2. Claude Code에 스펙 전달</h3>
<pre><code class="language-bash">claude "아래 기획서를 반영해서 Next.js에 API 라우트와 컴포넌트를 추가해줘.
$(cat /tmp/spec.md)
"
</code></pre>
<p>또는 파이프로 직접:</p>
<pre><code class="language-bash">gws docs get $DOC_ID | claude "이 기획서 내용대로 필요한 API와 페이지를 구현해줘"
</code></pre>
<h3>Step 3. Gemini CLI로 구현 결과 검토</h3>
<pre><code class="language-bash">find . \( -name "*.ts" -o -name "*.tsx" \) \
-not -path "*/node_modules/*" \
| xargs cat \
| gemini "아래 기획서와 비교해서 누락된 기능이 있으면 알려줘.
$(gws docs get $DOC_ID)
"
</code></pre>
<h3>Step 4. Cursor로 UI 마무리</h3>
<p>Cursor에서 기획서 내용을 참고해 컴포넌트 레이아웃·카피를 세부 조정해요.</p>
<hr>
<h2>시나리오: 스프레드시트 데이터로 시드·설정 반영</h2>
<p>팀이 Sheets로 설정값·시드 데이터를 관리할 때:</p>
<pre><code class="language-bash"># 시트에서 환경별 설정 가져오기
gws sheets get <sheet-id> --range "prod!A1:B30" | claude "이 데이터를 .env.example 형식으로 정리해줘. 주석으로 설명 추가해줘"
# 시드 데이터를 JSON으로
gws sheets get <sheet-id> --range "시드데이터!A:Z" | claude "첫 행을 키로 하는 JSON 배열로 변환해줘. seed.json으로 저장해줘"
</code></pre>
<hr>
<h2>도구별 역할 정리 (gws 포함)</h2>
<table>
<thead>
<tr>
<th>작업</th>
<th>추천 도구</th>
<th>gws 활용</th>
</tr>
</thead>
<tbody><tr>
<td>기획서·스펙 반영</td>
<td>Claude Code</td>
<td><code>gws docs get</code> → claude에 전달</td>
</tr>
<tr>
<td>데이터 기반 코드 생성</td>
<td>Claude Code</td>
<td><code>gws sheets get</code> → JSON/시드 생성</td>
</tr>
<tr>
<td>전체 코드 vs 문서 일치 검토</td>
<td>Gemini CLI</td>
<td><code>gws docs get</code>으로 스펙 전달 후 비교</td>
</tr>
<tr>
<td>UI·카피 세부 조정</td>
<td>Cursor</td>
<td>Docs 내용 복사·참고</td>
</tr>
<tr>
<td>설정·시크릿 목록 관리</td>
<td>팀 정책에 따라</td>
<td>Sheets → gws → .env.generated 등</td>
</tr>
</tbody></table>
<hr>
<h2>한 줄 요약</h2>
<blockquote>
<p><strong>gws</strong>로 문서·데이터를 가져오고, <strong>Claude Code</strong>로 구현하고, <strong>Gemini CLI</strong>로 검토하고, <strong>Cursor</strong>로 다듬는다.</p>
</blockquote>
<p>Google Workspace CLI는 "코드만" 다루는 다른 CLI와 달리 <strong>문서·스프레드시트</strong>를 파이프라인에 넣어 줄 거리예요. 네 도구 통합 워크플로우 챕터에서 전체 흐름을 다시 정리해요.</p>
<hr>
<h2>다음은?</h2>
<p>이제 <strong>4도구 통합 워크플로우</strong>에서 Cursor · Claude Code · Gemini CLI · Google Workspace CLI를 한 번에 조합하는 실전 패턴을 배워요.</p>
<hr>
<h2>9장 보강 프로세스 적용: 4도구 연계 준비 체크포인트</h2>
<p>이 챕터는 10장(중급 워크플로우 III)로 넘어가기 전, 문서-코드-검토 파이프라인을 안정화하는 구간입니다.</p>
<h3>통합 운영 루프</h3>
<ol>
<li><code>gws</code>로 스펙/데이터 수집</li>
<li><code>claude</code>로 구현</li>
<li><code>gemini</code>로 검토</li>
<li><code>cursor</code>로 UI/카피 마감</li>
<li>결과를 다시 문서/로그에 반영</li>
</ol>
<h3>15챕터 실패 패턴 TOP 5</h3>
<ol>
<li><p><strong>문서 버전과 코드 버전 불일치</strong></p>
<ul>
<li>대응: 기준 문서 ID와 조회 시점을 기록</li>
</ul>
</li>
<li><p><strong>도구 간 책임 경계 모호</strong></p>
<ul>
<li>대응: 구현은 Claude, 검토는 Gemini, 마감은 Cursor로 고정</li>
</ul>
</li>
<li><p><strong>파이프 입력 길이 과다</strong></p>
<ul>
<li>대응: 필요한 문단/범위만 추출해 전달</li>
</ul>
</li>
<li><p><strong>검토 결과 미반영</strong></p>
<ul>
<li>대응: 검토 결과를 수정 작업으로 즉시 연결</li>
</ul>
</li>
<li><p><strong>운영 기록 누락</strong></p>
<ul>
<li>대응: 실행 명령과 결과 요약을 작업 로그로 남기기</li>
</ul>
</li>
</ol>
<h3>15챕터 체크리스트 (DoD)</h3>
<ul>
<li><input disabled="" type="checkbox"> gws→claude 파이프 1회 이상 성공</li>
<li><input disabled="" type="checkbox"> gws→gemini 비교 검토 1회 이상 성공</li>
<li><input disabled="" type="checkbox"> 검토 이슈를 수정 작업으로 반영 완료</li>
<li><input disabled="" type="checkbox"> 도구별 역할 분리 원칙 문서화 완료</li>
<li><input disabled="" type="checkbox"> 10장 진입용 통합 입력값 정리 완료</li>
</ul>
<blockquote>
<p><strong>다음 장 입력값:</strong> 인증/배포/검증 통합 시나리오, 최종 데모용 스토리라인, 리스크 체크리스트</p>
</blockquote>