cli-guidelines

clig.dev 기반의 CLI 설계 가이드라인과 베스트 프랙티스를 제공합니다.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "cli-guidelines" with this command: npx skills add ssiumha/dots/ssiumha-dots-cli-guidelines

CLI Guidelines

clig.dev 기반의 CLI 설계 가이드라인과 베스트 프랙티스를 제공합니다.

핵심 철학:

  • 인간 중심 설계: 사람이 주 사용자

  • 상호 연동성: UNIX 관례 준수, 파이프 조합 가능

  • 일관성: 기존 패턴 따라 직관성 확보

  • 발견 용이성: 도움말, 예제, 오류 제안

  • 공감: 사용자의 성공을 돕는 의도 표현

Instructions

워크플로우: 요청 분석 및 리소스 선택

사용자 요청을 분석하여 필요한 리소스만 선택적으로 로드합니다.

  1. 키워드 매칭

철학/원칙 (resources/01-philosophy.md )

  • "철학", "원칙", "principle"

  • "설계", "design"

  • "UX", "사용자 경험"

도움말/문서화 (resources/02-help-documentation.md )

  • "help", "도움말", "--help"

  • "man page", "문서"

  • "usage", "사용법"

출력 (resources/03-output.md )

  • "output", "출력"

  • "색상", "color"

  • "JSON", "포맷"

  • "stdout", "stderr"

  • "로그", "log"

오류 처리 (resources/04-errors.md )

  • "error", "오류", "에러"

  • "exit code", "종료 코드"

  • "예외", "exception"

  • "디버그", "debug"

인자/플래그 (resources/05-arguments-flags.md )

  • "argument", "인자"

  • "flag", "플래그", "옵션"

  • "-v", "--verbose"

  • "파라미터", "parameter"

상호작용 (resources/06-interactivity.md )

  • "interactive", "대화형"

  • "prompt", "프롬프트"

  • "input", "입력"

  • "TTY", "터미널"

  • "확인", "confirm"

서브커맨드 (resources/07-subcommands.md )

  • "subcommand", "서브커맨드"

  • "command", "명령어"

  • "verb noun", "noun verb"

견고성 (resources/08-robustness.md )

  • "robust", "견고"

  • "signal", "시그널"

  • "Ctrl-C", "SIGINT"

  • "timeout", "타임아웃"

  • "진행률", "progress"

설정 (resources/09-configuration.md )

  • "config", "설정"

  • "environment", "환경변수"

  • ".env", "XDG"

  • "우선순위", "priority"

배포/명명 (resources/10-distribution.md )

  • "배포", "distribution"

  • "install", "설치"

  • "이름", "naming"

  • "바이너리", "binary"

  1. 리소스 로딩 전략

단일 주제

  • User: "플래그 네이밍 규칙이 뭐야?"

  • → Read resources/05-arguments-flags.md

복합 요청

  • User: "CLI 도구 처음부터 만들어줘"

  • → Read resources/01-philosophy.md (철학)

  • → Read resources/05-arguments-flags.md (인자/플래그)

  • → Read resources/02-help-documentation.md (도움말)

  • → 필요 시 추가 리소스

불명확한 요청

  • User: "CLI 잘 만들고 싶어"

  • → REFERENCE.md 확인하여 선택지 제시

  1. 리소스 적용

현재 CLI 구조 파악

  • 기존 CLI 코드 확인

  • 사용 중인 CLI 라이브러리 확인 (Click, argparse, clap 등)

리소스 Read

  • 필요한 리소스만 Read

  • 언어별 CLI 라이브러리 패턴 고려

패턴 적용

  • 가이드라인에 맞게 CLI 구조 개선

  • 기존 인터페이스 호환성 유지

  • 사용자에게 변경 사항 설명

검증

  • --help 출력 확인

  • 종료 코드 동작 확인

  • 에러 메시지 품질 확인

예시

예시 1: 새 CLI 도구 설계

User: "Python으로 파일 변환 CLI 만들어줘"

  • 키워드 매칭: CLI 설계 전반

  • Read resources/01-philosophy.md

  • Read resources/05-arguments-flags.md

  • Read resources/02-help-documentation.md

  • Click 또는 argparse 기반 구조 설계

  • 표준 플래그 적용 (-h, -v, -o, --quiet 등)

  • 도움말 텍스트 작성

예시 2: 에러 처리 개선

User: "CLI 에러 메시지가 불친절해"

  • 키워드 매칭: "에러" → 오류 처리

  • Read resources/04-errors.md

  • 기존 에러 메시지 분석

  • 인간 친화적 메시지로 재작성

  • 해결 방법 제안 추가

  • 적절한 종료 코드 사용

예시 3: 출력 포맷 추가

User: "JSON 출력 옵션 추가해줘"

  • 키워드 매칭: "JSON", "출력" → 출력

  • Read resources/03-output.md

  • --json 플래그 추가

  • 구조화된 출력 구현

  • TTY 감지 로직 확인

  • 기존 출력과 일관성 유지

중요 원칙

  • 인간 우선: TTY에서는 사람 읽기용 출력, 파이프에서는 기계 처리용

  • 일관성: 기존 UNIX/POSIX 관례 준수

  • 발견 가능: 도움말, 예제, 오류 제안으로 사용법 안내

  • 견고함: 빠른 응답, 진행률 표시, 정상 종료 처리

  • 호환성: 가산적 변경, 비호환 변경 사전 경고

Technical Details

상세한 가이드라인은 각 리소스 파일 참조:

  • REFERENCE.md : 리소스 전체 개요

  • resources/01-philosophy.md : 설계 철학

  • resources/02-help-documentation.md : 도움말 작성

  • resources/03-output.md : 출력 가이드라인

  • resources/04-errors.md : 오류 처리

  • resources/05-arguments-flags.md : 인자와 플래그

  • resources/06-interactivity.md : 대화형 인터페이스

  • resources/07-subcommands.md : 서브커맨드 설계

  • resources/08-robustness.md : 견고성/시그널 처리

  • resources/09-configuration.md : 설정 관리

  • resources/10-distribution.md : 배포/명명 규칙

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

github-action

No summary provided by upstream source.

Repository SourceNeeds Review
General

fzf-patterns

No summary provided by upstream source.

Repository SourceNeeds Review
General

bdd-practices

No summary provided by upstream source.

Repository SourceNeeds Review