Disclosure: I built Publy, the tool this post ends up recommending. It started as a fix for my own problem, not a product — and this is the honest version of how it happened.

If you've ever tried to share private Dart or Flutter code across more than one repo, you already know the two roads in front of you, and you already know both of them hurt.

Road one: a paid private pub registry. It works, dart pub is happy, and the bill climbs every time your team or your package count grows.

Road two: git dependencies. It's free, and it quietly turns your pubspec.yaml into a minefield.

I spent a long time on both. Here's what actually went wrong, and what I did about it.