
Gestor de registro de herramientas verificado. Gestiona cadenas de herramientas de desarrollo desde registros basados en git.
Gestor de registros de herramientas -- gestiona cadenas de herramientas de desarrolladores desde registros basados en git, sobre mise.
kit resuelve versiones de herramientas a través de múltiples registros, genera configuración de mise, verifica sumas de comprobación SHA-256 contra artefactos de lanzamiento de los publicadores, verifica firmas cosign cuando los publicadores firman binarios sin empaquetar, y automatiza el seguimiento de actualizaciones ascendentes mediante una arquitectura CI de tres pipelines.
Si aún no tienes Rust, la ruta más rápida es mise:
mise use --global rust
cargo install nomograph-kit
O usa rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cargo install nomograph-kit
El binario se llama kit.
kit setup --registry https://gitlab.com/your/registry.git
kit sync
kit status
| Comando | Descripción |
|---|---|
kit setup | Configuración única, opcionalmente añade un registro |
kit sync | Trae registros, resuelve, genera configuración de mise, instala |
kit status | Instalado vs registro, detección de desviaciones, fuerza de verificación |
kit diff | Muestra cambios entre el archivo de bloqueo y el registro |
kit upgrade | Flujo de trabajo interactivo de actualización de herramientas |
kit verify | Vuelve a verificar todos los binarios instalados (siempre sumas de comprobación; cosign solo para activos de binarios sin empaquetar) |
kit audit | Verifica herramientas en busca de avisos de seguridad conocidos |
kit add <name> <source> | Consulta el upstream, genera definición de herramienta |
kit push <name> | Confirma y envía una definición de herramienta |
kit remove <name> | Elimina una herramienta de un registro escribible |
kit pin <name> <version> | Fija localmente la versión de una herramienta |
kit unpin <name> | Elimina un fijado local |
kit sense | Detecta cambios upstream, clasifica por riesgo (CI) |
kit evaluate | Revisión basada en reglas + LLM de hallazgos (CI) |
kit apply | Actualiza TOMLs, particiona por elegibilidad de fusión automática (CI) |
kit verify-registry | Valida todas las definiciones de herramientas antes de fusionar (CI) |
kit init [--ci] | Andamia un nuevo registro |
kit completions <shell> | Completado para el shell (bash/zsh/fish) |
kit man-page | Genera página de manual |
Un registro es un repositorio git con definiciones TOML por herramienta:
tools/
_meta.toml # registry metadata + merge policy
gh.toml # one file per tool
muxr.toml
...
Cada definición de herramienta es autocontenida:
[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"
Fuentes: github, gitlab, npm, crates, direct, rustup, brew
La fuente brew delega la instalación al backend brew: de mise (no se requiere CLI local de brew en CI). kit rastrea versiones a través de la API de formulae.brew.sh y emite entradas name = "brew:<formula>@<version>" en mise.toml.
El inteligente kit add consulta upstream y autocompleta:
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
Cada herramienta tiene un nivel que controla la política de fusión:
| Nivel | Significado | Política típica |
|---|---|---|
| own | Herramientas que construyes y publicas | Fusión automática de todos los incrementos |
| high | Herramientas críticas de terceros | Revisión manual |
| low | Herramientas comunes | Fusión automática de parche/menor |
Los niveles se establecen por herramienta en la definición TOML. El _meta.toml del registro define qué niveles se fusionan automáticamente:
[policy]
auto_merge_tiers = ["own", "low"]
auto_merge_bump = ["patch", "minor"]
auto_merge_requires_checksum = true
Configura múltiples registros en ~/.config/kit/config.toml. El primer registro gana cuando hay superposición de herramientas. Los fijados locales anulan.
[[registry]]
name = "nomograph"
url = "https://gitlab.com/nomograph/kits.git"
[[registry]]
name = "personal"
url = "https://gitlab.com/you/kits.git"
Separa los registros por límite de confianza. Por ejemplo, mantén tus propias herramientas en un registro y las herramientas de terceros en otro. Cada registro tiene su propio pipeline, política de fusión y cadencia de actualización.
kit descubre kit.toml subiendo desde el directorio de trabajo. Cuando se encuentra, las herramientas se limitan a ese proyecto:
.kit.lock junto a kit.toml (confirmado en git).mise.toml fusionado con marcadores # kit:begin / # kit:endkit impulsa una arquitectura de cadena de suministro de tres pipelines mediante el componente CI kit-registry:
include:
- component: gitlab.com/nomograph/pipeline/kit-registry@v3
inputs:
kit_version: "0.10.1"
mr_assignee: "andunn"
kit sense consulta lanzamientos upstream, descarga activos, verifica sumas de comprobación y comprueba bases de datos de avisos. Clasifica cada hallazgo por riesgo (nivel de incremento, nivel, estado de suma de comprobación). Nunca falla en desviación de versión -- la desviación es lo que detecta.
kit evaluate aplica reglas deterministas (aprobación automática de parches limpios, rechazo de discrepancias de suma de comprobación) y opcionalmente invoca un LLM para casos límite (incrementos mayores, sumas de comprobación faltantes, avisos).
kit apply actualiza archivos TOML de herramientas en disco y particiona las actualizaciones en dos grupos según la elegibilidad de fusión automática:
El componente CI crea una rama separada y un MR para cada grupo. El MR de fusión automática se fusiona solo después de que el pipeline de verificación pase. El MR de revisión permanece abierto para revisión humana.
kit verify-registry revalida todas las definiciones de herramientas y vuelve a verificar las sumas de comprobación. Se ejecuta en cada MR como puerta de fusión.
Lo que realmente hace kit en la ruta de verificación: