Terminal

자연어로 작업을 설명하면 Kiro가 적절한 셸 명령으로 변환해 실행하고, 승인 시스템으로 안전성을 지켜 줍니다.

기본 사용

복잡한 명령 문법을 외우지 않아도 됩니다. 하고 싶은 일을 평소 말투로 적으면, Kiro가 의도를 해석해 실행 가능한 명령을 제안합니다. 예시는 다음과 같습니다.

Kiro는 명령을 제안한 뒤 Modify, Reject, Run, Run and Trust 중 하나를 선택할 수 있게 기다립니다.

Kiro 터미널 명령 제안 화면
자연어 요청을 명령으로 변환해 승인 옵션을 제시하는 모습.
Tip: Dev Server처럼 장시간 실행되는 프로세스는 별도 터미널에서 돌아가므로 다른 작업을 막지 않습니다.

동작 방식

명령이 제안되면 다음 네 가지 옵션 중에서 처리 방식을 정합니다.

터미널 명령 승인 워크플로 데모
요청부터 승인, 실행까지 이어지는 전체 흐름.

승인과 보안

승인 정책은 두 축으로 구성됩니다. 하나는 자동 승인을 허용할 패턴을 지정하는 Trusted Commands이고, 다른 하나는 자동 승인을 차단할 패턴을 지정하는 Command Denylist입니다.

Trusted Commands

Settings → Kiro Agent: Trusted Commands에서 사용자 또는 워크스페이스 단위로 설정합니다. 매칭 방식은 prefix matching입니다.

Trusted Commands 설정 화면
신뢰 명령 패턴을 등록하는 설정 화면.
주의: 패턴을 어떻게 구성하느냐는 전적으로 사용자의 책임입니다. rm -rf 같은 위험 명령도 패턴에 매칭되고 denylist에 걸리지 않으면 그대로 실행됩니다.

완전 일치

예: ["npm install", "git status"]로 두면 npm installgit status만 자동 승인되고, npm install --save, git status --short처럼 인자가 붙으면 자동 승인되지 않습니다.

부분 와일드카드

예: ["npm install *"]로 두면 npm install, npm install --save, npm install express는 통과하지만 npm run buildnpm 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으로 동작합니다.

Command Denylist 설정 화면
자동 승인에서 제외할 위험 패턴을 등록하는 화면.

예시 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="
  ]
}

평가 순서

  1. Denylist가 가장 우선합니다. 일치하면 무조건 수동 승인입니다.
  2. 다음으로 Trusted Commands를 검사합니다. 일치하면 자동 승인됩니다.
  3. 어디에도 해당하지 않으면 기본값인 수동 승인입니다.

두 설정을 함께 쓰는 예시는 다음과 같습니다.

{
  "kiroAgent.trustedCommands": ["npm *", "git *"],
  "kiroAgent.commandDenylist": ["--force", "sudo"]
}

이 구성에서는 npm installgit status는 자동 승인, npm install --force·sudo npm install·git push --force는 수동 승인, 그리고 신뢰 패턴에 없는 docker build .도 수동 승인이 됩니다.

Tip: 위험 패턴을 차단하는 전역 denylist와, 일상 작업을 자동화하는 trust 패턴을 조합하면 안전성과 편의성을 동시에 잡을 수 있습니다.

터미널 컨텍스트 활용

채팅에서 #terminal을 입력하면 현재 활성/표시 중인 터미널의 최근 출력이 컨텍스트로 첨부됩니다. 여러 터미널이 떠 있을 때는 참조하려는 터미널을 먼저 포커스하십시오.

예: #terminal analyze the error from the last npm run build

이 컨텍스트를 활용하면 다음과 같은 작업이 가능합니다.

문제 해결

셸 통합이 동작하지 않는다면 Shell Integration 트러블슈팅 가이드를 참고하십시오.