You are describing every Julia package.
These are the rules of the package manager.
1. Every package must declare it's dependencies (and to register must declare compat bounds on them, and good devs do that always anyway)
2. Every package must have Project.toml in the base directory, source code goesin `src`, test code goes in `test`, documentation goes in. `docs` (and more structure there if using Documenter.jl)
What more could one want? If a package needs more folder structure within `src` then it should be multiple packages.
3. These are the rules, done.
Further you are describing every sensibly done julia application.
Basically no seriously Julia developer uses the global environment for anything but dev-tools, like BenchmarkTools or ProfileView.
Certainly one does not depend on the content of them for any reused code -- that is what Project.toml and Manifest.toml is for.