Packs est un standard extensible pour organiser de grandes applications Ruby et Rails en packages modulaires.
Gestion des packages
# Créer un nouveau package pack
bin/packs create packs/profiles
# Ajouter un fichier d'API publique à un package
bin/packs make_public packs/profiles/app/services/create_profile_service.rb
# Déplacer des fichiers entre packages
bin/packs move packs/billing packs/profiles/app/services/billing_service.rb
# Ajouter une dépendance entre packs
bin/packs add_dependency packs/orders packs/inventory
Validation des frontières de packages
Packs s'intègre à Packwerk pour éviter les dépendances cycliques et les fuites de visibilité :
# Valider l'absence de dépendances circulaires
bin/packs validate
# Vérifier les violations de confidentialité et de dépendance
bin/packs check packs/profiles
# Mettre à jour package_todo.yml avec les violations existantes
bin/packs update
Linting et audits de violations
# Vérifier le format des fichiers package_todo.yml
bin/packs lint_package_todo_yml_files
# Vérifier les configurations package.yml
bin/packs lint_package_yml_files
# Lister les principales violations d'un pack
bin/packs list_top_violations dependency packs/profiles