본문 바로가기
ColliePWA

05/Documentation

명령어

모든 collie 동사, PATH에 collie 추가하기, Herdr로 관리되는 설치 환경에서 해당 동사와 일치하는 Herdr 동작

모든 동사는 collie <verb> 형식을 사용합니다. 이는 모든 설치 환경에서 표준 구문이며 바이너리(cli/)에 직접 구현되어 있습니다. PATH(아래)에 collie를 추가하기 전에 저장소 루트에서 bin/collie <verb>를 실행하십시오. Herdr로 관리되는 설치 환경에서는 동일한 동작을 수행하는 Herdr 액션(아래)으로 이 동사들이 등록됩니다.

호스트에서 여러 인스턴스를 실행하는 경우 모든 동사 앞에 COLLIE_INSTANCE=<name>을 붙입니다. 단일 호스트에서의 다중 Collie 인스턴스을 참조하십시오.

동사명령어기능
시작collie start필요시 빌드하고 서빙하며 URL을 출력합니다
중지collie stop브리지를 일시 중지합니다. 아무것도 제거하지 않습니다
재시작collie restart중지 후 시작합니다
상태collie statusCollie가 실행 중입니다 배너 + URL
URLcollie urltailnet URL을 출력합니다
QRcollie qr스캔 가능한 코드 형태의 동일한 URL입니다
버전collie version실행 중인 버전(0.x.y+sha)
업데이트collie update현재 메이저의 최신 릴리스를 스테이징하고, 해당 버전으로 전환하며, 재시작 후 검증합니다(--check은 사전 점검 실행, --status은 보고서 출력, --major은 메이저 버전 전환).
롤백collie update --rollback이전 버전으로 되돌립니다(스테이징된 버전이 없는 Herdr 관리 체크아웃 제외).
제거collie uninstall서비스를 제거합니다. .env 및 설치 상태는 유지합니다
페어링collie pair10분간 유효한 8자리 코드와 QR 코드를 출력합니다. QR 코드를 스캔하여 코드가 입력된 상태로 Settings → Paired devices를 열거나, 수동으로 코드를 입력하여 페어링됨을(를) 가져옵니다.
기기collie devices list · collie devices revoke <label>페어링된 기기 목록 표시 / 해제
링크collie link · collie unlinkPATH에 collie 추가 (아래)
로그collie logs저널 / 로그 파일 실시간 확인
음성collie stt setup · stt test · stt status · stt off음성 입력 구성 / 확인 / 비활성화
푸시 키collie push-keys.env에 VAPID 키 쌍 생성
푸시 테스트collie push-test작동 확인을 위한 테스트 알림 1건 전송

CLI에는 자주 사용되지 않는 작업을 위한 build, serve, unserve, doctor, pack …도 포함되어 있습니다.

start과(와) status은(는) 모두 Collie가 실행 중입니다 배너를 출력합니다. 상태 표시 및 버전이 표시된 다음 service, local, tailnet 줄이 차례로 표시됩니다. 최초 실행은(는) 상태 검사 실패 시 대신 출력되는 내용을 포함하여 전체를 보여줍니다. 보고되는 버전은 제공되는 번들 스탬프에서 읽어오며 활성 빌드를 반영합니다.

Ink 또는 일반 텍스트. start, status, doctor, pack add, pack status 명령은 stdout이 TTY일 때 대화형 터미널 UI를 렌더링합니다. --plain를 전달하거나 출력을 파이프, 파일, systemd 저널, CI 러너로 리디렉션하면 기본 텍스트 라인 출력으로 대체됩니다.

PATH에 collie 추가

collie link를 실행하여 ~/.local/bin/collie를 게시합니다.

bin/collie link          # ~/.local/bin/collie → <checkout>/bin/collie
collie status            # from anywhere
bin/collie unlink        # take the name back down

체크아웃 바이너리로의 심볼릭 링크를 생성하므로 이후의 collie build 업데이트가 추가 단계 없이 즉시 적용됩니다 (ADR 0021). 이 명령은 다른 Collie 체크아웃의 기존 링크를 대체하고 덮어쓴 링크를 출력합니다. 해당 경로에 있는 Collie 이외의 파일은 덮어쓰기를 거부합니다. unlink는 심볼릭 링크가 사용자의 현재 체크아웃을 가리키는 경우에만 이를 제거합니다.

PATH~/.local/bin가 없으면 link가 경고를 표시하고 종료합니다. 셸 프로필은 수정하지 않습니다. collie doctor를 실행하여 path-link 줄을 확인하고 기본 collie 명령이 어떤 체크아웃으로 확인되는지 볼 수 있습니다.

Herdr 작업

herdr plugin install AltanS/collie 또는 herdr plugin link로 생성된 Herdr로 관리되는 설치에만 적용됩니다.. Herdr는 Collie가 지원하는 3개의 멀티플렉서 중 하나입니다. 이 동작들은 어댑터에 직접 매핑됩니다. 각 동작은 위의 표에 설명된 동일한 collie 바이너리로 동사를 전달합니다. scripts/install.sh를 통해 생성된 바이너리 설치에서는 플러그인 동작이 존재하지 않으며 collie <verb> 구문만 사용할 수 있습니다.

Collie는 이러한 동작을 herdr-plugin.toml에 등록합니다. herdr plugin action invoke <id> --plugin herdr.collie로 호출하거나 herdr plugin action list --plugin herdr.collie로 확인할 수 있습니다.

<id>해당 동사기능
startcollie start필요한 경우 빌드, 서비스 시작, tailscale serve, URL + 배너 출력
stopcollie stop브리지를 일시 중지합니다. 아무것도 제거하지 않습니다
restartcollie restartstop + start
statuscollie statusCollie가 실행 중입니다 배너: 준비 상태 ✓/⚠, 버전, URL
urlcollie urltailnet URL을 출력합니다
versioncollie version실행 중인 버전을 출력합니다 (0.x.y+sha)
updatecollie update체크아웃 갱신(pull 또는 fetch + re-detach) + 재빌드 + 재시작
uninstallcollie uninstall서비스를 중단합니다 (.env 및 체크아웃 유지)
push-keyscollie push-keys서비스가 읽는 .env에 VAPID 키 쌍을 작성합니다
push-testcollie push-test구독된 모든 기기에 알림 하나를 푸시합니다

qr, pair, devices, link, logs, stt 항목은 터미널, 위치 인자 또는 둘 다 필요하므로 해당하는 플러그인 액션이 없습니다. collie <verb>(으)로 실행하십시오.

Herdr 액션은 터미널 배너 대신 Herdr의 JSON 봉투를 반환합니다. herdr plugin log list --plugin herdr.collie 명령으로 액션의 캡처된 stdout을 확인하거나, collie <verb> 명령을 직접 실행하여 출력을 인라인으로 출력하십시오. herdr plugin list --json의 출력은 활성 버전이 아닌 plugin link 중에 캐시된 버전을 반영합니다. 연결된 복제본의 경우, update 실행 시 캐시를 수정하기 위해 자동으로 다시 연결합니다. herdr plugin link "$(pwd)" 명령으로 이를 강제할 수 있습니다. Herdr ≥0.8.0은 호출할 때마다 디스크에서 매니페스트를 다시 읽습니다.

참고. scripts/collie-ctl.sh <verb>은(는) 계속 지원됩니다. 부트스트랩 shim으로 작동합니다. Bun을 찾고 체크아웃에 bin/collie이(가) 없으면 컴파일한 뒤 argv를 전달합니다. 새로 연결된 클론은 이 경로를 사용하여 초기 바이너리를 빌드합니다. Herdr <0.8.0은 설치 시 캐시된 액션 정의(ADR 0006)를 고정하므로 Herdr 액션은 이 스크립트를 계속 가리킵니다. 각 동사는 cli/의 컴파일된 바이너리 내부에 한 번 구현됩니다.

GitHub에서 이 페이지 수정하기