chef

https://github.com/opscode/chef

Ruby

A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.

Chef::Knife::SubcommandLoader::CustomManifestLoader#find_subcommands_via_manifest

If the user has created a ~/.chef/plugin_manifest.json file, we'll use
that instead of inspecting the on-system gems to find the plugins. The
file format is expected to look like:

  { "plugins": {
      "knife-ec2": {
        "paths": [
          "/home/alice/.rubymanagerthing/gems/knife-ec2-x.y.z/lib/chef/knife/ec2_server_create.rb",
          "/home/alice/.rubymanagerthing/gems/knife-ec2-x.y.z/lib/chef/knife/ec2_server_delete.rb"
        ]
      }
    }
  }

Extraneous content in this file is ignored. This is intentional so that we
can adapt the file format for potential behavior changes to knife in
the future.

Source | Google | Stack overflow

Edit

git clone [email protected]:opscode/chef.git

cd chef

open lib/chef/knife/core/custom_manifest_loader.rb

Contribute

# Make a new branch

git checkout -b -your-name--update-docs-Chef--Knife--SubcommandLoader--CustomManifestLoader-find_subcommands_via_manifest-for-pr


# Commit to git

git add lib/chef/knife/core/custom_manifest_loader.rbgit commit -m "better docs for Chef::Knife::SubcommandLoader::CustomManifestLoader#find_subcommands_via_manifest"


# Open pull request

gem install hub # on a mac you can `brew install hub`

hub fork

git push <your name> -your-name--update-docs-Chef--Knife--SubcommandLoader--CustomManifestLoader-find_subcommands_via_manifest-for-pr

hub pull-request


# Celebrate!