A rock is a bundle containing a specification file (called a "rockspec") and files providing Lua modules.
A rockspec is a Lua file contaning a series of assignments to variables that provide various information about the rock, such as description metadata, dependency relations and build rules. Rocks are created from rockspecs.
When packed, a rock is an archive file in ZIP format, with the .rock filename extension. When installed, a rock is unpacked into a directory in the local rocks repository.
There are several types of rocks, and when packed they are identified by their filename extensions. These are: