Kiro CLI 기초
CLI 설치, 대화형 세션, Plan 모드, Tool Trust, Headless
Kiro CLI 기초
설치 · 세션 · Plan · Trust · Headless
터미널에서 에이전트처럼 개발한다
kiro-cli chat으로 시작하는 터미널 AI 개발
Kiro 소개
IDE 기초와 공유하는 배경 · IDE vs CLI · .kiro 스코프
Kiro 배경은 IDE 기초에서
같은 엔진에 터미널 인터페이스 — .kiro/ 설정 공유·Plan 검토·Tool Trust·Headless 자동화가 CLI의 핵심 축
Kiro CLI
같은 엔진, 터미널 인터페이스 — SSH·컨테이너·CI/CD 어디서든 동일한 AI를 씁니다.
- IDE와 .kiro/ 설정 공유
- Plan 모드 — 실행 전 계획 검토
- Tool Trust — Yes·Trust·No 승인
- Headless — CI/CD 완전 자동화
Kiro가 처음이라면 Kiro IDE 기초 PART 1(도구 진화 · 난제 · 제품군 · 모델)을 먼저 봅니다 — 여기서부터는 CLI 관점만 이어갑니다.
IDE vs CLI
같은 엔진, 다른 인터페이스
Kiro IDE
- GUI 기반 — 파일 탐색기, 패널, 에디터
- Spec 세션의 3단계 승인 UI
- Checkpoint 시각적 타임라인
- Permissions 능력별 권한 패널
- 로컬 데스크톱 환경 전용
시각적으로 코드를 확인하며 작업할 때. Spec의 승인 게이트 UI, Checkpoint 비교 화면이 필요할 때 선택합니다.
Kiro CLI
- TUI 기반 — 텍스트 인터페이스
- Plan 모드로 동일한 설계 검토
- /rewind로 이전 프롬프트 복구
- Tool Trust(Yes·Trust·No) 승인
- SSH, 컨테이너, CI/CD 어디서든
GUI 없는 환경에서도 동일한 AI를 사용할 때. CI/CD 자동화, 원격 서버, 컨테이너 내부 개발에 최적.
엔진은 같고 인터페이스만 다릅니다 — 시각적 확인이 필요하면 IDE, GUI 없는 환경·자동화면 CLI를 고릅니다.
.kiro/ 설정의 두 스코프
Global(전역) 또는 Workspace(프로젝트) 단위로 설정하며, Workspace가 우선
🌐 Global — ~/.kiro/ (모든 Workspace 공통)
~/.kiro/ (Global)
├── steering/ # 팀 표준, 보안 정책
│ ├── coding-standards.md
│ └── team-conventions.md
├── settings/
│ └── mcp.json # 전역 MCP
├── hooks/ # 전 워크스페이스 적용 훅
├── agents/
└── skills/
📁 Workspace — /.kiro/ (Git 공유 · 우선순위 높음)
<project>/.kiro/ (Workspace)
├── steering/ # 아키텍처, 컨벤션
│ ├── product.md
│ ├── tech-stack.md
│ └── conventions.md
├── specs/ # 요구사항/설계/태스크
├── settings/
│ └── mcp.json # Workspace 전용 MCP
├── hooks/
├── agents/
└── skills/
CLI 시작하기
설치 · 인증 · 세션 시작 · 작업
CLI 시작
설치에서 첫 대화까지 — 세션이 열리기까지 필요한 네 단계
설치 → 인증 → 세션 → 작업
공식 설치 스크립트 한 줄로 설치하고, 브라우저 로그인으로 인증합니다.
- curl 설치 스크립트 — Homebrew/npm 미지원
- 인증 4종 — GitHub·Google·Builder ID·IdC
- kiro-cli chat — 세션 시작
- @파일경로 · 슬래시 명령어
세션을 연 디렉토리가 곧 워크스페이스입니다 — .kiro/가 있으면 Steering·Hooks·Skills가 자동 로드됩니다.
4단계로 CLI 시작
curl 설치 → 브라우저 인증 → kiro-cli chat → @파일·슬래시 명령 작업의 순서
-
1
설치
- macOS/Linux: curl -fsSL https://cli.kiro.dev/install | bash
- Windows: irm 'https://cli.kiro.dev/install.ps1' | iex
- Ubuntu: .deb 패키지 (sudo dpkg -i kiro-cli.deb)
- 주의 — Homebrew/npm 설치 미지원, 공식 설치 스크립트만 사용
-
2
인증
- 첫 실행 시 브라우저 로그인 — GitHub·Google·Builder ID·IAM Identity Center 중 선택
- 또는 kiro-cli login으로 수동 인증 시작
- Device Flow 지원 — SSH/컨테이너에서도 인증 가능
- KIRO_HOME 환경변수로 설정 디렉토리 변경 가능
-
3
세션 시작
- kiro-cli chat으로 대화형 세션 시작
- 현재 디렉토리가 워크스페이스로 설정
- .kiro/ 있으면 Steering/Hooks/Skills 자동 로드
- IDE와 동일한 모델과 설정을 공유
-
4
작업
- 자연어로 요청 → AI가 코드 생성/수정/실행
- @파일경로로 특정 파일 컨텍스트 지정
- Tool Trust(Yes·Trust·No)로 도구 실행 승인 제어
- 슬래시 명령어 — /plan · /compact · /clear · /upgrade-agent(V2→V3 agent 설정 마이그레이션)
설치 경로는 공식 설치 스크립트 하나입니다 — Homebrew·npm 설치는 지원되지 않습니다.
CLI 기능 개요
Interactive · Plan · Headless
실행 모드
지금 이 작업엔 어떤 모드가 맞는가 — 세 가지 선택지
Interactive · Plan · Headless
대화하며 만들고, 계획을 먼저 보고, 사람 없이 돌립니다.
- Interactive — kiro-cli chat 기본 모드
- Plan — Shift+Tab 전환
- Headless — --no-interactive 비대화형
- exit code 0·1·3 — 파이프라인 분기
모드는 셋이지만 엔진은 하나입니다 — 작업의 영향 범위에 맞춰 통제 수준만 골라 씁니다.
3가지 모드
상황에 맞는 CLI 실행 모드 선택
-
1
Interactive
- 기본 모드 — kiro-cli chat으로 시작
- 자연어 요청 → 즉시 코드 생성/수정
- @파일, 슬래시 명령어, Tool Trust로 제어
- Introspect 서브에이전트 — Kiro 기능·설정 질문에 응답 (CLI V3부터 사용 가능)
- 탐색적 개발, 디버깅, 프로토타이핑에 최적
-
2
Plan
- Shift+Tab으로 전환
- AI가 실행 계획을 먼저 보여줌
- 계획 승인 후에만 파일 변경 실행
- 멀티파일 변경, 아키텍처 결정에 안전
-
3
Headless
- --no-interactive 플래그로 비대화형 실행
- 프롬프트는 위치 인자로 전달 — kiro-cli chat --no-interactive "..."
- exit 0=성공 · 1=실패 · 3=MCP 시작 실패로 파이프라인 분기
- CI/CD, GitHub Actions, CodeBuild에 삽입
탐색은 Interactive, 큰 변경은 Plan, 파이프라인은 Headless — 같은 kiro-cli chat에서 갈라지는 세 갈래입니다.
Plan 모드
실행 전 계획 검토 · 승인 게이트
Plan 모드
실행 전에 계획을 먼저 보는 승인 게이트
요청 → 계획 → 승인 → 실행
AI가 실행 계획을 먼저 보여주고, 승인한 뒤에만 파일을 변경합니다.
- Shift+Tab — Plan 모드 전환
- 계획 출력 — 변경 파일·순서 명시
- 검토 — 계획 단계에서 방향 수정
- 멀티파일·아키텍처 변경에 안전
영향 범위가 크거나 되돌리기 어려운 작업일수록 계획 단계에서 방향을 고칩니다.
Plan 모드 워크플로우
요청 → 계획 출력 → 검토 → 실행 — 승인 전에는 자연어로 계획 자체를 수정 가능
kiro-cli chat
PLAN — Shift+Tab
-
1
요청
- 자연어로 원하는 작업 요청
- "인증 미들웨어 추가해줘"
- "API 엔드포인트 리팩토링해줘"
-
2
계획 출력
- AI가 실행 계획을 텍스트로 표시
- 어떤 파일을 만들/수정할지 명시
- 예상 변경 범위와 순서를 보여줌
-
3
검토
- 사용자가 계획을 읽고 판단
- "테스트 파일도 추가해줘"로 계획 수정 가능
- 불필요한 변경이 있으면 제거 요청
-
4
실행
- 승인하면 AI가 계획대로 실행
- 각 파일 변경마다 Tool Trust 적용
- 실행 중에도 Ctrl+C로 중단 가능
일반 모드 vs Plan 모드
Plan 모드를 쓸 시점의 판단 기준
일반 모드 (Interactive)
- 요청 → 즉시 실행
- 빠른 피드백 루프
- 단일 파일, 명확한 변경
- 프로토타입, 버그 수정
범위가 작고 결과를 바로 확인하고 싶을 때. 틀려도 다시 요청하면 됩니다.
Plan 모드
- 요청 → 계획 → 승인 → 실행
- 실행 전 전체 그림 확인
- 멀티파일, 아키텍처 변경
- 프로덕션, 인프라 코드
영향 범위가 크거나 되돌리기 어려운 작업. 계획 단계에서 방향 수정이 가능합니다.
기준은 영향 범위입니다 — 작으면 즉시 실행, 크면 계획 먼저가 안전합니다.
Tool Trust
Yes · Trust · No · /tools 관리
Tool Trust
도구 실행 하나하나를 승인으로 제어하는 안전 장치
Yes · Trust · No
신뢰되지 않은 도구 호출마다 알림 바가 뜨고, 세 가지로 응답합니다.
- Yes — 이번 1회만 허용
- Trust — 정확 명령·접두사·도구 단위 등록
- /tools trust·untrust·reset — 명시 관리
- 기본 신뢰 — read·grep·glob (CWD 내)
읽기는 기본 신뢰, 쓰기·셸·aws는 프롬프트입니다 — --trust-all-tools는 CI/CD 전용으로만 씁니다.
Tool Trust 승인 체계
AI가 신뢰되지 않은 도구를 쓸 때마다 입력창 위 알림 바로 승인 요청 — 3가지로 응답
| 선택지 | 의미 | 범위 | 추천 상황 |
|---|---|---|---|
| Yes | 이번 1회만 허용 | 해당 호출 | 파일 수정, 셸 명령 (매번 확인) |
| No | 거부 | 해당 호출 | 위험한 명령, 의도와 다른 작업 |
| Trust | 신뢰 등록 (정확 명령·접두사·도구 단위) | 세션 동안 유지 | 반복되는 안전한 도구 (영구 신뢰는 agent 설정 allowedCommands) |
| /tools trust·untrust·reset | 도구 단위 신뢰를 명시 관리 | 설정 | write·shell 등 개별 조정 |
Trust는 등록한 뒤부터 계속 적용됩니다 — 정확 명령·접두사·도구 단위 중 가장 좁은 범위로 넓혀 갑니다.
승인 장면 — 알림 바에서 3초 판단
신뢰되지 않은 도구가 호출되는 순간 — 입력창 위에 뜨는 실제 알림 바
kiro-cli chat
Yes — 이번 1회만 허용
Trust — 신뢰 등록
No — 거부
도구별 권장 정책
안전과 편의의 균형
읽기 도구
read · grep · glob (기본 신뢰, CWD 내)
- 코드를 읽기만 하므로 안전
- 기본값이 이미 신뢰 상태 — 추가 승인 불필요
- CWD 밖 접근은 프롬프트
언제 — 파일 내용 확인, 코드 검색, 문서 조회
쓰기·셸 도구
write · shell · aws (기본 프롬프트)
- 파일을 수정하므로 주의 필요
- Yes(1회)로 매번 확인 — 변경 내용 검토
- Plan 모드와 함께 사용하면 이중 안전
언제 — 코드 생성/수정, npm install, 빌드 명령
CI/CD 자동화
--trust-all-tools 플래그
- 모든 도구를 자동 승인
- Headless 모드에서만 사용
- 로컬 개발에서는 절대 사용 금지
언제 — GitHub Actions, CodeBuild — 비대화형 환경 전용
읽기는 신뢰, 쓰기는 확인, 자동 승인은 CI 전용 — 최소 권한에서 시작해 필요한 만큼만 넓힙니다.
Headless 모드
--no-interactive · CI/CD · 자동화
Headless
사람 없이 파이프라인 스텝으로 도는 CLI
Headless
프롬프트를 위치 인자로 받아 비대화형으로 실행을 마칩니다.
- --no-interactive — 비대화형 실행
- --trust-all-tools — 자동 승인
- KIRO_API_KEY — 환경변수 인증
- exit 0·1·3 — 파이프라인 분기
--trust-all-tools는 모든 승인을 건너뜁니다 — GitHub Actions·CodeBuild 같은 비대화형 환경 전용입니다.
CI/CD 파이프라인 통합
GitHub Actions에서 Kiro CLI 실행
# .github/workflows/kiro-review.yml
name: Kiro Code Review
on: [pull_request]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Kiro CLI
run: curl -fsSL https://cli.kiro.dev/install | bash
- name: Run Code Review
env:
KIRO_API_KEY: ${{ secrets.KIRO_API_KEY }}
run: |
kiro-cli chat \
--no-interactive \
--trust-all-tools \
"변경된 파일을 리뷰하고 문제점을 보고해줘"
- name: Check Exit Code
if: failure()
run: echo "Kiro가 문제를 발견했습니다"
- "on: [pull_request]" — PR 생성·갱신마다 파이프라인 자동 트리거
- "KIRO_API_KEY" — 비대화형 인증. GitHub Secrets로 주입해 브라우저 로그인 대체
- "--no-interactive"·"--trust-all-tools" — 프롬프트는 위치 인자로 전달, 모든 도구 자동 승인(CI 전용 — 로컬 금지)
- "if: failure()" — exit code로 분기. 0=성공 · 1=실패 · 3=MCP 시작 실패
Headless 실행 흐름
push에서 결과 리포트까지
-
1
git push
- PR 생성 또는 커밋 푸시가 파이프라인 트리거
- GitHub Actions, CodeBuild, GitLab CI 등
- on: [pull_request] 또는 on: [push]
-
2
환경 준비
- CI 러너에 Kiro CLI 설치 (공식 설치 스크립트: curl -fsSL https://cli.kiro.dev/install | bash)
- 인증 키를 환경변수로 설정 (KIRO_API_KEY)
- --trust-all-tools로 자동 승인
-
3
Kiro 실행
- 프롬프트를 위치 인자로 전달해 비대화형 실행
- 코드 리뷰, 테스트 생성, 문서 갱신 등 자동 수행
- stdout으로 결과 출력
-
4
결과 처리
- exit 0=성공, 1=실패
- stdout을 파싱하여 PR 코멘트 또는 Slack 알림
- if: failure()로 분기 제어
exit code가 파이프라인의 언어입니다 — 0·1·3과 stdout 파싱으로 후속 스텝을 분기합니다.
Interactive → Plan → Headless