CLI Creator은(는) 무엇을 하나요?
프로덕션 등급 Python CLI 도구 및 CLI 관련 스킬/템플릿을 구축하고 감사하기 위한 라우터입니다. CLI 형태를 결정하고, 명령 표면을 작게 유지하며, 설치 가능성을 보장하고, 검토 결과를 구조화된 형식으로 출력하는 데 사용합니다. 이 스킬은 가볍게 유지됩니다: 필요한 참조만 읽으세요.
사용 시기
- 새 Python CLI 또는 명령 트리.
- CLI 리팩터, 단순화 또는 패키징 정리.
- CLI 검토/감사 (UX, 설정, 오류, 캐시, 릴리스 흐름 포함).
- CLI 패키지처럼 동작하는 에이전트 스킬, 스캐폴드 또는 템플릿.
- 설치, 휠 또는 콘솔 스크립트 동작 검증.
CLI 유형 선택
| 유형 | 편향 |
|---|---|
| 명령 우선 유틸리티 | 얇은 라우터, 엄격한 종료 코드, JSON/일반 출력. |
| 설정 기반 도구 | 설정 발견, 우선 순위, 재현성. |
| 대화형 어시스턴트 | 흐름/상태 머신, 프롬프트, 복구. |
| 하이브리드 CLI | 작은 명령 트리 + 재사용 가능한 오케스트레이션. |
| 성능 중심 CLI | 지연 임포트, 제한된 IO, 캐시/진행률. |
| 플러그인/확장 가능 CLI | 안정적인 확장 계약 및 레지스트리. |
어시스턴트 아키텍처를 명령 우선 도구에 강제하지 마세요. 단일 스크립트 형태를 성장하는 제품에 강제하지 마세요.
핵심 규칙
- 사용자 작업을 해결하는 가장 작은 CLI를 선호하세요.
- 최소 CLI/YAGNI 경로를 사용하세요: 도구에 명령이 한두 개이고, 영구 상태, 네트워크, 플러그인, 자격 증명이 없으면 작게 유지하세요. Rich, Pydantic, platformdirs, 캐시 계층,
doctor또는 플러그인 레지스트리를 즉각적인 문제를 해결하지 않는 한 추가하지 마세요. - 이름, 플래그, 종료 코드, 설정 키, 출력 모드를 안정적으로 유지하세요.
- 기본값을 유용하고 안전하게 만드세요.
- 라우팅, 도메인 로직, IO, 설정, 지속성, 렌더링 및 통합을 분리하세요.
- JSON 또는 일반 모드로 머신 출력을 스크립트 가능하게 유지하세요.
- README 명령이 설치된 콘솔 스크립트인지 확인하세요.
참조-로딩 규칙
작업에 필요한 참조만 읽으세요:
- 생성 또는 리팩터:
references/creation-playbook.md. - 검토 또는 감사:
references/review-rubric.md및references/pitfalls-and-solutions.md. - 구현 세부 사항, 패키징, 보안, 크로스 플랫폼 동작, Rich 출력, 캐시 또는 LLM 제공자:
references/technical-best-practices.md. - 스킬/패키지 유지 보수를 위해, 워크스페이스 루트 거버넌스 폴더
skill-ir/,evals/,scripts/,reports/,registry/가 있을 때 참조하세요. 이는 설치된 스킬 복사본에 번들되지 않은 유지 보수자 측 라우팅 보조 도구입니다.
해당 참조를 여기에 복제하지 마세요. 현재 작업에 필요할 때만 로드하세요.
새 CLI 또는 스킬 생성 흐름
- 제품 형태를 결정하세요: 누가 실행하는지, 어떤 압력을 받는지, 무엇을 캐시/기억/잊어야 하는지.
- 몇 가지 안정적인 명령과 실제 예제로 명령 표면을 설계하세요.
- 맞는 가장 작은 스택을 선택하세요.
- 대부분의 CLI에는 Typer 또는 Click.
- 아주 작은 stdlib 친화적 도구에만 argparse.
- 다음 두 릴리스를 견딜 수 있는 가장 작은 아키텍처를 선택하세요.
- 제품 루프를 구현하세요: 입력, 검증, 실행, 렌더링, 지속성, 종료 코드, 복구 힌트.
- 출시 전에 검증하세요.
명령 표면 예제
my-cli run
my-cli init
my-cli config show
my-cli doctor
my-cli cache clear
my-cli check PATH
my-cli fetch QUERY --json
my-cli export ID --output result.md
규칙:
- 필수 도메인 객체에는 인수를 사용하세요.
- 수정자, 출력 모드, 선택적 동작에는 옵션을 사용하세요.
- 자동화를 위해
--json또는--format json을 제공하세요. --quiet,--verbose,--debug를 일관되게 제공하세요.- 읽기 전용으로 들리는 명령에서 예상치 못한 네트워크나 변경을 피하세요.
검증 기대치
명령 표면, 설치 경로, 휠 경로가 중요할 때 항상 검증하세요:
- 루트 명령 및 각 최상위 명령에 대한
--help. - 새 환경에 깨끗하게 설치.
- 도구에 설정이 있는 경우 누락된 설정 또는 첫 실행 경로.
- 도구가 입력을 검증하는 경우 잘못된 설정 또는 오류 경로.
- 지원되는 경우 성공 경로 및 JSON/스크립트 가능 모드.
- 도구에 캐시가 있는 경우 캐시 새로고침 및 캐시 지우기.
- 패키징 메타데이터 및 콘솔 스크립트.
- 설치 신뢰도를 원할 때 리포지토리 외부에서 휠 설치.
해당되는 경우 이 간편한 팩을 사용하세요:
uv venv /tmp/cli-audit
. /tmp/cli-audit/bin/activate
uv pip install -e .
cli-creator-skill --help
cli-creator-skill install
uv build
uv pip install dist/*.whl
python -m pytest
검토 워크플로우
기존 CLI 또는 CLI 관련 스킬/템플릿을 감사할 때:
검토 전에 읽으세요:
references/review-rubric.mdreferences/pitfalls-and-solutions.md
감사가 구현 세부 사항, 패키징, 보안, 크로스 플랫폼 동작, Rich 출력, 캐싱 또는 LLM 제공자를 다루는 경우 references/technical-best-practices.md를 읽으세요.
그런 다음:
- 리포지토리 형태 검사: 패키지 레이아웃, 명령 진입점, 설정 파일, 테스트, 문서, CI.
- 도움말 실행: 루트
--help및 명령 수준 도움말. - 콜백에서 도메인 서비스, 렌더러까지 하나의 성공 명령 경로 추적.
- 하나의 실패 경로를 추적하고 오류 품질 검사.
- 설정 우선 순위 확인: 플래그, 환경 변수, 프로젝트 설정, 사용자 설정, 기본값.
- 보안 확인: 비밀, 셸 실행, 경로 처리, 안전하지 않은 설정/플러그인, 원격 측정, 서브프로세스 타임아웃, 종속성 공급망.
- 성능 확인: 시작 임포트, 네트워크 타임아웃, 캐시 동작, 파일 발견.
- 자동화 확인: 종료 코드, JSON 출력, stdin/stdout/stderr 분리, 비-TTY 동작.
- 패키징 확인: Python 버전, 종속성, 스크립트, 휠, README 명령.
references/review-rubric.md로 모든 평가 영역 점수 매기기.- 먼저 발견 사항을 제시한 다음 우선 순위가 지정된 수정 사항 제시.
필수 감사 출력
감사 출력에는 다음 섹션이 순서대로 포함되어야 합니다:
**발견 사항**
**점수**
| 영역 | 점수 | 참고 |
|---|---:|---|
**수정 순서**
**테스트 격차**
**검증 명령**
유지 보수 참고 사항
- 이 스킬을 라우터로 유지하세요. 구현 세부 사항은 네 개의 참조에 넣으세요.
- 명령 예제, 감사 제목, 검증 팩을 패키지 릴리스와 동기화하세요.
- 유지 보수자 측 거버넌스의 경우, 워크스페이스 루트
skill-ir/,evals/,scripts/,reports/,registry/폴더가 있을 때 사용하세요. 설치된 스킬의 일부인 것처럼 취급하지 마세요.
이 스킬이 도움이 되는 부분
- 처음부터 새 Python CLI 설계.
- UX, 패키징, 오류, 모델 설정, 캐싱, 유지 보수성을 위한 기존 CLI 검토.
- Typer, Click, argparse 또는 하이브리드 애플리케이션 구조화.
- 사용자가 양식을 작성하는 것처럼 느끼지 않게 하는 자연스러운 다중 턴 CLI 흐름 구축.
- 실제로 필요할 때 진단, 캐시, 메모리 프로파일, 첫 실행 설정 흐름 추가.
- 트리거 명확성, 참조 완전성, 명령 템플릿, 출력 계약, 유지 보수 전략에 대한 CLI 관련 스킬 및 템플릿 검토.
설계 기반
이 스킬은 Python 패키징, Typer, Click, Rich, uv, Ruff, Pydantic 및 LLM 제공자 통합에 대한 유지 보수자 경험과 공식 문서 패턴을 증류합니다. 비공식 타사 리포지토리의 코드나 지침을 벤더링하지 않습니다.