I now see your point about how Berkshelf is behaving in this way. I've always thought of Berkshelf as "Bundler", but it's also Rubygems. So here's my two "proposals" to help sort this out:

1. bin-it
---------
This solution is my preferred because it most closely models what happens in the Rubygems/Bundler world. We would package and distribute a different binstub for interacting with the cookbook store as opposed to inside a cookbook. The name is up to grabs (I'm using "book" here), but:

```text
berks #=> bundle => interact with the current Berksfile/cookbook-repo
book  #=> gem    => interact with the cookbook store
```

In other words:

```text
$ berks list #=> shows a list of cookbooks defined in the Berksfile
  apache2 (1.0.0)
  foo (1.4.5)
  my_face (5.2.0)
  ...
  
$ book list  #=> shows a list of cookbooks in the store (including multiple vesions like `gem`)
  apache2(1.0.0, 1.2.3, 4.5.6)
  foo (1.3.4, 1.4.5)
  my_face (5.2.0)
  ...
```

And

```text
$ berks show my_face #=> shows the my_face cookbook info that is defined in this Berksfile
        Name: berkshelf-cookbook-fixture
     Version: 0.2.0
 Description: Installs/Configures berkshelf-cookbook-fixture
      Author: Michael D. Ivey
       Email: ivey@gweezlebur.com
     License: All rights reserved
     
$ book show my_face  #=> shows info about all the my_face cookbooks
There are two versions of my_face in your cookbook store:

        Name: berkshelf-cookbook-fixture
     Version: 0.1.0
 Description: Installs/Configures berkshelf-cookbook-fixture
      Author: Michael D. Ivey
       Email: ivey@gweezlebur.com
     License: All rights reserved
     
        Name: berkshelf-cookbook-fixture
     Version: 0.2.0
 Description: Installs/Configures berkshelf-cookbook-fixture
      Author: Michael D. Ivey
       Email: ivey@gweezlebur.com
     License: All rights reserved
```

2. CLI-it
---------
Same "theory" as above, but we make a sub-cli command as opposed to a different binary:

```text
$ berks list #=> shows a list of cookbooks defined in the Berksfile
  apache2 (1.0.0)
  foo (1.4.5)
  my_face (5.2.0)
  ...
  
$ book store list #=> shows a list of cookbooks in the store (including multiple vesions like `gem`)
  apache2(1.0.0, 1.2.3, 4.5.6)
  foo (1.3.4, 1.4.5)
  my_face (5.2.0)
  ...
```

And so on. Basically create a `store` sub-command for interacting with the store.