Statically typed Common Lisp agent harness inspired by NullClaw
  • Common Lisp 98.5%
  • Python 0.9%
  • Shell 0.5%
Find a file
2026-04-02 00:13:05 -04:00
.beads bd init: initialize beads issue tracking 2026-03-09 19:07:18 -04:00
.github/workflows fix(site): Fix Jekyll build - use dark color scheme, fix workflow order 2026-03-12 03:37:52 -04:00
bin fix(launcher): add LD_LIBRARY_PATH for OpenSSL/Ironclad 2026-03-13 00:01:51 -04:00
contrib feat(gateway): Add daemon entry point with CLI commands 2026-03-12 04:05:12 -04:00
docs feat(provider): add Claude Max subscription support via Claude CLI transport 2026-03-13 03:31:35 -04:00
scripts fix(migration): Fix multiple bugs in config migration and CLI 2026-03-12 05:13:50 -04:00
site docs: Add migration plan and installation guide 2026-03-12 05:04:03 -04:00
specs refactor: Remove NullClaw specs, rebrand to NilClaw throughout 2026-03-12 03:36:28 -04:00
src fix(gateway,auth): handle port conflicts gracefully 2026-03-24 14:06:27 -04:00
tests feat(workspace): add OpenClaw-style workspace boot with soul.md/tools.md/etc 2026-03-13 04:21:45 -04:00
.gitignore fix(migration): Fix multiple bugs in config migration and CLI 2026-03-12 05:13:50 -04:00
AGENTS.md docs: add AGENTS contribution and PR workflow guide 2026-04-02 00:13:05 -04:00
ATTRIBUTION.md refactor: Remove NullClaw specs, rebrand to NilClaw throughout 2026-03-12 03:36:28 -04:00
CHANGELOG.md refactor: Remove NullClaw specs, rebrand to NilClaw throughout 2026-03-12 03:36:28 -04:00
CONTRIBUTING.md docs: Complete NilClaw branding updates 2026-03-12 02:21:15 -04:00
LICENSE Initial commit 2026-03-09 19:06:30 -04:00
Makefile ci: add Makefile and GitHub Actions CI pipeline 2026-03-10 13:44:45 -04:00
nilclaw.asd feat(workspace): add OpenClaw-style workspace boot with soul.md/tools.md/etc 2026-03-13 04:21:45 -04:00
README.md fix: Correct KVC name to Kyvero Vexus (not Corporation) 2026-03-12 03:39:24 -04:00
test-all-providers.lisp tests: use installed Ollama model in provider smoke test 2026-03-13 02:02:43 -04:00
test-channels.lisp fix(config): normalize provider plist keywords for consistent lookup 2026-03-12 08:07:39 -04:00
test-provider-http.lisp fix(provider): use request model and encode messages as JSON array 2026-03-12 10:12:09 -04:00

NilClaw

CI License: AGPL v3+

Statically typed Common Lisp agent harness.

NilClaw is a clean-room Common Lisp implementation of an AI agent harness, emphasizing:

  • SBCL strict type declarations across the entire codebase
  • Coalton for strongly typed core logic where appropriate
  • Spec-driven development from frozen behavioral specifications
  • Libre software under AGPL-3.0-or-later

Status

NilClaw is migration-ready for OpenClaw cutover.

Gate Status Evidence
L0 ✅ Closed 838/838 tests passing
L1 ✅ Closed Protocol parity verified
L2 ✅ Closed All capabilities shipped
L3 ✅ Closed CI active, SLOs defined
L4 ⏳ Ready Awaiting user sign-off

Features

Core Capabilities

  • Tool Execution Framework — Registration, dispatch, iteration limiting, result plumbing
  • Provider HTTP Layer — 429/backoff handling, error taxonomy, retry logic
  • ACP Subagent System — Task management with concurrency limits, state tracking
  • Channel System — CLI and Web adapters with permission system
  • Auto-Reply Engine — Keyword/exact/regex matching, rate limiting, fallback responses

Infrastructure

  • Configuration — JSON-based with validation and provider runtime construction
  • Security Policy — Sandboxed execution, permission controls
  • Memory System — Contract-based storage with multiple backends
  • Cron Scheduling — Periodic task execution
  • Gateway Protocol — HTTP/WebSocket API for external clients

Quick Start

Prerequisites

  • SBCL 2.5.2+ (Steel Bank Common Lisp)
  • Quicklisp (Common Lisp package manager)

Installation

# Clone the repository
git clone https://github.com/Kyvero-Vexus/nilclaw.git
cd nilclaw

# Install dependencies via Quicklisp
sbcl --load ~/quicklisp/setup.lisp \
     --eval '(ql:quickload (list :alexandria :cl-json :cl-ppcre :fiveam))'

# Load the system
make load

# Run tests
make test

Basic Usage

;; Load NilClaw
(asdf:load-system "nilclaw")

;; Create a channel manager
(defparameter *manager* (nilclaw/channel:make-channel-manager))

;; Register a CLI channel
(nilclaw/channel:register-channel *manager* "cli" 
  (nilclaw/channel:make-cli-channel))

;; Start all channels
(nilclaw/channel:start-all-channels *manager)

Architecture

┌─────────────────────────────────────────────────────────┐
│                      Gateway API                         │
│              (HTTP/WebSocket Protocol)                   │
└─────────────────────┬───────────────────────────────────┘
                      │
┌─────────────────────▼───────────────────────────────────┐
│                    Agent Core                            │
│         (Session management, message routing)            │
└──┬──────────┬──────────┬──────────┬──────────┬──────────┘
   │          │          │          │          │
   ▼          ▼          ▼          ▼          ▼
┌─────┐  ┌─────────┐  ┌─────┐  ┌─────────┐  ┌─────┐
│Tools│  │Channels │  │ MCP │  │Provider │  │ ACP │
│     │  │CLI+Web  │  │     │  │  HTTP   │  │     │
└─────┘  └─────────┘  └─────┘  └─────────┘  └─────┘
   │          │          │          │          │
   ▼          ▼          ▼          ▼          ▼
┌─────────────────────────────────────────────────────────┐
│               Infrastructure Layer                       │
│  Config │ Security │ Memory │ Cron │ Auto-Reply         │
└─────────────────────────────────────────────────────────┘

Modules

Module Purpose
src/config/ Configuration parsing, validation, provider runtime
src/dispatcher/ Tool call parsing, execution framework
src/provider/ HTTP transport, retry logic, error taxonomy
src/channel/ Channel adapters (CLI, Web), permissions, auto-reply
src/subagent/ ACP task management with concurrency limits
src/memory/ Contract-based storage backends
src/security/ Policy enforcement, sandboxing
src/cron/ Scheduled task execution
src/gateway/ HTTP/WebSocket protocol handler

Documentation

Testing

# Run full test suite
make test

# Validate traceability
make traceability

# Load system only
make load

Current test coverage: 838 tests, 100% pass rate

Contributing

See CONTRIBUTING.md for guidelines.

All contributions must:

  • Follow the KVC commit standard (see docs/COMMITS.md)
  • Include GPG signature
  • Pass all 838 tests
  • Maintain traceability (L0=28, L1=30, L2=24)

License

AGPL-3.0-or-later

This is libre software. See LICENSE for details.

Credits

NilClaw is developed by Kyvero Vexus.

Inspired by the agent harness problem space, implemented as a clean-room Common Lisp solution with strict static typing.