For normal use, rocks repositories are manipulated by the luarocks command-line tool. LuaRocks fetches rocks from one kind of repository -- rocks servers -- and installs them into another kind of repository -- rocks trees.
Generally speaking, a rocks repository is a directory containing rocks and/or rockspecs, and a manifest file which catalogs the rocks contained therein. Rocks servers may contain packed rocks and rockspecs, and may be located in remote (HTTP or FTP) URLs or paths in the local filesystem. Rocks trees can contain only unpacked (installed) rocks, and are always local.
Publishing a repository as a rocks server consists of making a directory containing rocks and a manifest file available online. A manifest file can be created using the make-manifest command of the luarocks-admin command-line tool, included in LuaRocks. For rocks tree, the manifest file is updated automatically by LuaRocks.