Coleção de Makefiles portáteis para agilizar seu workflow de desenvolvimento. Execute tarefas comuns de qualquer diretório mantendo seus Makefiles de projeto limpos e focados.
A ideia é você expandir com seus próprios scripts e módulos. O projeto é uma caixa de ferramentas modular, pronta para receber customizações. Os módulos incluídos servem como exemplos e ponto de partida.
Features
- Comandos Globais: Execute comandos de qualquer lugar do sistema
- Estrutura Modular: Organizado em módulos
.mkpor categoria - Não-invasivo: Funciona junto com seus Makefiles de projeto existentes
- Extensível: Fácil de adicionar seus próprios comandos customizados
- Versionado: Mantenha seus comandos sincronizados entre máquinas
Install
# Clone o repositório
git clone https://github.com/wguilherme/makez.git ~/makez
# Adicione o alias ao seu shell
echo "alias makez='make -f ~/makez/Makefile'" >> ~/.zshrc
source ~/.zshrc
# Teste a instalação
makez helpCriando seu primeiro módulo
Crie makefiles/meu-modulo.mk:
.PHONY: greet greet-script
greet: ## Diz olá (inline)
@echo "Hello from MakeZ!"
greet-script: ## Diz olá (usando script)
@$(SCRIPTS_DIR)greet.shCrie scripts/greet.sh:
#!/bin/bash
echo "Hello from MakeZ script!"Pronto! O Makefile principal inclui automaticamente todos os .mk da pasta makefiles/. Use de qualquer lugar:
makez greet
makez greet-scriptConvenção de nomenclatura
Use o padrão modulo-comando para agrupar comandos relacionados no help:
# makefiles/docker.mk
docker-ps: ## Lista containers
docker-clean: ## Remove containers parados
docker-prune: ## Limpeza completaComo makez help ordena alfabeticamente, comandos com prefixo ficam agrupados.
🔌 Plugins
Instale módulos de comandos de repositórios remotos sem comitá-los ao seu projeto:
# Instalar plugin
makez plugin-install URL=https://github.com/user/makez-plugin.git
# Listar plugins
makez plugin-list
# Atualizar plugin
makez plugin-update NAME=plugin-name
# Remover plugin
makez plugin-remove NAME=plugin-nameCriar seu próprio plugin:
Crie um repositório git com arquivo plugin.mk:
.PHONY: myplugin-hello
myplugin-hello: ## Say hello from plugin
@echo "Hello from my plugin!"Plugins são carregados automaticamente e aparecem no makez help. Perfeito para compartilhar comandos entre times.
Módulos incluídos
- example.mk: Comandos de exemplo (
hello,hello-script) - docker.mk: Utilitários Docker (
docker-ps,docker-clean,docker-prune,docker-stats,docker-stop-all)
Esses módulos servem como ponto de partida. Delete ou modifique conforme sua necessidade.