Skip to main content

Introdução ao MB CLI

O MB CLI é uma ferramenta de linha de comando que transforma plugins em comandos dinâmicos, com cache SQLite, injeção segura de variáveis de ambiente e helpers de shell poderosos.

Em vez de manter vários scripts espalhados, você instala ou registra plugins e passa a invocá-los de forma uniforme: mb <categoria> <comando>, com ajuda integrada e controle total do ambiente de execução.

Por que MB CLI?

ProblemaSolução MB CLI
Scripts soltos sem padrãoPlugins com manifest.yaml e estrutura consistente
Variáveis de ambiente espalhadasMescla previsível: sistema → defaults → --envenv_files
Descoberta difícil de comandosmb help e mb plugins list mostram tudo disponível
Reinstalar para adicionar funcionalidademb plugins sync atualiza comandos sem reinstalar o CLI
Sem reutilização entre projetosHelpers de shell embutidos: log, memória, k8s, Homebrew, Flatpak…

Como funciona

┌─────────────────────────────────────────────────────────────┐
│ Plugins (Git ou local) │
│ ├── tools/manifest.yaml │
│ ├── infra/manifest.yaml │
│ └── deploy/manifest.yaml │
└──────────────────────┬──────────────────────────────────────┘
│ mb plugins sync

┌─────────────────────────────────────────────────────────────┐
│ Cache SQLite (cache.db) │
│ → Comandos, flags, entrypoints, hashes │
└──────────────────────┬──────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────┐
│ Comandos dinâmicos na árvore do CLI │
│ mb tools vscode │
│ mb infra ci │
│ mb deploy production --env staging │
└─────────────────────────────────────────────────────────────┘

O que o MB faz por você

  • Um comando para muitas tarefas — plugins aparecem na árvore de comandos do mb; descubra o que existe com mb help ou mb plugins list.
  • Sincronização simplesmb plugins sync atualiza comandos disponíveis sem reinstalar o programa principal.
  • Organização por pastas e manifesto — cada plugin se descreve num manifest.yaml (nome, descrição, como executar). A estrutura de pastas define categorias e subcomandos.
  • Ambiente sob controle — variáveis do sistema, de arquivos e da linha de comando (--env) são aplicadas de forma previsível e isolada por plugin.
  • Helpers de shell prontos — bibliotecas de funções para log, memória, Kubernetes, Homebrew, Flatpak, GitHub e mais, disponíveis via $MB_HELPERS_PATH.

Quick start

# Instalar o CLI
curl -sSL https://raw.githubusercontent.com/carlosdorneles-mb/mb-cli/main/install.sh | bash

# Adicionar um plugin
mb plugins add https://github.com/org/repo

# Sincronizar comandos
mb plugins sync

# Usar
mb <categoria> <comando> [flags]

Estrutura da documentação

Guia (uso do dia a dia)

Comandos do CLI (referência de uso)

  • mb envs — listar, definir e remover variáveis de ambiente
  • mb plugins — adicionar, listar, remover, atualizar e sincronizar
  • mb run — executar qualquer programa com o ambiente mesclado
  • mb update — atualizar plugins, CLI, ferramentas e sistema
  • mb completion — instalar e gerenciar autocompletar
  • mb help — ajuda sobre qualquer comando

Referência técnica (implementação, cache, fluxos internos)