Terminal
자연어로 작업을 설명하면 Kiro가 적절한 셸 명령으로 변환해 실행하고, 승인 시스템으로 안전성을 지켜 줍니다.
기본 사용
복잡한 명령 문법을 외우지 않아도 됩니다. 하고 싶은 일을 평소 말투로 적으면, Kiro가 의도를 해석해 실행 가능한 명령을 제안합니다. 예시는 다음과 같습니다.
- "프로젝트 의존성을 설치해 줘"
- "git 상태 확인"
- "src 폴더의 모든 TypeScript 파일을 찾아 줘"
- "개발 서버를 띄워 줘"
Kiro는 명령을 제안한 뒤 Modify, Reject, Run, Run and Trust 중 하나를 선택할 수 있게 기다립니다.
동작 방식
명령이 제안되면 다음 네 가지 옵션 중에서 처리 방식을 정합니다.
- Modify — 실행 전에 명령을 직접 수정합니다.
- Reject — 실행을 취소합니다.
- Run — 이번 한 번만 실행합니다.
- Run and Trust — 실행하고 이후 유사 명령을 자동 신뢰합니다.
승인과 보안
승인 정책은 두 축으로 구성됩니다. 하나는 자동 승인을 허용할 패턴을 지정하는 Trusted Commands이고, 다른 하나는 자동 승인을 차단할 패턴을 지정하는 Command Denylist입니다.
Trusted Commands
Settings → Kiro Agent: Trusted Commands에서 사용자 또는 워크스페이스 단위로 설정합니다. 매칭 방식은 prefix matching입니다.
rm -rf 같은 위험 명령도 패턴에 매칭되고 denylist에 걸리지 않으면 그대로 실행됩니다.
완전 일치
예: ["npm install", "git status"]로 두면 npm install과 git status만 자동 승인되고, npm install --save, git status --short처럼 인자가 붙으면 자동 승인되지 않습니다.
부분 와일드카드
예: ["npm install *"]로 두면 npm install, npm install --save, npm install express는 통과하지만 npm run build나 npm test는 통과하지 않습니다.
전체 와일드카드
예: ["npm *", "git *"]은 prefix만 검사하므로, 매칭 이후의 파이프나 체이닝(&&)도 함께 신뢰 처리됩니다. npm install && docker build .나 git add . && git commit -m "update"는 통과하지만 단독 docker build .는 통과하지 않습니다.
전체 신뢰
["*"]은 모든 명령을 자동 승인합니다. 완전히 통제된 환경에서만 사용하십시오.
Command Denylist
Settings → Kiro Agent: Command Denylist에서 설정하며, 명령 문자열 어디든 일치하는지 보는 substring matching으로 동작합니다.
예시 denylist ["rm -rf", "sudo", "--force"]를 사용하면 rm -rf /tmp/cache, sudo npm install, git push --force, git push --force-with-lease 같은 명령은 항상 수동 승인이 필요해집니다.
실무에서 자주 추천되는 차단 패턴 예시는 다음과 같습니다.
{
"kiroAgent.commandDenylist": [
"rm -rf",
"sudo",
"chmod 777",
"eval",
"curl | sh",
"wget | sh",
"> /dev/",
"mkfs",
"dd if="
]
}
평가 순서
- Denylist가 가장 우선합니다. 일치하면 무조건 수동 승인입니다.
- 다음으로 Trusted Commands를 검사합니다. 일치하면 자동 승인됩니다.
- 어디에도 해당하지 않으면 기본값인 수동 승인입니다.
두 설정을 함께 쓰는 예시는 다음과 같습니다.
{
"kiroAgent.trustedCommands": ["npm *", "git *"],
"kiroAgent.commandDenylist": ["--force", "sudo"]
}
이 구성에서는 npm install과 git status는 자동 승인, npm install --force·sudo npm install·git push --force는 수동 승인, 그리고 신뢰 패턴에 없는 docker build .도 수동 승인이 됩니다.
터미널 컨텍스트 활용
채팅에서 #terminal을 입력하면 현재 활성/표시 중인 터미널의 최근 출력이 컨텍스트로 첨부됩니다. 여러 터미널이 떠 있을 때는 참조하려는 터미널을 먼저 포커스하십시오.
예: #terminal analyze the error from the last npm run build
이 컨텍스트를 활용하면 다음과 같은 작업이 가능합니다.
- Error Analysis — 에러 메시지를 해석하고 원인을 추정
- Output Interpretation — 출력을 요약하거나 해석
- Follow-up Actions — 이어서 수행할 명령 제안
- Pattern Recognition — 반복되는 문제 인식
- Environment Debugging — 환경 설정 문제 진단
문제 해결
셸 통합이 동작하지 않는다면 Shell Integration 트러블슈팅 가이드를 참고하십시오.