<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/a-packwerk-retrospective-bdqbqhlzc" -->

---
title: A Packwerk Retrospective | daily.dev
description: Packwerk is a tool developed by Shopify to enforce boundaries and modularize Rails applications. It helps decouple code and organize it into well-defined...
canonical: https://daily.dev/posts/a-packwerk-retrospective-bdqbqhlzc
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: A Packwerk Retrospective | daily.dev
og:description: Packwerk is a tool developed by Shopify to enforce boundaries and modularize Rails applications. It helps decouple code and organize it into well-defined...
og:url: https://daily.dev/posts/a-packwerk-retrospective-bdqbqhlzc
og:image: https://api.daily.dev/og/posts/bdqbqhLZC.png
og:image:alt: A Packwerk Retrospective
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# A Packwerk Retrospective

**[Shopify Engineering](https://daily.dev/sources/shopify)** · 13 min read · 0 upvotes · 0 comments

## Summary

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.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://shopify.engineering/a-packwerk-retrospective>

---

Tags: [#ruby](https://daily.dev/tags/ruby), [#rails](https://daily.dev/tags/rails)

[View this post on daily.dev](https://daily.dev/posts/a-packwerk-retrospective-bdqbqhlzc)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"A Packwerk Retrospective","url":"https://daily.dev/posts/a-packwerk-retrospective-bdqbqhlzc","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/a-packwerk-retrospective-bdqbqhlzc"},"datePublished":"2024-02-07T21:42:59.066Z","dateModified":"2024-05-09T08:43:33.910Z","description":"Packwerk is a tool developed by Shopify to enforce boundaries and modularize Rails applications. It helps decouple code and organize it into well-defined...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/9a9a42950f17439ec973c4e394102e45?_a=AQAEufR","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/9a9a42950f17439ec973c4e394102e45?_a=AQAEufR","isAccessibleForFree":true,"articleSection":"Shopify Engineering","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Shopify Engineering","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/3ecd37b0af964c8f8b1536e5fa57a0fc","url":"https://daily.dev/sources/shopify"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/a-packwerk-retrospective-bdqbqhlzc","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"ruby,rails","timeRequired":"PT13M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Shopify Engineering","item":"https://daily.dev/sources/shopify"},{"@type":"ListItem","position":3,"name":"A Packwerk Retrospective"}]}
```

