@micelize/modula
v4.4.0
Published
CLI do registro de módulos do gestor MCLZ (via API, sob permissão)
Maintainers
Readme
Modula CLI
Cliente de linha de comando do registro de módulos do gestor MCLZ. Fala só com a API do gestor (autenticado por token) — o conteúdo dos módulos trafega como árvore de arquivos e é reconstruído localmente. Nada de git no cliente: o armazenamento é interno ao servidor e todo acesso passa pelo sistema de permissões do gestor.
Instalação
npm install -g @micelize/modulaRequer Node.js ≥ 18.
Configuração
Por padrão a CLI aponta para https://api.gestor.micelize.com. Para trocar:
export MODULA_API_URL=https://sua-api-do-gestorO token de login fica em ~/.modula/config.json.
Manifesto do módulo (modula.yaml)
Todo módulo carrega, na raiz, um modula.yaml — a fonte da verdade dos metadados
(o servidor o lê no publish e indexa). Um README.md é opcional: sem ele, o
servidor injeta um marcador Please read my files and describe me!.
name: login-panel
tool: angular # go | nestjs | angular | react | python | …
version: 1.0.0
description: Painel de login com recuperação de senha
whenToUse: painel de login pronto, tema navy
tags: [auth, ui, login]
# Opcional: empacota SÓ estas pastas/arquivos. Aceita globs completos (* ** ? [] {}).
# Sem isto, empacota a pasta toda (menos node_modules/.git/dist…).
include:
- src/app/features/auth # pasta inteira
- "src/app/**/*.ts" # glob: todos os .ts em qualquer nível sob src/app
# Opcional: exclui padrões (globs). Vale com ou sem include. Um nome puro ou
# **/nome casa em QUALQUER profundidade (ex.: node_modules 50 pastas abaixo).
ignore:
- "**/*.spec.ts"
- "**/node_modules"Comandos
| Comando | O que faz |
|---------|-----------|
| modula login / logout | Autentica no gestor e guarda o token |
| modula init [pasta] | Gera o modula.yaml (interativo ou por flags) |
| modula search [texto] | Busca módulos (--tool, --tag) |
| modula view <id> | Mostra um módulo e suas versões |
| modula publish <pasta> | Publica uma versão (metadados vêm do modula.yaml) |
| modula install [pasta] | Resolve as dependências do modula.yaml e monta o fecho (--dry-run só mostra o plano) |
| modula download <id> <versionId> | Baixa uma versão e reconstrói a pasta |
| modula promote <id> <versionId> | Promove experimental → verified |
| modula delete <id> | Remove um módulo e suas versões |
init — dois modos
Interativo:
modula init ./meu-moduloPor flags (sem perguntar):
modula init ./meu-modulo -y \
-n login-panel -t angular \
--tags "auth,ui,login" --when-to-use "painel de login navy"Nome é obrigatório; a descrição é opcional (sem ela, entra o marcador padrão).
Fluxo típico
modula login
modula init ./meu-modulo -n users -t go # cria o modula.yaml
# ...escreva um README.md...
modula publish ./meu-modulo # publica como experimental
modula search users # acha
modula download 12 34 # baixa a versão 34 do módulo 12Licença
MIT.
