Kelp, a source code annotation framework.

Kelp is free software released and distributed under the terms and conditions of the GNU General Public License, Version 3 or any later version.

The main author is Filippo Erik Negroni; the project is regularly contributed to by Ian Appleby and Dave Harris.

The project is hosted by Sourceforge.


Kelp is a framework for taking notes about source code files in a simple way. It is composed of a set of command line tools, and a text file format. The text files contain annotations and can be written using any standard text based editor. The tools retrieve the annotations using a sophisticated search pattern.

Since annotations are stored separately from the source code module they describe, Kelp is a natural fit for annotating third-party libraries. When it is not possible, or desirable, to insert clarifying comments into code that could be replaced/erased by the next release, Kelp succeeds at keeping your annotations current and pertinent.


The latest release of Kelp is 1.4, released on May 22, 2008.

You can download a source code package from our Souceforge project download page.

You can also browse our Mercurial web depot, where you will find the latest source code repository.
To clone our repository, simply type:
hg clone

Compile and Install

The process of compiling and installing Kelp is described in detail within the README.txt file, contained in the source code package (see the Download section).

In brief, we provide a Makefile for POSIX platforms, and a Visual Studio 2008 solution file for the Windows platforms. These will create two executables, plantforest and kelp, which must be copied to a location on the system where they can be run from a console.

The source code is written in C90, using POSIX and Win32 functions where necessary. Our code supports any bus width (32, 64 or more bits). We also support large files (>2GB) on all platforms where they are available.
All you need is a C compiler for your platform in order to build Kelp.


We provide documentation that describes how to use our programs, in form of a tutorial and a set of man pages for unix platforms, which can be found in the source code distribution package.

We also provide documents that describe Kelp's architecture, written using asciidoc.
The source code package comes with annotations that have been written for use with Kelp and aim at help anyone who may wish to contribute to our project.

Project support

The project is open to contributions. We use Mercurial to store a repository of our source code modules, which can be freely cloned from the URL given in the Download section.

We have a forum where you can talk to us.
We also provide a bug tracker and a feature requests tracker.

Projects using Kelp

If you are using Kelp, whether in your own project or as a tool to take notes, please let people know by including the image below on your website and linking back to

image showing support for Kelp

You can do so by including the following xhtml text in your homepage:

<a href="">
<img src="" width="119" height="51" alt="Annotated using Kelp!" />

Valid XHTML 1.1! Created with Vim SourceForge Logo Support This rooject
Web site traffic traffic
Downloads activity Tracker activity