18/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 status | Collie가 실행 중입니다 배너 + URL |
| URL | collie url | tailnet URL을 출력합니다 |
| QR | collie qr | 스캔 가능한 코드 형태의 동일한 URL입니다 |
| 버전 | collie version | 실행 중인 버전(0.x.y+sha) |
| Skill | collie skill | 터미널에서 작동하는 AI 코딩 에이전트를 위한 Collie 에이전트 브리프입니다(collie --skill도 해당). collie skill install, uninstall, sync, status, print은(는) 에이전트 지침 파일에서 walky talky 스킬을 관리합니다. collie update은(는) 각 업데이트(스킬 설치) 후에 sync을(를) 실행합니다. |
| 문서 | collie docs · collie docs <name> · collie docs --all | 바이너리 자체에서 출력된 문서 페이지 |
| 업데이트 | collie update | 현재 메이저의 최신 릴리스를 스테이징하고, 해당 버전으로 전환하며, 재시작 후 검증합니다(--check은 사전 점검 실행, --status은 보고서 출력, --major은 메이저 버전 전환). |
| 롤백 | collie update --rollback | 이전 버전으로 되돌립니다(스테이징된 버전이 없는 Herdr 관리 체크아웃 제외). |
| 제거 | collie uninstall | 서비스를 제거합니다. .env 및 설치 상태는 유지합니다 |
| 페어링 | collie pair · collie pair --expires <duration> | 10분 동안 유효한 8자리 코드와 QR 코드를 출력합니다. QR 코드를 스캔하여 코드가 입력된 설정 → 시스템 → 페어링된 디바이스를 열거나, 코드를 직접 입력하여 페어링됨하십시오. --expires이 없으면 토큰이 만료되지 않으며 명령에 해당 내용이 표시됩니다. 지정하면(12h, 30d, 2w) 명령은 등록 후 토큰 작동이 중단되는 날짜를 출력합니다. 스크립트는 자체 레이블(예: script)로 코드를 등록하고 1회 페어링합니다(기기에 만료 시간 설정). |
| 기기 | collie devices list · collie devices revoke <label> · collie devices set-expiry <label> <duration> · collie devices clear-expiry <label> | 페어링된 디바이스를 나열하거나 취소하거나 만료 시간 시점을 변경합니다. list은 각 디바이스의 만료 시간을 no expiry, expires <date> 또는 EXPIRED <date>로 표시합니다. set-expiry는 지금부터 새 유효 기간을 계산합니다. clear-expiry은 디바이스를 제거합니다. 레이블은 정확히 일치해야 하며, 일치하는 디바이스가 하나뿐인 경우에만 대소문자를 구분하지 않습니다. |
| 링크 | collie link · collie unlink | PATH에 collie 추가 (아래) |
| 로그 | collie logs | 서비스 로그 추적 |
| Config | collie config show · collie config check · collie config init | 모든 설정을 출처와 함께 출력하거나, 파일의 유효성을 검사하거나, 주석이 포함된 config.toml(설정 파일)을 작성합니다. |
| Durable agent | collie durable attach <name> --socket <path> · collie durable attach <name> --url <url> --token-env <VAR> · collie durable detach <name> · collie durable list | sources.json에 durable agent를 추가하거나 제거할 수 있으며, 실행 중인 브리지가 부여한 상태와 함께 각 durable agent를 나열할 수 있습니다. attach 및 detach는 다음 재시작 시 적용되거나 --restart 사용 시 즉시 적용됩니다. 플래그, 출력 및 종료 코드: Durable agent |
| Walky talky | collie walky who · collie walky send <address> <text> · collie walky reply <id> <text> · collie walky inbox · collie walky status <id> | 터미널에서 에이전트 세션으로, 또는 에이전트 간에 메시지를 보냅니다(Walky talky). |
| 음성 | collie stt setup · stt test · stt status · stt off | 음성 입력 구성 / 확인 / 비활성화 |
| 푸시 키 | collie push-keys | .env에 VAPID 키 쌍 생성 |
| 푸시 테스트 | collie push-test | 작동 확인을 위한 테스트 알림 1건 전송 |
CLI에는 자주 사용되지 않는 작업을 위한 build, serve, unserve, doctor, crew …도 포함되어 있습니다.
start과(와) status은(는) 모두 Collie가 실행 중입니다 배너를 출력합니다. 상태 표시 및 버전이 표시된 다음 service, local, tailnet 줄이 차례로 표시됩니다. 최초 실행은(는) 상태 검사 실패 시 대신 출력되는 내용을 포함하여 전체를 보여줍니다. 보고되는 버전은 제공되는 번들 스탬프에서 읽어오며 활성 빌드를 반영합니다.
Ink 또는 일반 텍스트. start, status, doctor, crew add, crew status 명령은 stdout이 TTY일 때 대화형 터미널 UI를 렌더링합니다. --plain를 전달하거나 출력을 파이프, 파일, systemd 저널, CI 러너로 리디렉션하면 기본 텍스트 라인 출력으로 대체됩니다.
collie doctor 명령은 읽은 상태를 표시합니다. 첫 번째 줄에는 인스턴스 이름(default, 또는 COLLIE_INSTANCE에 지정된 이름)과 읽고 있는 상태 디렉터리가 표시됩니다. 한 머신에서 두 개의 레인을 실행하는 경우 나머지 정보를 신뢰하기 전에 이 줄을 확인하십시오. 잘못된 COLLIE_INSTANCE 환경 변수를 가진 셸은 잘못된 레인을 읽기 때문입니다. --json 명령은 collie 항목의 instance 및 stateDir와 동일한 두 값을 제공합니다.
collie doctor 명령은 에이전트 프로그램 목록을 표시합니다. Collie에 입력 프로필이 있는 각 프로그램은 한 개의 harness-<name> 행을 받습니다: 로그인 셸의 PATH 경로에서 Collie가 실행할 파일, 해당 파일이 출력한 버전, 그리고 해당 버전에 대한 프로필의 판정 결과입니다. 검증된 범위를 초과하는 버전은 참고 사항일 뿐이며, 턴 진행 중의 전송은 여전히 신뢰할 수 있습니다. 파일은 확인되지만 버전을 읽을 수 없는 경우(예: $HOME 환경이 필요한 PATH의 첫 번째 래퍼이거나 잘못된 설치인 경우) 해당 행에 경고가 표시됩니다. 버전을 읽을 수 있을 때까지 Collie는 해당 프로그램에 대한 모든 전송을 임시 상태로 처리합니다. 설치되지 않은 프로그램에는 not installed 문구가 표시됩니다. --json 모드에서는 각 행에 harness, binary, version, profileStatus 항목도 함께 표시됩니다.
collie doctor 명령은 검사할 창이 없기 때문에, 해당 행에는 PATH 경로에 있는 복사본의 이름이 표시됩니다. Herdr에서의 전송은 창 내부에서 실행 중인 프로그램에 확인하므로, 전체 경로로 시작되었거나 프로젝트 내에 설치되어 다른 복사본을 실행하는 창의 경우 영수증에 해당 복사본의 버전이 표시됩니다.
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가 지원하는 5개 멀티플렉서 중 하나입니다. 이러한 동작은 어댑터에 직접 매핑됩니다. 각 동작은 위 표에 설명된 동일한 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> | 해당 동사 | 기능 |
|---|---|---|
start | collie start | 필요한 경우 빌드, 서비스 시작, tailscale serve, URL + 배너 출력 |
stop | collie stop | 브리지를 일시 중지합니다. 아무것도 제거하지 않습니다 |
restart | collie restart | stop + start |
status | collie status | Collie가 실행 중입니다 배너: 준비 상태 ✓/⚠, 버전, URL |
url | collie url | tailnet URL을 출력합니다 |
version | collie version | 실행 중인 버전을 출력합니다 (0.x.y+sha) |
update | collie update | 체크아웃 갱신(pull 또는 fetch + re-detach) + 재빌드 + 재시작 |
uninstall | collie uninstall | 서비스를 중단합니다 (.env 및 체크아웃 유지) |
push-keys | collie push-keys | 서비스가 읽는 .env에 VAPID 키 쌍을 작성합니다 |
push-test | collie push-test | 구독된 모든 기기에 알림 하나를 푸시합니다 |
qr, pair, devices, link, logs, stt, config은 터미널, 위치 인수 또는 둘 다 필요하므로 해당하는 플러그인 동작이 없습니다. 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/의 컴파일된 바이너리 내부에 한 번 구현됩니다.