# Management CLI Operations - Related REQ: N/A ## 목표 `portfoliohub` CLI를 운영 자동화와 수동 점검 모두에 안전하게 사용할 수 있도록 명령 책임과 사용 규칙을 정의한다. ## 명령 그룹 | 그룹 | 주요 명령 | 목적 | | --- | --- | --- | | DB 운영 | `init-db`, `migrate-db`, `health-check` | 스키마 적용 및 연결 상태 점검 | | 사용자 관리 | `user list/get/create/update/delete` | 운영 계정 라이프사이클 | | 포트폴리오 조회 | `portfolio list`, `portfolio status` | 상태 확인 | | 포트폴리오 변경 | `portfolio create/update/buy/sell/invest/transfer/reset/delete` | 거래/자금/상태 변경 | ## 인터페이스 명세 전역 옵션: - `--format [table|json]` (기본값: `table`) 공통 명령: - `portfoliohub init-db [--maintenance-db postgres]` - `portfoliohub migrate-db` - `portfoliohub health-check` 포트폴리오 하위 명령: - `portfoliohub portfolio list [--broker ...] [--status ...]` - `portfoliohub portfolio status [--recent 5]` - `portfoliohub portfolio create --symbol ... [--name ...] [options] [--force]` - `portfoliohub portfolio update [options] [--force]` - `portfoliohub portfolio buy --quantity ... --price ... [options] [--force]` - `portfoliohub portfolio sell --quantity ... --price ... [options] [--force]` - `portfoliohub portfolio invest --type --amount ... [options] [--force]` - `portfoliohub portfolio transfer --direction --amount ... [options] [--force]` - `portfoliohub portfolio reset [--infer-symbol ...] [--force]` - `portfoliohub portfolio delete [--keep-ledger] [--force]` 포트폴리오 댓글 하위 명령: - `portfoliohub portfolio comment add --content ` - `portfoliohub portfolio comment list ` - `portfoliohub portfolio comment update --content [--force]` - `portfoliohub portfolio comment delete [--force]` 전략셋 하위 명령: - `portfoliohub strategy list` - `portfoliohub strategy create --name ... --config ...` - `portfoliohub strategy update [--name ...] [--config ...]` - `portfoliohub strategy delete [--force]` ## 실행 원칙 - 쓰기 명령은 기본적으로 확인 프롬프트를 띄운다. - 자동화 스크립트에서는 `--force`를 사용해 비대화식 실행을 보장한다. - DB 타깃 실행 시 `PORTFOLIOHUB_DB_ENABLED=true`와 `TIMESCALEDB_*`를 명시한다. ## 예시 시나리오 1. 신규 환경 준비 - `portfoliohub init-db` - `portfoliohub health-check` 2. 일상 운영 - `portfoliohub portfolio list` - `portfoliohub portfolio status ` 3. 배포 후 검증 - `portfoliohub user list` - 주요 API smoke test와 결과 비교 ## 오류/종료코드 가이드 - `0`: 정상 종료 - `1`: 입력/검증/런타임 오류 - 재시도 가능 오류(예: 일시적 DB 연결 실패)는 메시지에 원인을 명확히 표기한다. 확인 동작: - 변경 명령은 기본적으로 확인 프롬프트를 요청한다. - `--force`를 지정하면 확인 프롬프트를 생략한다. ## Open Implementation Points - JSON 출력 모드(`--json`)를 도입해 자동화 친화성을 높일지 결정한다. - 대량 작업(batch) 명령 추가 시 실패 항목 보고 포맷을 표준화한다.