Building the source package

If you're on unix, you should check if your distribution offers a package for pepper first (see the Download page for a list of packages). If it doesn't, you need to grab a source tarball from the Download page and extract it using tar:

$ tar xvzf pepper-0.3.3.tar.gz
$ cd pepper-0.3.3

Next, you should make sure that all compile-time dependencies are satisfied. In general, you'll need a C++ compiler and Lua 5.1 (e.g., provided by lua5.1 and liblua5.1-dev on Debian). Some backends have additional dependencies that can be found in the README file.

pepper's build system uses Autoconf and Automake, so configuration and installation is accomplished with

$ ./
$ ./configure
$ make
# make install

The configuration script will print a feature summary after its job has been finished. A detailed listing of available backends and optional features can be found in pepper's README file.

Basic usage

pepper's command line syntax is printed to your terminal if you pass --help (as a main option) to the program:

$ pepper [options] [report] [report options] <repository>

As a short example, you can generate a graph visualizing the lines of code in your repository located at /home/joe/myrepo by running

$ pepper loc /home/joe/myrepo > loc.svg

The command-line options for the current report and backend can be printed by passing help as a main option:

$ pepper --help loc /home/joe/myrepo

For example, if you want to render the LOC graph including tag markers into a 800x600 PNG file and also watch more detailed progress information, you will run

$ pepper --verbose loc --tags --output=loc.png --size=800x600 /home/joe/myrepo

Some options can be abbreviated as shown in the help screen:

$ pepper -v loc --tags -oloc.png -s800x600 /home/joe/myrepo

The built-in reports can be listed by passing --list-reports to the program. Your might also want to take a look at the scripting guide to learn how to write your own custom reports.

Man page

An online version of pepper's man page is available here.


Scripting tutorial

In pepper, reports are scripts written in Lua. A short tutorial for writing custom reports is available at ScriptingGuide.

API reference

An API reference for Lua scripts is available here. It has been generated with LuaDoc.

Porting of report scripts

pepper 0.3 introduced API changes that rendered reports written for previous version unusable. The small set of fixes required to make those reports (i.e., from version 0.2.4 and below) usable with the current version is described in detail in porting reports from 0.2.x to 0.3.

Source code repository

pepper's Git repository is hosted at GitHub and is eager to get cloned and forked. You can get your local copy using

$ git clone git://