Skip to main content

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 cz) é 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 .py e .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
    

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

caze_tools-0.3.0.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

caze_tools-0.3.0-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file caze_tools-0.3.0.tar.gz.

File metadata

  • Download URL: caze_tools-0.3.0.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for caze_tools-0.3.0.tar.gz
Algorithm Hash digest
SHA256 bffab1fa7b8a82ed453ef089ed9940e48e16e9dc3566a7c710f4f811d8af917d
MD5 f7c6179a6d127cd0c94c61726494a602
BLAKE2b-256 f49ea109a4956ee88fa634bb284d8d92794788812fc8ddf86f0a3ab21e9b3423

See more details on using hashes here.

File details

Details for the file caze_tools-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: caze_tools-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 15.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for caze_tools-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3e713fa0fe52dc7a02e03df21de453c5edc534792740fcb1c4d1d0857d0c023e
MD5 bf1f890d9e54dc65b662dafbc272df90
BLAKE2b-256 c4b4ee078cc908a5ec23fa61d135f21fc8bcbba24375ebab551997fe354e775c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page