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
Release history Release notifications | RSS feed
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
909d087c059ff92ce9470cc86244bbe257fad3cd8c1aab98c0be8696000feac0
|
|
| MD5 |
34d4bb0c504038ddafafbc5a60f4f36f
|
|
| BLAKE2b-256 |
c5adee0bd8c695f6e4d023e5a29077a791c59c13efed9c5711ece1144d42b78b
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8a3b0e9c4468570fb4ca0f47ee84974e8c67f50bc1c17c4cd86aab9f9f35d17
|
|
| MD5 |
f93129a7866d7d69e55691983688f0e4
|
|
| BLAKE2b-256 |
8cd6d3d3e857c99f4386acd06326a944681324edc602b095a0962814cfab00f2
|