O Packs é um padrão extensível para organizar grandes aplicações Ruby e Rails em pacotes modulares.
Gerenciando Pacotes
# Criar um novo pacote pack
bin/packs create packs/profiles
# Adicionar um arquivo de API pública a um pacote
bin/packs make_public packs/profiles/app/services/create_profile_service.rb
# Mover arquivos entre pacotes
bin/packs move packs/billing packs/profiles/app/services/billing_service.rb
# Declarar dependência entre packs
bin/packs add_dependency packs/orders packs/inventory
Validando Limites de Pacotes
O Packs integra-se ao Packwerk para evitar dependências circulares e vazamentos de escopo privado:
# Validar que não há dependências circulares
bin/packs validate
# Verificar violações de privacidade e dependências
bin/packs check packs/profiles
# Atualizar package_todo.yml com violações existentes
bin/packs update
Linting e Auditoria de Violações
# Verificar formato de arquivos package_todo.yml
bin/packs lint_package_todo_yml_files
# Verificar configurações de package.yml
bin/packs lint_package_yml_files
# Listar as principais violações em um pack
bin/packs list_top_violations dependency packs/profiles