From 5f7deedf40a8f7f5a24a475196853906d24f4a3a Mon Sep 17 00:00:00 2001 From: Gilles Faucherand Date: Sun, 7 Jun 2026 23:46:53 +0200 Subject: [PATCH] chore(CHORE-001): ajouter la cible Makefile distclean MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - distclean : git reset --hard + git clean -fdx, en excluant .claude/, avec aperçu et confirmation interactive avant l'action destructive. - .gitignore : ignorer .claude/settings.local.json. Closes #3 --- .gitignore | 3 +++ Makefile | 17 ++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index aa52c57..1000329 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,9 @@ # Artefacts de build build/ +# Réglages locaux Claude Code (conservés hors versionnement et hors distclean) +.claude/settings.local.json + # Sources/outils du toolchain (construits localement, hors repo) *.o *.bin diff --git a/Makefile b/Makefile index 472946d..d26e19d 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ BOOT_DIR := boot BOOT_BIN := $(BUILD)/boot.bin IMAGE := $(BUILD)/naos.img -.PHONY: all run clean +.PHONY: all run clean distclean all: $(IMAGE) @@ -35,3 +35,18 @@ run: $(IMAGE) clean: rm -rf $(BUILD) + +# Remet le dépôt à l'état du DERNIER COMMIT : annule les modifications locales +# (suivies) ET supprime tous les fichiers non suivis/ignorés — SAUF .claude/ +# (réglages locaux). Destructif et irréversible : demande confirmation. +distclean: + @echo "⚠ distclean va :" + @echo " - annuler toutes tes modifications locales (git reset --hard)" + @echo " - supprimer les fichiers non suivis/ignorés ci-dessous (sauf .claude/) :" + @git clean -ndx -e .claude | sed 's/^/ /' || true + @printf "Continuer ? [y/N] "; read ans; \ + if [ "$$ans" = "y" ]; then \ + git reset --hard HEAD && git clean -fdx -e .claude; \ + else \ + echo "Annulé."; \ + fi