첫 프로젝트
Kiro의 핵심 기능인 Steering, Specs, Agent Hooks, MCP를 실제 프로젝트에서 한 번에 익혀 봅니다.
준비 사항
- Kiro가 설치되어 있고 로그인이 완료되어 있어야 합니다.
- 새로 시작할 프로젝트나 이미 진행 중인 코드베이스가 준비되어 있어야 합니다.
- 해당 프로젝트의 구조와 사용 기술에 대한 기본적인 이해가 있으면 좋습니다.
1. 프로젝트 열기
다음 세 가지 방법 중 편한 것을 선택해 프로젝트를 엽니다.
- 상단 메뉴에서
File > Open Folder를 선택해 폴더를 지정합니다. - 창에 폴더를 직접 드래그 앤 드롭합니다.
- 터미널에서 프로젝트 디렉터리로 이동한 뒤
kiro .명령을 실행합니다.
프로젝트가 열리면 좌측 활동 표시줄(Activity Bar)의 Ghost 아이콘을 눌러 Kiro Panel을 띄우고, 채팅 창에서 에이전트와 대화를 시작할 수 있습니다.
2. Steering 문서로 컨텍스트 잡기
Steering 파일은 Kiro에게 "이 코드베이스가 어떤 것인지"를 미리 알려 주는 역할을 합니다. Kiro Panel의 Agent Steering 영역에서 Generate Steering Docs 버튼을 누르면, 에이전트가 package.json, README.md, vite.config.js 등을 훑어보고 .kiro/steering/ 디렉터리에 다음과 같은 문서를 자동 생성합니다.
- 제품의 목적과 사용자 시나리오
- 사용 중인 언어, 프레임워크, 라이브러리 등 기술 스택
- 폴더 구조와 팀 내부의 코드 컨벤션
특정 도메인 규칙(예: API 네이밍, 디자인 토큰)이 있다면 + 버튼으로 사용자 정의 Steering 파일을 추가해 두세요. 이후 모든 대화에서 자동으로 반영됩니다.
3. Specs로 기능 설계하기
Specs는 단순 채팅보다 한 단계 더 구조화된 작업 흐름을 제공합니다. Spec 버튼이나 Specs 섹션의 + 아이콘으로 새 Spec을 만들면, 다음 세 단계가 차례대로 생성됩니다.
- Requirements — 사용자 스토리를 EARS 표기법으로 정리한
requirements.md - Design — 컴포넌트 구조와 데이터 흐름을 정리한 기술 설계 문서
- Tasks — 실제로 구현할 작업을 단위별로 나눈
tasks.md
예를 들어 "사용자 인증 시스템을 추가해 줘"라고 요청하면, Kiro는 회원 가입·로그인·세션 관리 같은 항목을 스스로 분해하여 위 세 문서를 만들어 줍니다. 각 Task는 실행 중에는 In Progress, 완료 시 Done으로 상태가 자동 갱신됩니다.
4. Agent Hooks로 반복 작업 자동화
Agent Hooks는 특정 이벤트가 발생했을 때 에이전트가 자동으로 행동하도록 만드는 기능입니다. Kiro Panel의 Agent Hooks 섹션에서 + 버튼을 눌러 새 Hook을 만들 수 있습니다.
- Event Type: 파일 저장 같은 파일 이벤트, 프롬프트/에이전트 라이프사이클 이벤트, Spec Task 이벤트, 수동 실행 중 선택
- File Pattern: 예)
src/**/*.tsx처럼 글롭 패턴으로 대상 파일 지정 - Instructions: 에이전트가 수행할 자연어 지시문
예를 들어 React 컴포넌트가 저장될 때마다 테스트 스니펫을 갱신하거나 i18n 키를 점검하도록 만들 수 있습니다.
5. MCP로 외부 도구 연결
Model Context Protocol(MCP)을 이용하면 외부 API, 사내 지식 베이스, 데이터베이스 등을 에이전트가 직접 호출할 수 있습니다. Kiro에는 기본적으로 fetch MCP 서버가 포함되어 있으며, 처음에는 disabled=true 상태로 비활성화되어 있습니다.
{
"mcpServers": {
"web-search": {
"command": "uvx",
"args": ["mcp-server-brave-search"],
"env": {
"BRAVE_API_KEY": "your-api-key-here"
},
"disabled": false,
"autoApprove": ["search"]
}
}
}
MCP는 다음 세 가지 방식으로 활용합니다.
- Direct Questions — "최신 React 18 베스트 프랙티스 알려 줘"처럼 자연스럽게 질문하면 에이전트가 알아서 도구를 호출합니다.
- Explicit Tool Usage —
#MCP컨텍스트 제공자나#[fetch]같은 표기로 특정 도구를 명시적으로 부릅니다. - Integration — Hooks·Specs와 결합해, 작업 흐름의 일부로 외부 데이터를 끌어옵니다.
API 키 같은 민감한 값은 환경 변수나 보안 저장소를 통해 주입하고, autoApprove는 신뢰할 수 있는 도구에만 지정하세요.
다음으로 해 볼 것
- 인터랙티브 튜토리얼:
/docs/guides/learn-by-playing - Specs 심화 문서:
/docs/specs - 커뮤니티 참여:
discord.gg/kirodotdev