Taskfile (go-task) vs just: Task Runners Comparados
Ambos são alternativas modernas e mais amigáveis ao make. O Taskfile (go-task) usa um arquivo YAML com verificações embutidas de dependência e de atualização; o just usa um justfile parecido com Makefile focado em rodar comandos de forma simples.
O Taskfile e o just substituem Makefiles trabalhosos para rodar comandos de projeto. O Taskfile aposta em YAML declarativo com dependências de tasks e detecção de mudanças; o just mantém uma sintaxe enxuta e orientada a receitas. Aqui está a comparação honesta.
| Taskfile (go-task) | just | |
|---|---|---|
| Arquivo | Taskfile.yml (YAML) | justfile (parecido com make) |
| Dependências | deps, ordenadas/paralelas | Dependências de receita |
| Verificações de atualização | Embutidas (sources/generates) | Nenhuma embutida |
| Variáveis/templating | Templates Go | Variáveis simples + funções |
| Multiplataforma | Bom (binário Go único) | Bom (binário Rust único) |
| Melhor encaixe | Tasks parecidas com build com cache | Atalhos de comando, scripting |
Declarativo vs enxuto
O Taskfile é mais declarativo: você lista dependências de tasks e, com sources e generates, ele pode pular uma task quando as entradas não mudaram, dando um comportamento incremental no estilo do make. O just é intencionalmente mais simples: receitas são trechos de shell (ou de outra linguagem) com argumentos e dependências, ideal como uma paleta de comandos descobrível (just --list).
Detecção de mudanças
Se você quer que uma task refaça o build apenas quando arquivos mudarem, o Taskfile tem isso embutido; o just não rastreia timestamps de arquivos, então re-executa as receitas toda vez. Para atalhos de comando puros essa diferença não importa; para passos de build pode importar.
No CI
Ambos vêm como um único binário estático, então instalá-los em um runner é trivial e eles se comportam igual localmente e no CI. Use-os para manter os passos de CI idênticos ao que os desenvolvedores rodam localmente, reduzindo o drift entre os dois.
O veredito
Escolha o Taskfile quando quiser ordenação de dependências embutida e verificações de atualização para trabalho parecido com build; escolha o just para um runner de comandos mínimo e legível. Ambos são excelentes substitutos do make em binário único para uso local e no CI.