Skip to main content

Uma ferramenta de limpeza e refatoração para projetos multi-linguagem.

Project description

Cleaner Multi-language

Script para limpeza, organização e análise de projetos em múltiplas linguagens. Ele detecta automaticamente a linguagem de cada arquivo, identifica código morto, ajusta imports, gerencia snapshots e permite executar diversas ações de manutenção estrutural no projeto.


✨ Funcionalidades Principais

🔍 Detecção automática de linguagem

O script identifica a linguagem de cada arquivo através da extensão. Suporta:

  • JavaScript / TypeScript
  • Python
  • Java
  • C#
  • C / C++
  • Go
  • PHP

📦 Sistema de Cache

A varredura salva informações para acelerar execuções posteriores.

🗂 Detecção de Dead Files

Aplica heurísticas por linguagem para detectar arquivos não referenciados.

❌ Imports Quebrados

Detecta imports que apontam para arquivos inexistentes.

🗃 Comentário ou Remoção de Imports

Você pode:

  • Comentar imports que apontam para uma pasta específica.
  • Remover completamente esses imports.

📁 Remover Pastas

Remove um diretório inteiro do projeto, com snapshot automático.

🔄 Mover/Renomear Arquivos

Move arquivos ajustando automaticamente imports relacionados.

🔙 Snapshots e Undo

Cria backups automáticos antes de operações destrutivas. Permite desfazer até 12 operações anteriores.

🧪 Dry-run

Visualize as alterações sem executá-las.


📁 Estrutura de Arquivos Monitora

O script considera por padrão:

src/

Você pode alterar isso via configuração.


⚙ Como Usar

📌 Ajuda Geral

python cleaner.py --help

🔍 Escanear projeto e mostrar dead files

python cleaner.py --scan

🗑 Remover imports que apontam para uma pasta

python cleaner.py --remove-imports caminho/da/pasta

💬 Comentar imports que apontam para uma pasta

python cleaner.py --comment-imports caminho/da/pasta

🧼 Limpeza completa

python cleaner.py --clean

Realiza: scan + dead files + imports quebrados.

🗃 Criar snapshot manualmente

python cleaner.py --snapshot

⏪ Desfazer última operação

python cleaner.py --undo


🛡 Safe Mode

Por padrão o script pede confirmação antes de operações destrutivas. Você pode forçar sem perguntas usando:

--yes


📋 Configurações

Você pode editar as opções na variável DEFAULT_CONFIG:

  • project_root
  • excluded_dirs
  • file_extensions_map
  • safe_mode
  • allow_undo_count

📚 Logs

Todos os logs são gravados automaticamente na pasta:

logs/


💡 Observações Importantes

  • O script funciona em qualquer tamanho de projeto.
  • Heurísticas de dead code não são perfeitas, mas muito úteis.
  • Para linguagens compiladas (Java, C#, C++), a detecção de imports depende da estrutura de projeto.

📝 Licença

Uso livre. Ajuste conforme sua necessidade.

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

cleaner_multi-0.1.0.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

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

cleaner_multi-0.1.0-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

Details for the file cleaner_multi-0.1.0.tar.gz.

File metadata

  • Download URL: cleaner_multi-0.1.0.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for cleaner_multi-0.1.0.tar.gz
Algorithm Hash digest
SHA256 909d087c059ff92ce9470cc86244bbe257fad3cd8c1aab98c0be8696000feac0
MD5 34d4bb0c504038ddafafbc5a60f4f36f
BLAKE2b-256 c5adee0bd8c695f6e4d023e5a29077a791c59c13efed9c5711ece1144d42b78b

See more details on using hashes here.

File details

Details for the file cleaner_multi-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cleaner_multi-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for cleaner_multi-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f8a3b0e9c4468570fb4ca0f47ee84974e8c67f50bc1c17c4cd86aab9f9f35d17
MD5 f93129a7866d7d69e55691983688f0e4
BLAKE2b-256 8cd6d3d3e857c99f4386acd06326a944681324edc602b095a0962814cfab00f2

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