
Gerenciador de registro de ferramentas verificado. Gerencia cadeias de ferramentas de desenvolvedor a partir de registros baseados em git.
Gerenciador de registro de ferramentas — gerencia toolchains de desenvolvedor a partir de registros baseados em git, sobreposto ao mise.
kit resolve versões de ferramentas em múltiplos registros, gera configuração do mise, verifica somas de verificação SHA-256 contra artefatos de lançamento dos editores, verifica assinaturas cosign onde editores assinam binários puros e automatiza o rastreamento de atualizações upstream por meio de uma arquitetura de CI de três pipelines.
Se você ainda não tem Rust, o caminho mais rápido é mise:
mise use --global rust
cargo install nomograph-kit
Ou use rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cargo install nomograph-kit
O binário chama-se kit.
kit setup --registry https://gitlab.com/your/registry.git
kit sync
kit status
Um registro é um repositório git com definições TOML por ferramenta:
tools/
_meta.toml # metadados do registro + política de merge
gh.toml # um arquivo por ferramenta
muxr.toml
...
Cada definição de ferramenta é autocontida:
[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"
Fontes: github, gitlab, npm, crates, direct, rustup, brew
A fonte brew delega a instalação ao backend brew: do mise (nenhum CLI brew local
necessário em CI). kit rastreia versões através da API do formulae.brew.sh e emite
entradas name = "brew:<formula>@<version>" no mise.toml.
O inteligente kit add consulta upstream e preenche automaticamente:
kit add jq jqlang/jq # GitHub
kit add muxr nomograph/muxr --gitlab # GitLab (resolve project_id)
kit add claude-code --npm @anthropic-ai/claude-code
kit add cargo-nextest --crates
kit add chafa --brew # Fórmula Homebrew (fórmula padrão é o nome da ferramenta)
kit add go121 --brew [email protected] # Fórmula Homebrew com nome de fórmula explícito
Cada ferramenta possui um nível que controla a política de merge:
| Nível | Significado | Política típica |
|---|---|---|
| own | Ferramentas que você constrói e publica | Merge automático de todos os bumps |
| high | Ferramentas críticas de terceiros | Revisão manual |
| low | Ferramentas comoditizadas |
Os níveis são definidos por ferramenta na definição TOML. O _meta.toml
do registro define quais níveis fazem merge automático:
[policy]
auto_merge_tiers = ["own", "low"]
auto_merge_bump = ["patch", "minor"]
auto_merge_requires_checksum = true
Configure múltiplos registros em ~/.config/kit/config.toml. O primeiro
registro vence quando ferramentas se sobrepõem. Fixações locais sobrescrevem.
[[registry]]
name = "nomograph"
url = "https://gitlab.com/nomograph/kits.git"
[[registry]]
name = "personal"
url = "https://gitlab.com/you/kits.git"
Separe registros por limite de confiança. Por exemplo, mantenha suas próprias ferramentas em um registro e ferramentas de terceiros em outro. Cada registro tem seu próprio pipeline, política de merge e cadência de atualização.
kit descobre kit.toml subindo a partir do diretório de trabalho.
Quando encontrado, as ferramentas escopam para aquele projeto:
.kit.lock ao lado de kit.toml (comitado no git).mise.toml mesclado com marcadores # kit:begin / # kit:endkit alimenta uma arquitetura de supply chain de três pipelines através do 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 lançamentos upstream, baixa ativos, verifica
somas de verificação e verifica bases de dados de avisos. Classifica cada
descoberta por risco (nível de bump, nível, status de checksum). Nunca falha
em deriva de versão — deriva é o que ele detecta.
kit evaluate aplica regras determinísticas (aprova automaticamente
patches limpos, rejeita incompatibilidades de checksum) e opcionalmente invoca
um LLM para casos de borda (bumps maiores, checksums ausentes, avisos).
kit apply atualiza arquivos TOML de ferramentas no disco e particiona
as atualizações em dois grupos por elegibilidade de merge automático:
O componente CI cria um branch e MR separado para cada grupo. O MR de auto-merge se mescla após o pipeline de verify passar. O MR de revisão permanece aberto para revisão humana.
kit verify-registry revalida todas as definições de ferramenta e
reverifica somas de verificação. Executa em cada MR como uma porta de merge.
O que kit realmente faz no caminho de verificação:
O que kit não faz: verificação de checksum fora de banda (checksums são obtidos do mesmo lançamento que o ativo), verificação de assinatura de conteúdo de arquivo, ou substituição de revisão humana para níveis que fazem merge automático.
kit está aposentado, substituído por mise (jdx/mise). Pins de ferramentas agora
vivem em mise.toml versionado + um mise.lock comitado (sha256 por plataforma +
proveniência): a baseline de máquina em dunn.dev/harness, configurações por
ambiente (ex. nomograph/keaton). Atualizações fluem via Renovate (com um
customManager para backends gitlab:) + uma auditoria de proveniência CI sobre
diffs de mise.lock — a intenção de instalador verificado + auto-bump do kit,
em um host estável. Registro de migração: nomograph/keaton ->
campaigns/harness/sessions/baseline.md (2026-06-16).
MIT — Nomograph
| Comando | Descrição |
|---|
kit setup | Configuração única, opcionalmente adicionar um registro |
kit sync | Puxar registros, resolver, gerar configuração mise, instalar |
kit status | Instalado vs registro, detecção de deriva, força de verificação |
kit diff | Mostrar alterações entre lockfile e registro |
kit upgrade | Fluxo de trabalho interativo de atualização de ferramenta |
kit verify | Re-verificar todos os binários instalados (sempre checksums; cosign apenas para ativos binários puros) |
kit audit | Verificar ferramentas por avisos de segurança conhecidos |
kit add <nome> <fonte> | Consultar upstream, gerar definição de ferramenta |
kit push <nome> | Comitar e enviar uma definição de ferramenta |
kit remove <nome> | Remover uma ferramenta de um registro gravável |
kit pin <nome> <versão> | Fixar a versão de uma ferramenta localmente |
kit unpin <nome> | Remover uma fixação local |
kit sense | Detectar alterações upstream, classificar por risco (CI) |
kit evaluate | Revisão baseada em regras + LLM de descobertas (CI) |
kit apply | Atualizar TOMLs, particionar por elegibilidade de merge automático (CI) |
kit verify-registry | Validar todas as definições de ferramenta antes do merge (CI) |
kit init [--ci] | Estruturar um novo registro |
kit completions <shell> | Completions de shell (bash/zsh/fish) |
kit man-page | Gerar página de manual |
| Merge automático de patch/menor |