CLI tools for cleaning artifacts and builds
Project description
Artifact-Scythe
Un outil CLI intelligent pour nettoyer automatiquement les artefacts de build
Qu'est-ce que c'est ?
Artifact-Scythe scanne vos répertoires de projets et détecte automatiquement les artefacts de build inutiles (node_modules, .venv, pycache, target/, etc.) pour libérer des dizaines de Go d'espace disque.
Fonctionnalités
- Scan récursif de répertoires
- Détection automatique de types de projets (Node, Python, Rust, Java, etc.)
- Calcul d'espace occupé par les artefacts
- Nettoyage sélectif ou global
- Mode interactif avec confirmation
- Rapport détaillé de nettoyage
Installation
Depuis les sources
git clone https://github.com/elielMengue/scythe.git
cd scythe
pip install -e .
Depuis PyPI
pip install artifact-scythe
Le package s'appelle
artifact-scythesur PyPI (le nomscytheétait déjà pris), mais la commande installée et le module Python restentscythe.
Usage
Scan d'un répertoire
scythe scan ~/projects
Nettoyage interactif
scythe clean ~/projects --interactive
Mode dry-run (simulation)
scythe clean ~/projects --dry-run
Filtrer par type de projet
scythe scan ~/projects --only node,python
scythe clean ~/projects --only rust --dry-run
Afficher l'aide
scythe --help
Développement
Prérequis
- Python 3.10+
- pip
Configuration de l'environnement
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Lancer les tests
pytest -v
Roadmap
- Phase 1: Configuration & Fondations
- Phase 2: Scanner de Répertoires
- Phase 3: Détection d'Artefacts
- Phase 4: Interface Utilisateur
- Phase 5: Moteur de Nettoyage
- Phase 6: Fonctionnalités Avancées -- Ongoing
- Phase 7: Tests & Validation
- Phase 8: Documentation & Déploiement
Contribution
Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou une pull request.
⚠️ Status du Projet
Version 0.5.0
Cette version ajoute le filtre --only sur scan/clean et corrige un bug critique du scanner.
Hint
Read the changelog to see changes as I continue developping from time to time
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 artifact_scythe-0.5.1.tar.gz.
File metadata
- Download URL: artifact_scythe-0.5.1.tar.gz
- Upload date:
- Size: 21.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a4330b9835ee14501a3e17adf31197d6aede2cf30fde766efca0f46369a0569
|
|
| MD5 |
8cabb47b46a59b1b6cfbf73f10a42d04
|
|
| BLAKE2b-256 |
d6adeafe49cfbc738b3dae13dfd3ff6d4e37f2800d3181c312461a382b36bd82
|
Provenance
The following attestation bundles were made for artifact_scythe-0.5.1.tar.gz:
Publisher:
release.yml on elielMengue/scythe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
artifact_scythe-0.5.1.tar.gz -
Subject digest:
3a4330b9835ee14501a3e17adf31197d6aede2cf30fde766efca0f46369a0569 - Sigstore transparency entry: 1418032563
- Sigstore integration time:
-
Permalink:
elielMengue/scythe@69570a0a41db3ef642ef33058c611087090b1a36 -
Branch / Tag:
refs/tags/v0.5.1 - Owner: https://github.com/elielMengue
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@69570a0a41db3ef642ef33058c611087090b1a36 -
Trigger Event:
push
-
Statement type:
File details
Details for the file artifact_scythe-0.5.1-py3-none-any.whl.
File metadata
- Download URL: artifact_scythe-0.5.1-py3-none-any.whl
- Upload date:
- Size: 22.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e8639a136959f8d86edf7a119a4728fb9800e3ae1751e25e2bf2151e6a7a713
|
|
| MD5 |
dc8e0436386f30f74d1604930da9ee71
|
|
| BLAKE2b-256 |
8f241c650d71adaeed8a1764e81fb3cc28f2eeb0b422346cd5288e51da7dd91e
|
Provenance
The following attestation bundles were made for artifact_scythe-0.5.1-py3-none-any.whl:
Publisher:
release.yml on elielMengue/scythe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
artifact_scythe-0.5.1-py3-none-any.whl -
Subject digest:
8e8639a136959f8d86edf7a119a4728fb9800e3ae1751e25e2bf2151e6a7a713 - Sigstore transparency entry: 1418032573
- Sigstore integration time:
-
Permalink:
elielMengue/scythe@69570a0a41db3ef642ef33058c611087090b1a36 -
Branch / Tag:
refs/tags/v0.5.1 - Owner: https://github.com/elielMengue
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@69570a0a41db3ef642ef33058c611087090b1a36 -
Trigger Event:
push
-
Statement type: