← Graph

Packwerk

tool 5 connections

Ruby gem by Shopify used to enforce modular-monolith boundaries inside a Rails application. Essentially a linter: it defines packages with public/private APIs and flags violations when code from one package reaches into another's privates. Great for static checks, but an audience member at Chikahiro's talk points out it can't catch dynamic Ruby object-to-object calls (e.g. `has_many`/`belongs_to` traversals across packages); one proposed workaround is dynamically extending active-record methods like save/update in test mode to reject cross-domain writes that bypass a public service API.

category
library
language
Ruby
about
Packwerk tool
Recommended for enforcing modular boundaries inside a Rails monolith.
Asks about the limits of Packwerk's static analysis.
recommends
Packwerk tool
Recommended as a linter for enforcing module boundaries inside Rails apps.
tool Packwerk
related_to
Packwerk is the Shopify gem used to enforce modular-monolith boundaries in Rails apps.
company Shopify
works_on
Packwerk tool
Packwerk is a Shopify-maintained gem.

Provenance

Read by
11 extractions