Packs è uno standard di packaging estendibile per organizzare grandi applicazioni Ruby e Rails in moduli isolati.
Gestione dei pacchetti
# Crea un nuovo pacchetto pack
bin/packs create packs/profiles
# Aggiunge un file API pubblica a un pacchetto
bin/packs make_public packs/profiles/app/services/create_profile_service.rb
# Sposta file tra pacchetti
bin/packs move packs/billing packs/profiles/app/services/billing_service.rb
# Aggiunge una dichiarazione di dipendenza tra pack
bin/packs add_dependency packs/orders packs/inventory
Validazione dei confini dei pacchetti
Packs si integra con Packwerk per prevenire dipendenze cicliche e violazioni di visibilità:
# Valida che i pack non abbiano dipendenze circolari
bin/packs validate
# Verifica violazioni di privacy e dipendenze
bin/packs check packs/profiles
# Aggiorna package_todo.yml con la baseline delle violazioni
bin/packs update
Linting e controllo violazioni
# Controlla il formato dei file package_todo.yml
bin/packs lint_package_todo_yml_files
# Controlla le configurazioni di package.yml
bin/packs lint_package_yml_files
# Elenca i tipi di violazione principali in un pack
bin/packs list_top_violations dependency packs/profiles