Documentation

Getting Started

Everything you need to start building Common Lisp projects with glensing and the area51 package manager.

Prerequisites

Before installing area51, you need a working Common Lisp implementation. We recommend SBCL (Steel Bank Common Lisp) for its performance and wide compatibility, but any conforming implementation will work.

  • SBCLrecommended, available on most platforms
  • CCL (Clozure Common Lisp) — good alternative with native threads
  • ECL (Embeddable Common Lisp) — compiles to C, ideal for embedding
  • ABCL (Armed Bear Common Lisp) — runs on the JVM

Verify your installation by running:

sbcl --version

Install area51

area51 is a single binary with no runtime dependencies. Install it with one command:

Shell
curl -fsSL https://raw.githubusercontent.com/gr8distance/area51/main/install.sh | bash

This installs the area51 binary to ~/.local/bin. Make sure it is on your PATH. You can verify the installation:

area51 --version

Create a Project

Scaffold a new Common Lisp project with area51 new. This generates a standard project structure ready for development.

Shell
area51 new my-project
cd my-project

The generated structure:

my-project/ area51.lisp # project manifest my-project.asd # ASDF system definition src/ package.lisp # package definition main.lisp # entry point .gitignore
  • area51.lispproject manifest. Declares dependencies and metadata.
  • my-project.asdASDF system definition. Auto-updated by area51 add / remove.
  • src/package.lispdefines and exports your package symbols.
  • src/main.lispyour application code starts here.

Adding Packages

Add packages with area51 add. This updates both your area51.lisp manifest and .asd system definition automatically.

Shell
area51 add alexandria
area51 add my-lib --github user/my-lib
area51 add some-lib --url https://example.com/lib.tar.gz

Then run area51 install to resolve and download all dependencies:

Shell
area51 install

This generates an area51.lock file pinning exact versions for reproducible builds. Now you can use the packages in your source files:

src/main.lisp
(in-package :my-project)

(defun load-config (path)
  (alexandria:read-file-into-string path))

Browsing Packages

Browse and search packages on the web at glensing.dev/packages.

To see what's installed in your current project:

Shell
area51 list

Configuration

area51 stores its configuration and cache in your home directory.

~/.area51/
~/.area51/ packages/ # downloaded packages quicklisp/ # cached Quicklisp index

Packages are downloaded once and cached here. The Quicklisp index is refreshed automatically every 24 hours. Run area51 clean to clear the entire cache.

Commands Reference

All available area51 commands at a glance.

CommandDescription
area51 new <name>Scaffold a new Common Lisp project
area51 add <pkg>Add a dependency to area51.lisp and .asd
area51 remove <pkg>Remove a dependency from the project
area51 installResolve and download all dependencies, generate lockfile
area51 listList declared dependencies and their status
area51 buildBuild the project into a standalone binary
area51 runLoad and run the project's entry point
area51 testRun the project test suite
area51 cleanClear the package cache (~/.area51/)
area51 upgradeUpdate area51 itself to the latest version