orot-kit
macOS와 Linux에서 자주 쓰는 OS·개발·서버 관리 유틸을 하나의 CLI로.
설치
아래 한 줄로 OS와 아키텍처를 자동 감지해 $HOME/.local/bin/kit에 설치한다.
$
curl -fsSL https://kit.2juho.com/install.sh | sh
설치 위치 변경 →
curl -fsSL https://kit.2juho.com/install.sh | KIT_INSTALL_DIR=~/bin sh
업데이트
설치 서버의 현재 OS/Arch 바이너리로 실행 중인 kit을 교체한다. 업데이트 다운로드는 서버 다운로드 카운트에 포함하지 않는다.
kit update # 현재 kit 바이너리 업데이트
kit update --dry-run # 다운로드 URL과 교체 경로만 확인
kit update --base-url https://kit.2juho.com
지원 OS
macOS
arm64, amd64
Linux
arm64, amd64
제거
설치된 kit 바이너리와 ~/.kit, ~/.kit-server 상태 파일을 함께 정리한다.
kit uninstall # kit 패키지 제거
CLI에서 먼저 확인 →
kit uninstall --dry-run
빠른 시작
kit --help # 대표 명령어 목록
kit -v # 빌드 버전 확인
kit version # 빌드 버전 확인
kit update --dry-run # 업데이트 다운로드 URL 확인
kit info # OS, Arch, Go, 설치 경로
kit resource # 서버 리소스 요약
kit network # 네트워크 요약
kit git status # 안전한 Git 상태 확인
출력 형식
Title
Kit Info
Result
Version: 0.1.0-dev
OS: linux
Arch: amd64
일반 명령은 제목, 실행 명령, 요약, 결과, 힌트를 같은 구조로 출력한다. 스크립트에서 쓰려면 --json을 붙인다.
변경 사항
- Runtime Manager 기능과 Node·Go·Python·Java 런타임 단축 명령을 제거했다.
- Docker 관리 기능을 제거하고 서비스 관리는 systemctl·Homebrew services 중심으로 단순화했다.
- 설치 서버에서 런타임 캐시 API와 runtime-cache-dir 옵션을 제거했다.
Files
탐색·검색·용량
kit ls . # ls -al .
kit ls .. # ls -al ..
kit ls ../.. # ls -al ../..
kit ls ./src
kit tree . --depth 2
kit find TODO --root .
kit find "*.go" --root . --type file
kit find nginx /etc
kit size .
kit size ./dist
kit find는 패턴에 와일드카드가 없으면 자동으로 *pattern* 형태로 찾는다.
Archive
압축·해제
kit archive README.md --format tar.gz --output readme.tar.gz
kit archive ./dist --format zip --output dist.zip
kit archive ./logs --format tar.gz --output logs.tar.gz
kit extract readme.tar.gz --dest ./out
kit extract dist.zip ./out
지원 포맷: tar.gz · tgz · zip · gzip
Network
요약·IP·DNS·HTTP
kit network
kit network ip
kit network ping example.com --count 4
kit network dig example.com
kit network curl https://example.com --method GET
kit network download https://kit.2juho.com/bin/kit-linux-amd64 --output kit --executable
포트·패킷 캡처
kit network port
kit network port kill 1234 --yes
kit network tcpdump --interface eth0 --port 443 --count 50 --dry-run
kit network tcpdump --interface en0 --host 1.1.1.1 --write capture.pcap
tcpdump는 root 권한이 필요할 수 있다. 실제 실행 전에는 --dry-run으로 명령을 먼저 확인한다.
Resource
서버 리소스·로그
kit resource # host, uptime, disk, memory, process 요약
kit resource disk # df -h
kit resource memory # free -h 또는 vm_stat
kit resource process # ps aux 상위 항목
kit resource logs nginx
kit resource logs --unit nginx
Git & Diff
조회 전용 Git
kit git
kit git status
kit git position
kit git diff
kit git diff --stat
kit git diff --name-only
kit git diff --staged
kit git diff --against main
kit git diff --base origin/main
Git 기능은 저장소를 변경하지 않는 조회 명령에 집중한다.
파일 간 코드 비교
kit diff README.md
kit diff old.go new.go
kit diff old.go new.go --context 5
Service
서비스 alias
kit service add nginx --type systemctl --name nginx
kit service nginx status
kit service nginx logs
kit service nginx restart
SSH & Transfer
SSH alias·키
kit ssh add prod --host example.com --user deploy --port 22
kit ssh prod
kit ssh keygen ~/.ssh/id_ed25519
kit ssh copy deploy@example.com
scp·rsync
kit send --server prod --local ./dist --remote /srv/app
kit receive --server prod --remote /var/log/app.log --local ./logs/
kit sync --server prod --local ./dist --remote /srv/app --delete
Firewall
상태·포트 변경
kit fw status
kit fw list
kit fw open 8080
kit fw open 5353 --proto udp
kit fw close 8080 --yes
Linux는 ufw 또는 firewall-cmd, macOS는 pfctl 상태 조회를 사용한다.
Secret
secret 생성
kit secret password --length 32
kit secret password --length 48 --symbols=false
kit secret token --length 48
kit secret api-key --prefix orot --length 32
kit secret jwt --format env --key JWT_SECRET --no-print
kit secret hex --length 32
kit secret base64 --length 32
kit secret env --key API_TOKEN --format base64
kit secret uuid
공통 플래그
| 플래그 | 설명 |
|---|---|
-v, --version |
루트에서 kit 버전 출력 |
--dry-run |
외부 명령을 실행하지 않고 preview만 출력 |
--json |
스크립트와 파이프라인에서 쓰기 좋은 JSON 출력 |
--verbose |
상세한 실행 결과 출력 |
--yes |
확인 프롬프트를 건너뛰고 실행 |
서버 API
| Endpoint | 내용 |
|---|---|
/install.sh |
OS와 아키텍처를 감지하는 설치 스크립트 |
/uninstall.sh |
kit 바이너리와 로컬 상태 파일을 제거하는 스크립트 |
/version |
버전, 빌드 정보, 사용 가능한 바이너리 목록 |
/stats |
macOS/Linux 다운로드 카운트와 path별 카운트. ?update=1 바이너리 다운로드는 제외 |
런타임 캐시 배포 기능은 제거되어 /runtime 계열 엔드포인트를 제공하지 않는다.