제공됨
아래 고정된 릴리스가 실제로 하는 동작입니다. 여기 있는 모든 옵션은 릴리스된 바이너리가 실제로 파싱하는 옵션이며, 양방향으로 검사되므로 없는 옵션을 지어내거나 있는 옵션을 조용히 빠뜨릴 수 없습니다.
제공 동작의 근거: src/cli.ts @ d62e85485903a5537ee2b73c14201597e29bdaa5
공통 옵션
| 옵션 | 설명 |
|---|---|
-h, --help | 사용법 요약을 출력하고 종료합니다. |
virgo onboard
이 머신을 준비하고 검증된 사실만 기록합니다. --profile 없이 처음 실행하면 비공개 머신 프로필을 대화식으로 만들고, --profile을 주면 무인 재생으로 동작합니다. 이미 충족된 검사는 조용히 통과하고, 사람이 해야 하는 체크포인트는 대기 상태로 남으며, 프롬프트는 뜨지 않습니다.
virgo onboard제공됨
virgo onboard [--profile PATH] [--manifest PATH] [--inspect] [--dry-run] [--json]
호스트를 측정하고, 재개 가능한 manifest를 저장하며, 사람만 할 수 있는 지점에서 멈춥니다.
옵션
| 옵션 | 설명 |
|---|---|
--profile PATH | 저장된 머신 프로필을 읽어 무인으로 재생합니다. |
--manifest PATH | 재개 가능한 manifest 경로를 바꿉니다. |
--inspect | 검사만 하고 manifest를 쓰지 않습니다. |
--dry-run | 현재 상태와 조치를 보여주고 아무것도 쓰지 않습니다. |
--json | 전체 manifest를 JSON으로 출력합니다. |
virgo init
소유자의 canon과 변경 불가능한 암묵적 home workspace를 만듭니다. onboard와 구분됩니다. onboard는 머신을 설치에 합류시키고, init은 소유자의 지식 기반을 존재하게 합니다.
virgo init제공됨
virgo init
설치당 한 번 canon을 만듭니다. 다시 실행하면 안내가 있는 무동작입니다.
virgo workspace
작업 도메인 격리 경계입니다. 암묵적 home workspace는 init 시점부터 존재하며 그 id는 변경할 수 없습니다.
virgo workspace add제공됨
virgo workspace add NAME
격리된 작업 도메인을 만듭니다.
virgo workspace list제공됨
virgo workspace list
등록된 작업 도메인을 나열합니다.
virgo persona
상주 persona의 등록과 은퇴입니다. address는 전송 주소이고, 소유자에게 보이는 이름은 별도의 metadata입니다.
virgo persona add제공됨
virgo persona add [NAME] [--scope SCOPE] [--project PROJECT] [--role ROLE] [--character TEXT] [--language TEXT] [--tone TEXT]
scope/project/role 경로에 persona를 등록하고 첫 character 계층을 만듭니다.
옵션
| 옵션 | 설명 |
|---|---|
--scope SCOPE | 주소의 workspace scope입니다. |
--project PROJECT | project 구간입니다. 세 구간짜리 project 임무에 씁니다. |
--role ROLE | class registry의 role입니다. |
--character TEXT | character overlay를 만들 짧은 성격 설명입니다. |
--language TEXT | 이 persona의 작업 언어입니다. |
--tone TEXT | 이 persona의 어조입니다. |
virgo persona list제공됨
virgo persona list
persona와 임무 binding을 읽습니다.
virgo persona retire제공됨
virgo persona retire ID_OR_ADDRESS
계보를 지우지 않고 배치와 새 전달을 멈춥니다. remove 동사는 없습니다. 은퇴는 이력을 보존합니다.
virgo skill
작업 skill 관리입니다. persona 개인 skill은 그 persona 권한 안에서 바뀝니다. 공유되는 class·workspace skill은 제안-승인 절차로 통제되며, 활성화 시 제안된 정확한 revision hash에 묶인 소유자 전용 서명 승인 기록이 작성됩니다.
virgo skill list제공됨
virgo skill list [--level LEVEL] [--target TARGET]
skill을 나열하고 필요하면 걸러냅니다. level/target/이름, 상태, revision hash를 출력합니다.
옵션
| 옵션 | 설명 |
|---|---|
--level LEVEL | persona·class·workspace 수준으로 거릅니다. |
--target TARGET | 해당 수준의 대상 식별자로 거릅니다. |
virgo skill add / edit제공됨
virgo skill <add|edit> NAME [--level LEVEL] [--target TARGET] [--content TEXT]
skill을 만들거나 바꿉니다. 개인 skill은 범위 안에서 바로 활성화되고, 공유 skill을 고치면 제안 상태의 revision이 생기며 이전 승인은 무효가 됩니다.
옵션
| 옵션 | 설명 |
|---|---|
--level LEVEL | persona, class, workspace 중 하나입니다. |
--target TARGET | persona 주소, class id, workspace id입니다. |
--content TEXT | skill 본문입니다. |
계약에 포함된 거부 동작
- 이름이 없으면 skill_name_required로 거부합니다.
- 모르는 옵션은 무시하지 않고 unknown_option으로 거부합니다.
virgo skill approve제공됨
virgo skill approve NAME [--level LEVEL] [--target TARGET]
제안된 공유 skill을 활성화합니다. 정확한 revision hash에 대한 서명 승인 기록을 남기고, 활성 상태를 읽을 때마다 그 기록을 다시 검증합니다.
옵션
| 옵션 | 설명 |
|---|---|
--level LEVEL | persona, class, workspace 중 하나입니다. |
--target TARGET | 해당 수준의 대상 식별자입니다. |
virgo hub
고정된 store runtime을 운영합니다. status는 unhealthy·stopped·absent·명세 불일치를 running이라고 부르지 않고 그대로 보고합니다. stop은 container와 데이터를 보존합니다.
virgo hub start제공됨
virgo hub start [--config PATH]
설정된 store container를 시작하거나 그대로 재개합니다.
옵션
| 옵션 | 설명 |
|---|---|
--config PATH | 엄격한 hub 설정을 읽습니다. 기본값은 $VIRGO_HUB_CONFIG이고, 없으면 ~/.config/virgo/hub/hub.json입니다. |
virgo hub status제공됨
virgo hub status [--config PATH]
상태와 runtime이 명세와 일치하는지를 읽습니다.
옵션
| 옵션 | 설명 |
|---|---|
--config PATH | 엄격한 hub 설정을 읽습니다. 기본값은 $VIRGO_HUB_CONFIG이고, 없으면 ~/.config/virgo/hub/hub.json입니다. |
virgo hub stop제공됨
virgo hub stop [--config PATH]
멱등하게 정지하며 container와 데이터를 보존합니다.
옵션
| 옵션 | 설명 |
|---|---|
--config PATH | 엄격한 hub 설정을 읽습니다. 기본값은 $VIRGO_HUB_CONFIG이고, 없으면 ~/.config/virgo/hub/hub.json입니다. |
virgo records
record graph 수집을 네 단계로 명시적으로 나눈 파이프라인입니다. 적용 전에 계획하고 검증할 수 있도록 각 단계가 분리되어 있습니다.
virgo records plan / apply / verify / materialize제공됨
virgo records <plan|apply|verify|materialize> --source PATH [--ledger PATH] [--expected PATH] [--password-file PATH] [--expected-current HASH|none] [--out PATH]
변경을 계획하고, 적용하고, 결과를 검증하거나, 사람이 읽을 수 있는 형태로 만듭니다.
옵션
| 옵션 | 설명 |
|---|---|
--source PATH | 수집할 source 트리입니다. 필수입니다. |
--ledger PATH | 읽고 쓸 수집 ledger입니다. |
--expected PATH | 비교 기준이 되는 기대 상태 파일입니다. |
--password-file PATH | store 자격 증명을 인자나 프롬프트가 아니라 파일에서 읽습니다. |
--expected-current HASH|none | 현재 pointer가 일치하도록 요구하거나, 빈 시작이면 none을 씁니다. compare-and-set이라 불일치하면 덮어쓰지 않고 거부합니다. |
--out PATH | materialize 결과를 쓸 위치입니다. |
virgo record
source 단위 record 작업입니다. 한 번 등록하고 이후 계속 동기화합니다.
virgo record bootstrap제공됨
virgo record bootstrap SOURCE_ADDRESS --workspace ID --persona ID --governing-document SHA [--password-file PATH]
source 주소를 처음 등록합니다. workspace, persona, 그리고 이를 승인하는 governing document에 묶입니다.
옵션
| 옵션 | 설명 |
|---|---|
--workspace ID | 소유 workspace입니다. 필수입니다. |
--persona ID | 소유 persona입니다. 필수입니다. |
--governing-document SHA | 이 source를 승인하는 문서 hash입니다. 필수입니다. |
--password-file PATH | store 자격 증명을 파일에서 읽습니다. |
virgo record sync / status제공됨
virgo record <sync|status> [SOURCE_ADDRESS] [--source PATH --ledger PATH --expected PATH] [--password-file PATH] [--profile PATH] [--trigger manual|periodic|push] [--dry-run]
등록된 source를 동기화하거나 현재 상태를 보고합니다.
옵션
| 옵션 | 설명 |
|---|---|
--source PATH | source 트리 경로를 덮어씁니다. |
--ledger PATH | ledger 경로를 덮어씁니다. |
--expected PATH | 기대 상태 경로를 덮어씁니다. |
--password-file PATH | store 자격 증명을 파일에서 읽습니다. |
--profile PATH | 무인 실행을 위해 저장된 프로필을 읽습니다. |
--trigger manual|periodic|push | 이 동기화를 무엇이 유발했는지 기록해 실행 출처를 남깁니다. |
--dry-run | 무엇이 바뀔지 보고만 하고 아무것도 쓰지 않습니다. |
설계됨
승인되었지만 고정된 릴리스에는 아직 노출되지 않은 설계 표면입니다. 의도된 형태를 공개하기 위해 문서화하되, 오늘 쓸 수 있는 것처럼 읽히지 않도록 분리해 둡니다.
설계 표면의 근거: docs/design/CLI-SPEC.md @ d62e85485903a5537ee2b73c14201597e29bdaa5
virgo agent
머신에서 쓸 수 있는 AI engine을 관리합니다. engine 설치는 머신 단위 용량이고, model은 별도 설치가 아니라 persona 수준에서 고르는 binding입니다.
virgo agent list / add / remove설계됨
virgo agent <list|add|remove> [--machine HOST]
머신이 제공하는 engine과 각 engine이 제공하는 model을 기록합니다.
virgo agent repair설계됨
virgo agent repair [--machine HOST]
기존 agent 기록의 로그인과 상태를 다시 확인합니다. 만료된 로그인은 측정된 상태로 virgo status에 드러납니다.
virgo adapter
사람 channel adapter입니다. binding은 adapter × persona 주소 × 방향이며, 설정 확인이 아니라 실제 메시지 왕복으로 확인된 전달 receipt가 있어야 live가 됩니다.
virgo adapter add설계됨
virgo adapter add
종류를 고르고, 자격 증명 마법사를 실행하고, persona 주소와 방향에 묶습니다.
virgo adapter list / remove설계됨
virgo adapter <list|remove>
binding을 보거나 제거합니다.
virgo adapter doctor설계됨
virgo adapter doctor [BINDING]
binding에 대한 channel 진단을 실행합니다.
virgo persona (lifecycle)
등록을 넘어선 수명주기 동사입니다. 단일 활성 사본은 client가 아니라 hub가 강제합니다. 다른 곳에 fence가 잡혀 있으면 두 번째 up은 거부됩니다.
virgo persona up / down설계됨
virgo persona <up|down> NAME
복원하거나 checkpoint 후 정지합니다. 수용 게이트와 수명주기 토큰이 앞을 막습니다.
virgo persona status설계됨
virgo persona status NAME
fence, host, 정체성, 상태, 마지막 소비 시각을 보여줍니다.
virgo persona checkpoint설계됨
virgo persona checkpoint NAME
실행 중인 persona를 멈추지 않고 상태를 저장하고 수집합니다.
virgo persona reincarnate설계됨
virgo persona reincarnate NAME
오래 상주한 persona의 context 갱신입니다. checkpoint 후 session context를 비우고, 깨끗한 record로부터 briefing을 다시 만들고, 같은 정체성으로 재개합니다.
virgo persona launch설계됨
virgo persona launch PROJECT
class 프로필에 따라 project의 lead나 deputy를 필요할 때 활성화합니다.
Operations
남은 승인 동사들입니다. 예약된 의무, 전체 시스템 상태, 렌더링, 증명, 소유자 특이값 검사입니다.
virgo status설계됨
virgo status
전체 시스템 보기입니다. 머신, persona, fence, 큐, channel의 마지막 소비 시각을 봅니다.
virgo duty list / add설계됨
virgo duty <list|add>
예약된 의무입니다. 스케줄러가 실행하고 실행마다 receipt를 남깁니다.
virgo render설계됨
virgo render [--scan]
canon으로부터 설정 산출물을 렌더링합니다. --scan은 쓰지 않고 어긋남만 보고합니다. 어긋남은 감지될 뿐 채택되지 않습니다.
virgo operator verify-context설계됨
virgo operator verify-context
실행 컨텍스트 증명 receipt를 만듭니다.
virgo operator promote-completion설계됨
virgo operator promote-completion
receipt를 동반한 완료 승격입니다.
virgo screen설계됨
virgo screen
저장소를 공개하기 전에 소유자 특이값을 검사합니다.
virgo machine profile설계됨
virgo machine profile
머신의 정본 경로와 정체성입니다. 경로 관련 질문의 단일 출처입니다.
virgo channel doctor설계됨
virgo channel doctor [BINDING]
메시지 내용을 들여다보지 않고, receipt 흔적으로 조용한 사람 channel을 진단합니다.
virgo project add / list / onboard설계됨
virgo project <add|list|onboard>
workspace 안의 작업 단위입니다. onboard는 coding-work 템플릿을 인스턴스화합니다.