
인증된 도구 레지스트리 관리자입니다. Git 기반 레지스트리에서 개발자 툴체인을 관리합니다.
도구 레지스트리 관리자 -- git 기반 레지스트리에서 개발자 툴체인을 관리하며, mise 위에 계층화되어 있습니다.
kit은 여러 레지스트리에서 도구 버전을 확인하고, mise 구성을 생성하며, 게시자 릴리스 아티팩트에 대해 SHA-256 체크섬을 확인하고, 게시자가 바이너리 서명을 제공하는 경우 cosign 서명을 확인하며, 세 가지 파이프라인 CI 아키텍처를 통해 업스트림 업데이트 추적을 자동화합니다.
아직 Rust가 없다면 가장 빠른 방법은 mise입니다:
mise use --global rust
cargo install nomograph-kit
또는 rustup을 사용하세요:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cargo install nomograph-kit
바이너리 이름은 kit입니다.
kit setup --registry https://gitlab.com/your/registry.git
kit sync
kit status
레지스트리는 도구별 TOML 정의가 포함된 git 저장소입니다:
tools/
_meta.toml # registry metadata + merge policy
gh.toml # one file per tool
muxr.toml
...
각 도구 정의는 자체 포함되어 있습니다:
[tool]
name = "gh"
source = "github"
repo = "cli/cli"
version = "2.89.0"
tag_prefix = "v"
bin = "gh"
tier = "high"
aqua = "cli/cli"
[tool.assets]
macos-arm64 = "gh_{version}_macOS_arm64.zip"
linux-x64 = "gh_{version}_linux_amd64.tar.gz"
[tool.checksum]
file = "gh_{version}_checksums.txt"
format = "sha256"
[tool.signature]
method = "github-attestation"
소스: github, gitlab, npm, crates, direct, rustup, brew
brew 소스는 mise의 brew: 백엔드로 설치를 위임합니다 (CI에서 로컬 brew CLI가 필요하지 않음). kit는 formulae.brew.sh API를 통해 버전을 추적하고 mise.toml에 name = "brew:<formula>@<version>" 항목을 생성합니다.
스마트 kit add는 업스트림을 조회하고 자동으로 채웁니다:
kit add jq jqlang/jq # GitHub
kit add muxr nomograph/muxr --gitlab # GitLab (resolves project_id)
kit add claude-code --npm @anthropic-ai/claude-code
kit add cargo-nextest --crates
kit add chafa --brew # Homebrew formula (formula defaults to tool name)
kit add go121 --brew [email protected] # Homebrew formula with explicit formula name
각 도구에는 병합 정책을 제어하는 등급이 있습니다:
| 등급 | 의미 | 일반적인 정책 |
|---|---|---|
| own | 직접 빌드하여 게시하는 도구 | 모든 범프 자동 병합 |
| high | 중요한 타사 도구 | 수동 검토 |
| low | 일반 도구 | 패치/마이너 자동 병합 |
등급은 TOML 정의에서 도구별로 설정됩니다. 레지스트리의 _meta.toml은 자동 병합할 등급을 정의합니다:
[policy]
auto_merge_tiers = ["own", "low"]
auto_merge_bump = ["patch", "minor"]
auto_merge_requires_checksum = true
~/.config/kit/config.toml에서 여러 레지스트리를 구성합니다. 도구가 중복될 경우 첫 번째 레지스트리가 우선합니다. 로컬 핀이 재정의합니다.
[[registry]]
name = "nomograph"
url = "https://gitlab.com/nomograph/kits.git"
[[registry]]
name = "personal"
url = "https://gitlab.com/you/kits.git"
신뢰 경계별로 레지스트리를 분리합니다. 예를 들어, 직접 만든 도구는 하나의 레지스트리에, 타사 도구는 다른 레지스트리에 보관합니다. 각 레지스트리에는 자체 파이프라인, 병합 정책 및 업데이트 주기가 있습니다.
kit는 작업 디렉터리에서 상위로 올라가며 kit.toml을 찾습니다. 발견되면 도구가 해당 프로젝트로 범위가 지정됩니다:
kit.toml 옆에 있는 .kit.lock (git에 커밋됨)# kit:begin / # kit:end 마커와 병합된 .mise.tomlkit는 kit-registry CI 구성 요소를 통해 3-파이프라인 공급망 아키텍처를 제공합니다:
include:
- component: gitlab.com/nomograph/pipeline/kit-registry@v3
inputs:
kit_version: "0.10.1"
mr_assignee: "andunn"
kit sense는 업스트림 릴리스를 조회하고, 자산을 다운로드하며, 체크섬을 확인하고, 권고 데이터베이스를 확인합니다. 각 발견 사항을 위험도(범프 수준, 등급, 체크섬 상태)별로 분류합니다. 버전 드리프트에서 실패하지 않습니다. 드리프트는 감지하는 대상입니다.
kit evaluate는 결정론적 규칙을 적용하고(깨끗한 패치 자동 승인, 체크섬 불일치 거부), 선택적으로 에지 케이스(메이저 범프, 누락된 체크섬, 권고)에 대해 LLM을 호출합니다.
kit apply는 디스크의 도구 TOML 파일을 업데이트하고 업데이트를 자동 병합 가능 여부에 따라 두 그룹으로 분할합니다:
CI 구성 요소는 각 그룹에 대해 별도의 브랜치와 MR을 만듭니다. auto-merge MR은 verify 파이프라인이 통과한 후 자체 병합됩니다. review MR은 사람의 검토를 위해 열려 있습니다.
kit verify-registry는 모든 도구 정의를 다시 검증하고 체크섬을 재확인합니다. 모든 MR에서 병합 게이트로 실행됩니다.
kit이 검증 경로에서 실제로 수행하는 작업:
kit이 수행하지 않는 작업: 대역 외 체크섬 확인(체크섬은 자산과 동일한 릴리스에서 가져옴), 아카이브 콘텐츠 서명 확인, 자동 병합되는 등급에 대한 사람의 검토 대체.
kit은 은퇴했으며, mise (jdx/mise)로 대체되었습니다. 도구 핀은 이제 버전 관리되는 mise.toml과 커밋된 mise.lock (플랫폼별 sha256 + 출처)에 저장됩니다: dunn.dev/harness의 머신 베이스라인, 각 estate 구성 (예: nomograph/keaton). 업데이트는 Renovate (gitlab: 백엔드용 customManager 포함)와 mise.lock 차이에 대한 CI 출처 감사를 통해 흐릅니다 — kit의 검증된 설치 관리자 + 자동 범프 의도, 안정적인 호스트에서. 마이그레이션 기록: nomograph/keaton -> campaigns/harness/sessions/baseline.md (2026-06-16).
MIT -- Nomograph
| 명령어 | 설명 |
|---|
kit setup | 일회성 구성, 선택적으로 레지스트리 추가 |
kit sync | 레지스트리 가져오기, 확인, mise 구성 생성, 설치 |
kit status | 설치된 도구와 레지스트리 비교, 드리프트 감지, 확인 강도 |
kit diff | lockfile과 레지스트리 간의 변경 사항 표시 |
kit upgrade | 대화형 도구 업데이트 워크플로우 |
kit verify | 설치된 모든 바이너리 재확인 (체크섬은 항상; cosign은 bare-binary 자산에만 해당) |
kit audit | 알려진 보안 권고에 대해 도구 확인 |
kit add <name> <source> | 업스트림 조회, 도구 정의 생성 |
kit push <name> | 도구 정의 커밋 및 푸시 |
kit remove <name> | 쓰기 가능한 레지스트리에서 도구 제거 |
kit pin <name> <version> | 로컬에서 도구 버전 고정 |
kit unpin <name> | 로컬 핀 제거 |
kit sense | 업스트림 변경 감지, 위험별 분류 (CI) |
kit evaluate | 규칙 기반 + LLM 검토 (CI) |
kit apply | TOML 업데이트, 자동 병합 가능 여부에 따라 분할 (CI) |
kit verify-registry | 병합 전 모든 도구 정의 검증 (CI) |
kit init [--ci] | 새 레지스트리 스캐폴드 |
kit completions <shell> | 셸 완성 (bash/zsh/fish) |
kit man-page | 매뉴얼 페이지 생성 |