Referência de Schema do Invkmod
O schema do invkmod ainda está evoluindo. Campos, tipos e regras de validação podem mudar entre releases enquanto estabilizamos o formato. Sempre verifique o changelog ao fazer upgrade.
Referência completa para invkmod.cue, o arquivo de metadados do módulo. Metadados são validados como struct fechado, então campos desconhecidos geram erro de validação.
Estrutura Raiz
Todo módulo deve incluir um arquivo invkmod.cue com esta estrutura:
#Invkmod: {
module: string // Required - module identifier
version?: string // Optional - metadata version (e.g., "1.0")
description?: string // Optional - module description
requires?: [...#ModuleRequirement] // Optional - dependencies
}
module
Tipo: string (padrão: ^[a-zA-Z][a-zA-Z0-9]*(\.[a-zA-Z][a-zA-Z0-9]*)*$)
Obrigatório: Sim
O identificador do módulo. Deve corresponder ao prefixo do nome da pasta (antes de .invkmod).
module: "mytools"
module: "com.company.devtools"
module: "io.github.username.cli"
version
Tipo: string (padrão: ^[0-9]+\.[0-9]+$)
Obrigatório: Não
Versão dos metadados do módulo. A versão atual é "1.0".
description
Tipo: string
Obrigatório: Não
Um resumo curto do propósito do módulo.
requires
Tipo: [...#ModuleRequirement]
Obrigatório: Não
Lista de dependências de módulos em repositórios Git.
requires: [
{
git_url: "https://github.com/example/common.invkmod.git"
version: "^1.0.0"
alias: "common"
},
]
ModuleRequirement
Define uma entrada de dependência:
#ModuleRequirement: {
git_url: string
version: string
alias?: string
path?: string
}
git_url
Tipo: string
Obrigatório: Sim
URL do repositório Git (HTTPS ou SSH). O repositório deve conter um módulo.
version
Tipo: string
Obrigatório: Sim
Restrição de versão semântica usada para resolver uma tag Git.
alias
Tipo: string
Obrigatório: Não
Sobrescreve o namespace padrão para esta dependência (deve seguir regras de nomenclatura de módulos).
path
Tipo: string
Obrigatório: Não
Subdiretório dentro do repositório que contém o módulo. Deve ser relativo e não pode conter sequências de travessia de caminho.