MuniRenommage est un logiciel de renommage en lot manuel pour macOS, inspiré par la puissance d'outils comme Bulk Rename Utility, avec une interface plus lisible et orientée usage quotidien.
Le projet est publié sous licence GNU GPL v3.0.
- Rôle: outil spécialisé de renommage dans l'écosystème Orchiviste.
- Orchiviste reste le cockpit/hub; MuniRenommage reste un outil autonome dédié.
- Renommer des lots de fichiers de façon contrôlée.
- Prévisualiser les résultats avant d'écrire quoi que ce soit sur disque.
- Rester explicite et manuel: pas d'orchestration automatisée cachée.
- Prévisualisation en direct des nouveaux noms.
- Règles combinables:
- remplacement (texte/regex)
- suppression par plage
- ajout préfixe/suffixe/insertion
- date automatique
- numérotation (padding, pas, pattern)
- casse
- extension
- ajout dossier parent
- transformations spéciales
- Filtres (regex, récursif, fichiers cachés).
- Destination configurable (sur place, autre dossier, copie).
- Gestion des collisions et validations de noms.
- Exécution de déplacement en 2 phases pour fiabiliser les swaps.
- Undo de la dernière opération.
- Presets versionnés (création, duplication, édition, import/export JSON, reset défauts).
- Rapport de simulation et rapport post-exécution.
MuniRename/App/point d'entrée app.MuniRename/Features/Renaming/UI et VM de renommage.MuniRename/Features/Presets/store presets.MuniRename/Domain/logique métier app.Sources/MuniRenameCore/cœur métier testable sans Xcode.Sources/munirename-cli/CLI manuel (preview,apply,validate-preset).Sources/munirename-smoketests/smoke-tests exécutables.docs/audit, décisions, presets, branding, status initial.scripts/xcode_build.shbuild app macOS avec Xcode.scripts/open_debug_app.shbuild + lancement fiable de l'app Debug.scripts/generate_appicon.shgénération des assets AppIcon.
- Ouvrir le projet:
open MuniRename.xcodeproj- Sélectionner le schéma
MuniRename. - Lancer l'application (
Run).
Build CLI Xcode reproductible (utile si xcode-select pointe sur CommandLineTools):
./scripts/xcode_build.shLancer l'app compilée (sans tomber sur le faux bundle Index.noindex):
./scripts/open_debug_app.shAlternative manuelle:
APP_PATH="$(find ~/Library/Developer/Xcode/DerivedData -path '*MuniRename*/Build/Products/Debug/MuniRename.app' -not -path '*/Index.noindex/*' | head -n 1)"
open "$APP_PATH"Prérequis: Swift installé (swift --version).
swift build
swift run munirename-smoketests
swift run munirename-cli --help- Choisir un dossier source.
- Activer les règles nécessaires.
- Vérifier la simulation / preview.
- Confirmer l'application.
- Consulter le rapport et utiliser
Annulersi nécessaire.
swift run munirename-cli run --request ./request.json --result ./result.json
swift run munirename-cli preview --preset ./preset.json --directory ./dossier
swift run munirename-cli apply --preset ./preset.json --directory ./dossier --dry-run
swift run munirename-cli validate-preset --preset ./preset.jsonMode canonique (run --request/--result) :
- utilise le contrat
ToolRequest/ToolResultd'OrchivisteKit; - n'execute pas d'operation destructive par defaut (
applycanonique est endry_run=truepar defaut); - exige
confirm_apply=true+dry_run=falsepour autoriser un renommage reel.
- Un preset est un profil de renommage réutilisable.
- Format versionné (
formatVersion) avec compatibilité de lecture des formats précédents. - Stockage principal local:
~/Library/Application Support/MuniRename/presets.json- Détails: voir
docs/PRESETS.md.
- Source icône:
assets/branding/MuniRename_icon_source.png - Génération AppIcon:
./scripts/generate_appicon.sh- Détails: voir
docs/BRANDING.md.
- L'éditeur de presets est fonctionnel mais peut encore être simplifié visuellement.
- Une migration de presets multi-versions plus avancée sera ajoutée avec les futures versions.
- Améliorer encore l'ergonomie de l'éditeur de presets.
- Ajouter export de rapport d'opération.
- Stabiliser vers une version
v1.0.0quand UX + robustesse + packaging seront finalisés.
- CI GitHub:
.github/workflows/ci.yml - Changelog:
CHANGELOG.md - Décisions d'architecture:
docs/DECISIONS.md
- Le projet suit
Semantic Versioning. - Référence actuelle:
0.3.0.
Le nom public est MuniRenommage.
Certains identifiants techniques internes historiques restent temporairement en MuniRename (chemins, schémas, modules) pour éviter un refactor applicatif dans cette passe.
Ce projet est distribué sous licence GNU GPL v3.0.
Voir LICENSE.