Communitygithub.com

CLI 설계 검토

에이전트가 CLI 도구를 설계하고 검토하기 위한 스킬입니다.

CLI 설계 검토란 무엇인가요?

이 스킬은 AI 에이전트가 커맨드라인 인터페이스 도구를 설계하고 검토할 때 따라야 할 일련의 모범 사례를 정의합니다. 도움말 및 버전 플래그, 입출력 처리, 안전 및 제어 메커니즘, 설정 구성, 대화형 프롬프트 등 주요 영역을 다룹니다. 이 스킬은 Claude Code, Cursor, Codex 등 모든 AI 코딩 에이전트 플랫폼에서 사용할 수 있으며, 에이전트가 일관되고 사용자 친화적이며 안전한 CLI 도구를 생성하도록 돕습니다. 각 규칙은 명확한 요구사항과 금지사항을 포함하여 에이전트가 자동으로 준수할 수 있도록 설계되었습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add metyatech/skill-cli-design

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

CLI 설계 체크리스트

도움말 및 버전

  • CLI는 반드시 --help 및 -h 플래그를 제공해야 하며, 명확한 사용법, 옵션, 예시를 포함해야 합니다. 예시에는 모든 필수 매개변수가 포함되어야 합니다.
  • CLI는 반드시 --version 및 -V 플래그를 제공해야 합니다. 에이전트는 -v를 --verbose 용도로 예약해야 합니다.

입출력

  • CLI는 반드시 stdin/stdout 파이핑을 지원해야 하며, 출력 리디렉션(예: 파일 생성을 위한 --output)을 허용해야 합니다.
  • 구조화된 데이터를 출력하는 CLI는 반드시 기계가 읽을 수 있는 출력(예: --json)을 제공해야 합니다.

안전 및 제어

  • 데이터를 수정하거나 삭제하는 CLI는 반드시 --dry-run과 명시적인 우회 플래그(--yes 또는 --force)를 제공해야 합니다.
  • CLI는 반드시 제어 가능한 로깅(--quiet, --verbose 또는 --trace)을 제공해야 합니다.
  • CLI는 반드시 결정적인 종료 코드를 사용해야 합니다. 성공 시 0, 실패 시 0이 아닌 값을 반환합니다. 에이전트는 무음 fallback을 도입해서는 안 됩니다.
  • CLI는 반드시 CI/CD 환경을 위한 엄격한 비대화형 모드를 구현해야 합니다.

설정

  • JSON 설정을 사용하는 CLI는 반드시 JSON 스키마를 정의하고 업데이트해야 하며, 로드 시 설정의 유효성을 검증해야 합니다.
  • CLI는 반드시 민감하거나 환경별 데이터를 위해 환경 변수를 통한 설정을 지원해야 합니다.

대화형 프롬프트

  • 대화형 프롬프트는 질문 전에 필요한 문맥을 반드시 제공해야 합니다. 예/아니오 프롬프트에서 Enter는 "예"를 의미하고 "n"은 "아니오"를 의미해야 합니다.

관련 스킬