모듈 1: SDLC 생산성 향상 75분¶
첫 번째 실제 Antigravity CLI 세션입니다. 이 모듈에서는 코드 이해, 리팩토링, 테스트 생성 및 변경 사항 검토와 같은 핵심적인 일상 워크플로우를 다루며, 팀의 툴체인을 위한 플러그인으로 CLI를 확장하는 방법도 알아봅니다.
1.0 — 첫 번째 대화형 세션 5분¶
워크숍 프로젝트 디렉터리에서 Antigravity CLI를 실행합니다:
대화형 프롬프트로 진입하게 됩니다. 다음을 시도해 보세요:
agy가 작업 공간을 어떻게 읽는지 관찰해 보세요. git 저장소를 인덱싱하고, 파일 내용을 읽으며, 컨텍스트를 바탕으로 응답합니다. 이는 자동으로 이루어집니다. 별도의 설정이나 사전에 작성해야 할 프롬프트가 없습니다.
.agents/ 폴더
첫 번째 세션 이후 .agents/를 확인해 보세요. agy가 작업 공간을 추적하는 프로젝트 설정 파일을 생성했습니다. 이를 통해 향후 실행 시 무엇을 인덱싱할지 알 수 있습니다.
1.1 — 코드 이해 10분¶
패턴: 수정 전 설명 — 코드를 변경하기 전에 먼저 이해하세요.
실습: 낯선 코드베이스 파악하기¶
# -i seeds the session with an initial prompt and stays interactive
agy -i "Give me a high-level architecture overview of this project. What are the main components and how do they connect?"
그런 다음 대화형으로 후속 질문을 이어나갑니다:
> Which file handles the entry point?
> What external dependencies does this project have?
> Are there any obvious code smells or tech debt?
시드 세션에 -i 사용하기
agy -i "<task>"(--prompt-interactive의 약어)는 프롬프트로 시작하지만 대화형 상태를 유지합니다. 방향성 있는 탐색에 매우 유용합니다. 방향을 설정한 다음 후속 질문으로 이끌어갈 수 있습니다.
1.2 — 리팩토링 10분¶
패턴: 제안, 검토, 적용 — 읽지 않은 변경 사항은 절대 적용하지 마세요.
실습: 타겟 리팩토링¶
> I want to refactor the error handling in this project. First, show me all the places where errors are currently caught or returned — don't change anything yet.
결과를 검토하세요. 그런 다음:
> Now propose a refactored version of [specific function] using a consistent error handling pattern. Show me the diff before applying.
제안된 변경 사항을 읽은 후에만 적용하세요.
권한 모델¶
agy는 도구 승인 처리 방식을 제어하는 3단계 권한 모델을 가지고 있습니다:
| 레벨 | 동작 |
|---|---|
request-review | 기본값. agy는 파일을 작성하거나 명령을 실행하기 전에 승인을 요청합니다 |
always-proceed | 모든 도구 호출을 자동 승인합니다 — 신뢰할 수 있는 스크립트 및 CI에 유용합니다 |
strict | 명시적으로 허용되지 않는 한 모든 도구 사용을 거부합니다 — 최대 제어 |
/permissions 슬래시 명령을 사용하여 현재 레벨을 보거나 변경하세요. settings.json에서 세분화된 규칙을 설정할 수도 있습니다:
1.3 — 테스트 생성 10분¶
패턴: 존재하는 것 테스트하기 — 가상의 코드가 아닌 실제 코드에 대한 테스트를 생성합니다.
실습: 단위 테스트 생성¶
> Look at [specific function or file]. Generate a comprehensive unit test suite for it. Include happy path, edge cases, and error conditions. Use the testing framework already in this project.
그런 다음:
agy가 테스트를 실행하도록 하기
agy는 셸 명령을 실행할 수 있습니다. 오류 메시지를 복사하여 붙여넣을 필요 없이 테스트 도구 모음을 실행하고 실패 시 반복 작업을 수행합니다. 스스로 수정하는 과정을 지켜보세요.
1.4 — 코드 리뷰 10분¶
패턴: 커밋 전 리뷰(Pre-Commit Review) — 모든 푸시 전에 agy를 시니어 리뷰어로 사용하세요.
실습: 변경 사항 리뷰하기¶
# Stage some changes (or use an existing branch)
git add -p
# Start agy and review what's staged
agy
> Review my staged changes for: (1) correctness, (2) security issues, (3) missing test coverage, (4) anything that would block a PR. Be direct — don't soften findings.
헤드리스 변형 (스크립팅용)¶
# Review changes non-interactively — useful in pre-commit hooks or CI
git diff --cached | agy --print "Review these changes. Flag any bugs, security issues, or missing tests. Output as markdown."
1.5 — AGENTS.md를 사용한 프로젝트 컨텍스트 5 min¶
패턴: 영구 컨텍스트(Persistent Context) — agy에게 한 번 알려주면 모든 세션에서 기억합니다.
agy는 세션 시작 시 컨텍스트 파일을 읽습니다. 프로젝트 루트에 하나를 생성하세요:
cat > AGENTS.md << 'EOF'
# Project Context
This is a Node.js REST API built with Express and TypeScript.
## Key Conventions
- Language: TypeScript (strict mode, no `any`)
- Testing: Jest with 80% coverage minimum; run `npm test` to validate
- Style: ESLint + Prettier; run `npm run lint` before committing
- DO NOT modify `src/db/migrations/` — those are append-only
- DO NOT use `console.log` in production code; use the `logger` utility
## Architecture
Three-layer: `routes/` → `services/` → `repositories/`. All DB access goes through the repository layer. External HTTP calls go through `src/clients/`.
## Common Commands
- `npm run dev` — start local dev server on :3000
- `npm test` — run full test suite
- `npm run db:migrate` — apply pending DB migrations
EOF
이제 새 세션을 시작하세요:
agy는 이후의 모든 세션에 AGENTS.md를 자동으로 포함합니다.
컨텍스트 계층 구조
agy는 현재 디렉토리 → 상위 디렉토리 → 홈 디렉토리 순으로 AGENTS.md를 읽습니다. 더 구체적인 컨텍스트가 광범위한 컨텍스트를 재정의합니다.
추가 컨텍스트 소스¶
AGENTS.md 외에도 agy는 다음을 로드합니다:
.agents/rules.md(또는.agents/rules/*.md) — 시스템 프롬프트 지시문으로 주입되는 프로젝트 수준 규칙입니다. "마이그레이션 파일을 절대 삭제하지 마세요" 또는 "항상 TypeScript 엄격 모드를 사용하세요"와 같은 필수 요구 사항에 이를 사용하세요..gemini/— Gemini CLI 호환성을 위해 agy는.agents/와 함께.gemini/디렉토리를 읽습니다.~/.gemini/config/rules.md— 모든 세션에 적용되는 전역 규칙입니다.
📖 전체 세부 정보: 규칙 및 워크플로우 문서
샘플 에이전트 정의 (samples/agents/ 내)¶
| 에이전트 | 모델 | 목적 |
|---|---|---|
doc-writer.md | gemini-3.5-flash | 소스에서 API 문서, README 섹션 및 인라인 주석을 생성합니다 |
pr-reviewer.md | gemini-3.5-flash | 품질, 버그 및 스타일 위반에 대한 코드 변경 사항을 검토합니다 |
migration-validator.md | gemini-3.5-flash | Gemini CLI → Antigravity CLI 마이그레이션 완료 여부를 검증합니다 |
1.6 — 대화형 탐색 5 min¶
패턴: 터미널 숙련도 — agy 세션을 빠르게 만드는 단축키를 알아두세요. 📖 전체 참조: Antigravity CLI 사용하기
주요 슬래시 명령어¶
| 명령어 | 기능 |
|---|---|
/rewind (또는 /undo) | 대화 기록을 이전 체크포인트로 롤백합니다 |
/resume (또는 /switch) | 대화 선택기를 열어 세션을 재개하거나 전환합니다 |
/rename <name> | 활성 대화 스레드의 이름을 변경합니다 |
/config (또는 /settings) | 전체 화면 설정 오버레이를 엽니다 |
/permissions | 에이전트 자율성 수준을 설정합니다 (request-review, always-proceed, strict) |
/model | 추론 모델을 선택합니다 (세션 간 유지됨) |
/tasks | 백그라운드 작업을 모니터링하거나, 로그를 보거나, 종료합니다 |
/agents | 서브에이전트 작업을 보고, 관리하고, 승인합니다 |
/open <path> | 선호하는 외부 편집기에서 파일을 엽니다 |
/usage | 인라인 대화형 도움말 매뉴얼을 엽니다 |
/skills | 로컬 및 글로벌 에이전트 스킬을 찾아봅니다 |
/mcp | MCP 서버를 구성하고 관리합니다 |
📖 전체 슬래시 명령어 참조: CLI 기능
빠른 팁¶
| 단축키 | 기능 |
|---|---|
@ | 파일 경로 자동 완성 — @를 입력하여 경로 제안을 트리거합니다 |
! | agy를 종료하지 않고 터미널 명령어를 직접 실행합니다 |
esc esc | 현재 프롬프트 입력을 지웁니다 (스트리밍이 활성화되지 않은 경우) |
? | 도움말을 확인하고 모든 슬래시 명령어를 나열합니다 |
alt+enter / ctrl+j / shift+enter | 프롬프트에 줄바꿈을 삽입합니다 (여러 줄 입력) |
ctrl+g | 기본 셸 편집기에서 프롬프트를 편집합니다 |
ctrl+l | TUI 화면을 지웁니다 |
ctrl+d | CLI를 종료합니다 |
📖 전체 키 바인딩 참조: Antigravity CLI 사용하기
1.7 — 플러그인으로 확장하기 15분¶
패턴: 자체 툴체인 가져오기 — 플러그인은 agy에 스킬, MCP 서버, 에이전트 및 규칙을 추가합니다. 한 번 설치하면 모든 세션에서 사용할 수 있습니다.
Antigravity CLI의 플러그인 시스템은 특별한 기능을 수행합니다. 재설치나 재구성 없이 Gemini CLI에 이미 설치한 플러그인을 가져올 수 있습니다. 기존의 투자가 그대로 이어집니다.
활성화된 항목 확인하기¶
각 플러그인의 이름, 소스, 가져오기 날짜 및 구성 요소(스킬, 명령어, mcpServers, 에이전트)를 보여줍니다.
Gemini CLI에서 가져오기¶
agy는 로컬 Gemini CLI 설치를 스캔하고, 설치된 모든 플러그인을 발견하여 해당 구성 요소를 ~/.gemini/antigravity/에 스테이징합니다. 출력:
[ok] code-review
✔ skills : 3 processed
✔ commands : 2 processed
- mcpServers : skipped (not found)
[ok] gemini-deep-research
✔ commands : 1 processed
✔ mcpServers : 1 processed
[skip] superpowers (already imported)
사용자 지정 테마는 조용히 무시됩니다
사용자 지정 테마 구성 요소는 agy의 모델로 1:1 마이그레이션할 수 없으며 가져오는 동안 오류 없이 건너뜁니다. 테마가 워크플로우에 중요한 경우 가져오기 후 활성화된 플러그인을 확인하세요.
What Gets Imported¶
| Component | What it means |
|---|---|
skills | SKILL.md files — injected as domain expertise into agy sessions |
commands | Slash commands available inside agy sessions |
mcpServers | MCP tool servers (GitHub, gcloud, Workspace, etc.) |
agents | Custom subagent definitions |
rules | Rules files injected as system prompt directives |
hooks | Staged but not auto-executed — agy handles lifecycle differently |
Enable / Disable Per-Project¶
Not every plugin is appropriate for every codebase:
# 이 프로젝트에 대해 비활성화
agy plugin disable gemini-deep-research
# 다시 활성화
agy plugin enable gemini-deep-research
Plugin Locations¶
| Scope | Path |
|---|---|
| Global | ~/.gemini/antigravity/plugins/ |
| Project | .agents/plugins/ |
Building a Custom Plugin¶
A valid agy plugin needs a plugin.json manifest:
my-plugin/
├── plugin.json ← 필수
├── mcp_config.json ← MCP 서버 정의 (선택 사항)
├── hooks.json ← 훅 이벤트 핸들러 (선택 사항)
├── skills/ ← SKILL.md 파일 (선택 사항)
│ └── my-skill/
│ └── SKILL.md
├── agents/ ← 서브에이전트 정의 (선택 사항)
└── rules/ ← 규칙 파일 (선택 사항)
└── my-rules.md
{
"name": "my-plugin",
"version": "1.0.0",
"description": "내 사용자 지정 agy 플러그인",
"components": ["skills"]
}
Validate it before shipping:
📖 전체 참조: 플러그인 · 마이그레이션 가이드
모듈 1 실습¶
실습 1: 첫 번째 세션¶
파일: ex01_first_session.md
소요 시간: 15분
목표: agy를 실행하고, 코드베이스를 탐색하며, AGENTS.md를 생성합니다.
실습 2: 플러그인 브리지¶
파일: ex02_plugin_bridge.md
소요 시간: 20분
목표: Gemini CLI에서 플러그인을 가져오고, 선택적으로 활성화/비활성화하며, 사용자 지정 플러그인을 검증합니다.
다음 모듈¶
→ 모듈 2: 레거시 코드베이스 현대화 — 엄격 모드, 에이전트 셀프 온보딩, 서브에이전트, 그리고 안전망 역할을 하는 /rewind.