Agreed. However, the defined entry point to the packaging repo as library will be by doing `require packaging` after setting your load path to include packaging.rb, above. packaging.rb is responsible for loading all of the configuration and setting up your repository, skipping the steps that won't work outside a repo as necessary.

E.g.:
```
irb(main):002:0> require 'packaging'
Skipping load of expected default config /Users/moses/ext/project_data.yaml, cannot read file.
Skipping load of expected default config /Users/moses/ext/build_defaults.yaml, cannot read file.
Skipping determination of version via git describe, Pkg::Config.project_root is not set to the path of a tagged git repo.
=> true
irb(main):003:0> Pkg::Config.project_root
=> nil
irb(main):004:0> Pkg::Config.load_defaults
=> [{:var=>:builder_data_file, :val=>"builder_data.yaml"}, {:var=>:team, :val=>"dev"}, {:var=>:random_mockroot, :val=>true}, {:var=>:keychain_loaded, :val=>false}, {:var=>:build_date, :val=>"2014-02-05-14-56-08"}, {:var=>:release, :val=>"1"}]
```