Command-line dev tools by Daniel Caze (dsscaze)
Project description
caze-tools 🧰
Uma coleção de ferramentas de linha de comando (CLI) para auxiliar em tarefas comuns de desenvolvimento. Criado por Daniel Caze (dsscaze).
O que é?
caze-tools (ou simplesmente czt) é uma CLI projetada para automatizar e simplificar rotinas de desenvolvimento, como criar estruturas de projetos, gerar representações de diretórios e mesclar arquivos de código-fonte.
Instalação
Via PyPI (Recomendado)
Após a publicação no PyPI, você poderá instalar diretamente:
pip install caze-tools
A partir do código-fonte
Para desenvolvimento ou versão mais recente:
git clone https://github.com/dsscaze/caze-tools.git
cd caze-tools
pip install -e .
Comandos Disponíveis
O comando principal é czt (um alias para caze-tools).
czt mkstruct
Cria uma estrutura de diretórios e arquivos a partir de uma representação em texto (árvore de diretórios).
Uso:
czt mkstruct <arquivo_fonte.md>
Exemplo estrutura.md:
meu-projeto/
├── src/
│ ├── __init__.py
│ └── main.py
└── README.md
Ao executar czt mkstruct estrutura.md, a estrutura acima será criada no diretório atual.
czt ls-struct
Faz o inverso do mkstruct: lê uma estrutura de diretórios existente e gera uma representação em árvore.
Uso:
czt ls-struct [opções]
Opções:
-p, --path <diretório>: Diretório a analisar (padrão: diretório atual)-o, --output <arquivo>: Salvar resultado em arquivo--ignore <padrão>: Ignorar arquivos/pastas (pode usar múltiplas vezes)
Exemplos:
-
Listar estrutura do diretório atual:
czt ls-struct -
Salvar estrutura em arquivo:
czt ls-struct -o project_tree.md
-
Gerar estrutura de outra pasta:
czt ls-struct --path ../outro-projeto -o estrutura.md
czt merge
Mescla múltiplos arquivos de um diretório em um único arquivo de saída. Extremamente útil para criar contextos para LLMs ou para arquivar código.
Uso:
czt merge <arquivo_saida> [opções]
Opções:
-s, --source <pasta>: Diretório de origem (padrão: diretório atual)-e, --ext <extensão>: Filtrar por extensão (pode usar múltiplas vezes)-n, --name <padrão>: Filtrar por padrão de nome (pode usar múltiplas vezes)--no-recursive: Não processar subdiretórios--ignore <padrão>: Ignorar arquivos/pastas-y, --yes: Pular confirmação
Exemplos:
-
Mesclar todos os arquivos do diretório atual:
czt merge context.txt
-
Mesclar apenas arquivos
.pye.js:czt merge context.txt -e py -e js
-
Mesclar arquivos de uma pasta específica:
czt merge output.txt --source src -n "test_*.py"
czt addprefix
Adiciona um prefixo a todos os arquivos de uma pasta (recursivamente).
Uso:
czt addprefix <pasta> <prefixo> [--dry-run]
Exemplos:
-
Adicionar prefixo "old_" a todos os arquivos:
czt addprefix ./minha-pasta old_
-
Simular sem fazer alterações reais:
czt addprefix ./minha-pasta new_ --dry-run
czt rename
Renomeia arquivos substituindo um prefixo por outro (recursivamente).
Uso:
czt rename <pasta> <prefixo_antigo> <novo_prefixo> [--dry-run]
Exemplos:
-
Trocar prefixo "old_" por "new_":
czt rename ./minha-pasta old_ new_
-
Simular a operação antes de executar:
czt rename ./minha-pasta test_ prod_ --dry-run
czt toroot
Move todos os arquivos de subpastas para a pasta raiz, mantendo nomes únicos.
Uso:
czt toroot <pasta> [--dry-run]
Exemplos:
-
Mover todos os arquivos para a raiz:
czt toroot ./minha-pasta
-
Simular a operação:
czt toroot ./minha-pasta --dry-run
czt trimimg
Remove transparências desnecessárias de imagens PNG, reduzindo o tamanho do arquivo.
Uso:
czt trimimg <pasta> [--padding N] [--threshold N] [--dry-run]
Opções:
--padding: Pixels de margem a manter (padrão: 0)--threshold: Nível de transparência mínimo (0-255, padrão: 10)
Exemplos:
-
Processar todas as PNGs com padding de 5px:
czt trimimg ./imagens --padding 5
-
Simular processamento:
czt trimimg ./imagens --dry-run
czt extractlog
Extrai valores de linhas de log que contenham uma chave no formato chave: valor.
Por padrão, salva todos os valores extraídos em um novo arquivo. Use --contar para contar ocorrências ou --distintos para listar valores únicos.
Uso:
czt extractlog <arquivo> <chave> [opções]
Opções:
--contar: Conta o total de ocorrências da chave--distintos: Lista e conta os valores distintos encontrados--saida <arquivo>: Caminho do arquivo de saída (padrão:<arquivo>_<chave>.txt)
Exemplos:
-
Extrair todos os valores de
codigoMunicipiopara um arquivo:czt extractlog app.log codigoMunicipio
-
Contar quantas vezes a chave aparece:
czt extractlog app.log codigoMunicipio --contar
-
Listar valores únicos encontrados:
czt extractlog app.log codigoMunicipio --distintos
-
Salvar resultado em arquivo específico:
czt extractlog app.log codigoMunicipio --saida municipios.txt
Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para abrir uma issue para relatar bugs ou sugerir novas funcionalidades.
Publicação
Se você é mantenedor e deseja publicar uma nova versão no PyPI, consulte o Guia de Publicação.
Licença
Este projeto está licenciado sob a Licença MIT.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file caze_tools-0.3.2.tar.gz.
File metadata
- Download URL: caze_tools-0.3.2.tar.gz
- Upload date:
- Size: 13.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc3853a8d7044a55b26d625fd60abdb284623b8b658ce3c95a6fc94d63c8d5e7
|
|
| MD5 |
442f7e01c24ada732256005cfde91d32
|
|
| BLAKE2b-256 |
c656160f63006c95eccc25cdeed9949731c726fd64e249dd4b9c69182c58f9a2
|
File details
Details for the file caze_tools-0.3.2-py3-none-any.whl.
File metadata
- Download URL: caze_tools-0.3.2-py3-none-any.whl
- Upload date:
- Size: 16.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aff439ac549ae7bf6160506ff4615ab51e4d25a9319c9651522c556f035afc53
|
|
| MD5 |
0df766df5012a9f48963f24a2071931e
|
|
| BLAKE2b-256 |
71e6963fd0d41031bfc1f793b951fe469e6dde2e2d0294946e18f3481a770942
|