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.
- SBCL — recommended, 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 --versionInstall area51
area51 is a single binary with no runtime dependencies. Install it with one command:
curl -fsSL https://raw.githubusercontent.com/gr8distance/area51/main/install.sh | bashThis installs the area51 binary to ~/.local/bin. Make sure it is on your PATH. You can verify the installation:
area51 --versionCreate a Project
Scaffold a new Common Lisp project with area51 new. This generates a standard project structure ready for development.
area51 new my-project
cd my-projectThe 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.lisp — project manifest. Declares dependencies and metadata.
- my-project.asd — ASDF system definition. Auto-updated by
area51 add/remove. - src/package.lisp — defines and exports your package symbols.
- src/main.lisp — your application code starts here.
Adding Packages
Add packages with area51 add. This updates both your area51.lisp manifest and .asd system definition automatically.
area51 add alexandria
area51 add my-lib --github user/my-lib
area51 add some-lib --url https://example.com/lib.tar.gzThen run area51 install to resolve and download all dependencies:
area51 installThis generates an area51.lock file pinning exact versions for reproducible builds. Now you can use the packages in your source files:
(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:
area51 listConfiguration
area51 stores its configuration and cache in your home directory.
~/.area51/
packages/ # downloaded packages
quicklisp/ # cached Quicklisp indexPackages 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.
| Command | Description |
|---|---|
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 install | Resolve and download all dependencies, generate lockfile |
area51 list | List declared dependencies and their status |
area51 build | Build the project into a standalone binary |
area51 run | Load and run the project's entry point |
area51 test | Run the project test suite |
area51 clean | Clear the package cache (~/.area51/) |
area51 upgrade | Update area51 itself to the latest version |