Does Bit encourage good code organization? What about using Lerna?

Hello! I’m new here. I am looking into Bit, but I haven’t used it yet.

It seems to me that Bit makes it easy to share components from any code base by indexing them without having to move them to a new repository or package folder in a monorepo.

But my concern is that maybe this makes it easy for developers to leave components anywhere, and not organize code as well as can be?

How does this compare to planning ahead and organizing packages in a “monorepo” (or “umbrella repo” with git submodules) and managing them with a tool like Lerna?

Maybe the Lerna approach leads to better-organized code?

Or am I thinking about it the wrong way?

I read https://www.smashingmagazine.com/2018/04/sharing-code-between-projects/.

The summary is

You don’t have to create new repositories, split your code base or refactor a single line of code.

Now comes the really cool part. You can also use Bit to import the components into other projects for further development. Because Bit tracks your components between projects, you can simultaneously develop them from different repositories and sync changes across your code base.

This fast and distributed workflow means you won’t be tied by ownership issues, and you can actually develop the shared code and update changes from any of your team’s projects.

But what if we start from scratch, with a clean slate? Does perhaps the clean organization of a monorepo (or umbrella repo), along with shared tooling (via a package that all other packages depend on which contains build scripts, test scripts, configuration, etc) perhaps preferable? Or not? What’s your opinion?