veza/veza-docs/Makefile

159 lines
5.8 KiB
Makefile
Raw Normal View History

# Veza Documentation Makefile
# Commandes pour la gestion de la documentation centralisée
.PHONY: help docs-discover docs-links docs-sidebars docs-build docs-serve docs-clean docs-all docs-check docs-sync docs-install update audit report test debug
# Variables
DOCS_ROOT := $(shell pwd)
SCRIPTS_DIR := $(DOCS_ROOT)/scripts
PROJECT_ROOT := $(shell dirname $(DOCS_ROOT))
# Couleurs pour les messages
GREEN := \033[0;32m
YELLOW := \033[1;33m
RED := \033[0;31m
NC := \033[0m # No Color
help: ## Afficher l'aide
@echo "$(GREEN)Veza Documentation - Commandes disponibles:$(NC)"
@echo ""
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " $(YELLOW)%-20s$(NC) %s\n", $$1, $$2}'
@echo ""
@echo "$(GREEN)Exemples d'utilisation:$(NC)"
@echo " make docs:all # Migration complète et build"
@echo " make docs:serve # Démarrer le serveur de développement"
@echo " make docs:build # Build de production"
docs-discover: ## Découvrir et migrer tous les documents
@echo "$(GREEN)🔍 Découverte et migration des documents...$(NC)"
@cd $(SCRIPTS_DIR) && npx ts-node discover_and_migrate_docs.ts $(PROJECT_ROOT)
@echo "$(GREEN)✅ Migration terminée!$(NC)"
docs-links: ## Réécrire tous les liens internes
@echo "$(GREEN)🔗 Réécriture des liens...$(NC)"
@cd $(SCRIPTS_DIR) && npx ts-node rewrite_links.ts $(DOCS_ROOT)
@echo "$(GREEN)✅ Liens réécrits!$(NC)"
docs-sidebars: ## Générer les sidebars automatiquement
@echo "$(GREEN)📚 Génération des sidebars...$(NC)"
@cd $(SCRIPTS_DIR) && npx ts-node build_sidebars.ts $(DOCS_ROOT)
@echo "$(GREEN)✅ Sidebars générés!$(NC)"
docs-build: ## Build de production Docusaurus
@echo "$(GREEN)🏗️ Build de production...$(NC)"
@npm run build
@echo "$(GREEN)✅ Build terminé!$(NC)"
docs-serve: ## Démarrer le serveur de développement
@echo "$(GREEN)🚀 Démarrage du serveur de développement...$(NC)"
@echo "$(YELLOW)Le site sera disponible sur http://localhost:3000$(NC)"
@npm start
docs-clean: ## Nettoyer les fichiers générés
@echo "$(GREEN)🧹 Nettoyage...$(NC)"
@rm -rf build/
@rm -rf .docusaurus/
@rm -rf current/domains/*/ vision/domains/*/
@rm -rf _reports/
@echo "$(GREEN)✅ Nettoyage terminé!$(NC)"
docs-all: docs-discover docs-links docs-sidebars ## Migration complète (discover + links + sidebars)
@echo "$(GREEN)🎉 Migration complète terminée!$(NC)"
docs-sync: ## Synchroniser la documentation (re-découvrir et migrer)
@echo "$(GREEN)🔄 Synchronisation de la documentation...$(NC)"
@make docs-clean
@make docs-all
@echo "$(GREEN)✅ Synchronisation terminée!$(NC)"
docs-scan: ## Scan global de la documentation
@echo "$(GREEN)🔍 Scan global de la documentation...$(NC)"
@cd $(SCRIPTS_DIR) && npx ts-node global_scan.ts $(PROJECT_ROOT)
@echo "$(GREEN)✅ Scan terminé!$(NC)"
docs-verify: ## Vérifier l'intégrité de la documentation
@echo "$(GREEN)🔍 Vérification de l'intégrité...$(NC)"
@cd $(SCRIPTS_DIR) && npx ts-node verify_integrity.ts $(DOCS_ROOT)
@echo "$(GREEN)✅ Vérification terminée!$(NC)"
docs-cleanup-dry: ## Plan de nettoyage (dry-run)
@echo "$(GREEN)🧹 Plan de nettoyage (dry-run)...$(NC)"
@cd $(SCRIPTS_DIR) && npx ts-node cleanup_legacy.ts $(PROJECT_ROOT) --dry-run --backup
@echo "$(GREEN)✅ Plan de nettoyage créé!$(NC)"
docs-cleanup-apply: ## Appliquer le nettoyage
@echo "$(GREEN)🧹 Application du nettoyage...$(NC)"
@cd $(SCRIPTS_DIR) && npx ts-node cleanup_legacy.ts $(PROJECT_ROOT) --apply
@echo "$(GREEN)✅ Nettoyage appliqué!$(NC)"
docs-check: ## Vérifier l'état de la documentation
@echo "$(GREEN)📊 État de la documentation:$(NC)"
@echo ""
@echo "$(YELLOW)Fichiers migrés:$(NC)"
@find current/domains -name "*.md" | wc -l | xargs echo " Current:"
@find vision/domains -name "*.md" | wc -l | xargs echo " Vision:"
@echo ""
@echo "$(YELLOW)Rapports disponibles:$(NC)"
@ls -la _reports/ 2>/dev/null || echo " Aucun rapport trouvé"
@echo ""
@echo "$(YELLOW)Sidebars:$(NC)"
@ls -la current/sidebars.js vision/sidebars.js 2>/dev/null || echo " Sidebars manquants"
docs-install: ## Installer les dépendances
@echo "$(GREEN)📦 Installation des dépendances...$(NC)"
@npm install
@echo "$(GREEN)✅ Dépendances installées!$(NC)"
# Commandes de développement
dev: docs-serve ## Alias pour docs-serve
build: docs-build ## Alias pour docs-build
clean: docs-clean ## Alias pour docs-clean
# Commandes de déploiement
deploy: docs-build ## Build et déploiement
@echo "$(GREEN)🚀 Déploiement...$(NC)"
@npm run deploy
@echo "$(GREEN)✅ Déploiement terminé!$(NC)"
# Commandes de maintenance
update: ## Mettre à jour les dépendances
@echo "$(GREEN)🔄 Mise à jour des dépendances...$(NC)"
@npm update
@echo "$(GREEN)✅ Mise à jour terminée!$(NC)"
audit: ## Vérifier les vulnérabilités
@echo "$(GREEN)🔍 Vérification des vulnérabilités...$(NC)"
@npm audit
@echo "$(GREEN)✅ Audit terminé!$(NC)"
# Commandes de rapport
report: ## Générer un rapport complet
@echo "$(GREEN)📊 Génération du rapport complet...$(NC)"
@make docs:check
@echo ""
@echo "$(YELLOW)Contenu des rapports:$(NC)"
@cat _reports/migration_report.md 2>/dev/null || echo "Rapport de migration non trouvé"
@echo ""
@cat _reports/link_rewrite_report.md 2>/dev/null || echo "Rapport de liens non trouvé"
# Commandes de test
test: ## Tester la build
@echo "$(GREEN)🧪 Test de la build...$(NC)"
@make docs:build
@echo "$(GREEN)✅ Test réussi!$(NC)"
# Commandes de debug
debug: ## Mode debug
@echo "$(GREEN)🐛 Mode debug activé$(NC)"
@echo "DOCS_ROOT: $(DOCS_ROOT)"
@echo "PROJECT_ROOT: $(PROJECT_ROOT)"
@echo "SCRIPTS_DIR: $(SCRIPTS_DIR)"
@echo ""
@echo "$(YELLOW)Structure des dossiers:$(NC)"
@tree -L 3 -I 'node_modules|build|.docusaurus' || ls -la
# Commande par défaut
.DEFAULT_GOAL := help