RubyGems Navigation menu

cookbooks 0.0.648

Welcome to 2017 from the Cookbooks project! A new year - but still a lot of the old code in the Cookbooks project. :) For a brief intro, do this on the commandline: cookbooks --tutorial This will guide you through a short tutorial. For more documentation about this project, have a look at the doc/ subdirectory. Let us next describe this project. The Cookbooks project attempts to collect and gather programs, or more accurately, 'instructions', for installing and/or compiling programs. There are similar projects available such as the Homebrew project. The difference is that the Cookbooks project does not attempt to be a package manager per se - it only attempts to handle recipes for compiling/installing as such. In some ways, the Cookbooks project is more similar to the fpm project than to the homebrew project. For a project that is more similar to homebrew, have a look at rbt - but consider that both projects are not very well polished as of yet. More programs are continually added to the Cookbooks project, but much more importantly so, the existing cookbooks are improved. This is probably the biggest "selling" point for the project - recipes that should work very well, on any given system. At the least from a descriptional point of view. For example, the Cookbooks project should also be usable to create the compile-instructions for something such as the "Linux from Scratch" project - and beyond. The Cookbooks project currently has exactly 2938 "cookbooks" registered. It is still slowly growing - more important to make sure that the quality of the existing cookbooks is good rather than gather ALL available programs on planet earth. A cookbook is essentially a recipe that gives us sufficient information to compile or otherwise install a given program. Examples for this would be the PKGBUILD file in Archlinux, or the various debian controls files for distributions based on Debian. These different programs, the cookbooks, can usually be compiled from source in the event that the source is available - however had, the cookbooks-project also supports the plain installation of projects that do not come with the source, e. g. binary .exe files on windows, or that do not require compilation such as most ruby .gem files, as the latter are just .rb files, most of the time at least, unless you have to compile a native gem from C source, for instance. How does the format of a cookbook look like? Each cookbook is an individual yaml file which should contain all the required information to get it to install. Additional information can also be added of course, such as maintainer, extra information, tips and hints and so forth. Important Notice: You need one additional gem for this project, called "configuration". It is available here, for instance: (Or whatever the latest version is that will be provided there.) Updates to the Cookbooks project will preferentially happen on Monday, Wednesday or Caturday (the latter is also known as Saturday in the traditional nomenclature), since as of April 2016. You can obtain the amount of registered programs by issuing: cookbooks registered_programs? from the commandline. Another project, class Cookbooks::SanitizeCookbookDataset, can be used to visualize this dataset in a more colourful manner. To query the information provided by this gem, you can do something such as this here: cookbooks htop This command will invoke the file stored at bin/cookbooks which is part of this project. This file will provide you, in the above example, with information about the program called "htop" (which you should have downloaded from source before, that is; you can specify alternative configurations for the source directory in the configuration file called cookbook_directory.yml). This way the Cookbooks project allows you to build the foundation for a package-manager in Ruby on top of this project. In fact, this is how the Cookbooks project originated itself - I required a separate library that could be used to query program-associated information. Another project, the RBT ("Ruby Build Tools") will then make use of that information. The latest release added "cookbooks last_option?" as commandline instruction, to show the last option used for configure. If you wish to support this project, for now please just test it and report any bugs or lack of documentation. It is still in beta stage and it will take quite a long while before it can leave the beta stage. If you have a question such as "Why would I need this project?", then this is indeed a good question that I can not answer for you. You have to decide for yourself whether you are in need of such a project. In the simplest possible situation, the collection of yaml files can be used in other project too, even outside of Ruby. That is the whole point of yaml after all. There are almost 3000 different programs described so far. All of this can be helpful if you wish to use them in one of your projects. So in the "worst case", the Cookbooks project simply provides you with lots of individual yaml files, and a ruby wrapper to query or sanitize this information set, which could then be used to generate SQL instructions or convert it into something else - see the fpm project as well, our spiritual sister project. I personally use the Cookbooks project when I use the RBT project, but the RBT project is even less complete than the Cookbooks project, so it may be better to first polish the Cookbooks project before moving to use another project. When I compile a project via RBT, though, such as by doing "compile htop" or "rbt htop", then ruby will compile the program htop for me, as specified in the htop.yml file. If you have any specific suggestion on how to make this gem more useful for others or for yourself, please do feel free to drop me an email at: Thank you and have fun!


  1. 0.0.648 - July 22, 2017 (611 KB)
  2. 0.0.647 - July 22, 2017 (611 KB)
  3. 0.0.646 - July 22, 2017 (611 KB)
  4. 0.0.645 - July 22, 2017 (611 KB)
  5. 0.0.644 - July 22, 2017 (609 KB)
Show all versions (627 total)


  • Robert A. Heiler



SHA 256 checksum:


Total downloads 190,891

For this version 31

= Copy to clipboard Copied!




Required Ruby Version: >= 2.4.1

Required Rubygems Version: >= 2.6.12