Packwerk is a tool developed by Shopify to enforce boundaries and modularize Rails applications. It helps decouple code and organize it into well-defined packages. However, it has weaknesses and blind spots, such as difficulty in defining packages correctly and resolving violations, and limited tracking of dynamically generated constants. Shopify is rethinking how they organize their monolith, focusing on running code and functional units rather than domains.
Table of contents
Origins of PackwerkA Package with Zero ViolationsDomain versus Function in PackagesPackwerk is a Sharp KnifeSort: