Pitch: caze-tools: Atualização e novas funcionalidades
Eu já havia desenvolvido uma primeira versão de uma CLI para auxiliar em tarefas repetitivas do meu dia a dia, mas decidi organizar o projeto, ampliar o escopo e lançar uma atualização com mais recursos: o caze-tools (ou simplesmente czt).
O objetivo da ferramenta continua sendo o mais simples possível: resolver problemas práticos de manipulação de arquivos e diretórios que o terminal padrão não resolve de forma tão direta.
Instalação
A instalação agora é feita via pip:
pip install caze-tools
Funcionalidades principais
Separei as ferramentas nos cenários que mais utilizo na rotina de desenvolvimento:
1. Contexto para IAs (merge)
Um dos pontos mais comuns hoje em dia é precisar enviar o código de várias classes ou arquivos para uma IA analisar. Fazer isso manualmente é trabalhoso.
O comando merge varre uma pasta, filtra as extensões desejadas e consolida tudo em um único arquivo formatado.
# Junta todos os arquivos .py e .js da pasta src em um arquivo context.txt
czt merge context.txt --source src -e py -e js
2. Estrutura de Projetos (ls-struct e mkstruct)
Para facilitar a documentação ou o início de novos projetos padronizados:
czt ls-struct: Gera a árvore de diretórios em texto (útil para jogar em arquivos Markdown/README).czt mkstruct: Faz o caminho inverso. Lê um arquivo de texto com a árvore e cria fisicamente as pastas e arquivos vazios.
3. Manutenção em lote (addprefix, rename, toroot, trimimg)
Para aquelas tarefas de "faxina" em diretórios:
addprefixerename: Para renomear arquivos em massa recursivamente.toroot: Remove os arquivos das subpastas e joga tudo na raiz.trimimg: Remove transparências excessivas (bordas vazias) de imagens PNG para reduzir tamanho de assets.
Exemplo de uso
Se você baixou um lote de arquivos e precisa organizá-los adicionando um prefixo "old_" para evitar conflitos:
# Simula a alteração (dry-run) para garantir que está certo
czt addprefix ./minha-pasta old_ --dry-run
# Executa de verdade
czt addprefix ./minha-pasta old_
Melhorias e outras coisas
Fiz melhorias como incluir comando de Help.
Alguns parâmetros de alguns métodos agora são opcionais.
O projeto é open source e o código completo está disponível no GitHub: https://github.com/dsscaze/caze-tools
Até a próxima.