Packs to rozszerzalny standard pakietowania pozwalający na organizację dużych aplikacji Ruby i Rails w modułowe pakiety.
Zarządzanie pakietami
# Utworzenie nowego pakietu pack
bin/packs create packs/profiles
# Dodanie pliku publicznego API do pakietu
bin/packs make_public packs/profiles/app/services/create_profile_service.rb
# Przenoszenie plików między pakietami
bin/packs move packs/billing packs/profiles/app/services/billing_service.rb
# Dodanie deklaracji zależności między pakietami
bin/packs add_dependency packs/orders packs/inventory
Walidacja granic pakietów
Packs współpracuje z Packwerk, aby zapobiegać cyklicznym zależnościom i naruszeniom prywatności:
# Sprawdzenie braku cyklicznych zależności
bin/packs validate
# Sprawdzenie naruszeń prywatności i zależności
bin/packs check packs/profiles
# Aktualizacja pliku package_todo.yml z bieżącymi naruszeniami
bin/packs update
Linting i audyt naruszeń
# Sprawdzenie formatu plików package_todo.yml
bin/packs lint_package_todo_yml_files
# Sprawdzenie konfiguracji package.yml
bin/packs lint_package_yml_files
# Lista najczęstszych naruszeń w pakiecie
bin/packs list_top_violations dependency packs/profiles