Skip to content

Quick Start

(defpackage #:example/tests
  (:use #:cl)
  (:shadowing-import-from #:cl-weave #:describe)
  (:import-from #:cl-weave #:expect #:it))

(in-package #:example/tests)

(describe "math"
  (it "adds numbers"
    (expect (+ 1 1) :to-be 2))

  (it "checks predicates as data"
    (expect (= (+ 1 1) 2)))

  (it "compares structures"
    (expect (list :ok 42) :to-equal (list :ok 42))))

Run the self-test suite:

timeout 360s nix run . -- run cl-weave/test

Common CLI Invocations

timeout 360s nix run . -- run cl-weave/test --reporter json --output cl-weave-results.json --retry 2 --test-timeout-ms 10000
timeout 360s nix run . -- run cl-weave/test --reporter jsonl --output cl-weave-events.jsonl
timeout 360s nix run . -- run my-project-tests --update-snapshots --snapshot-dir tests/__snapshots__/ --snapshot-file snapshots.sexp
timeout 120s nix run . -- list cl-weave/test --reporter json --filter 'math > adds'
timeout 120s nix run . -- metadata cl-weave/test --output cl-weave-metadata.json
timeout 120s nix run . -- doctor --reporter json --output cl-weave-doctor.json
timeout 360s nix run . -- run cl-weave/test --bail=1 --sequence random --seed 12345
timeout 360s nix run . -- run cl-weave/test --journal --random-seed 12345 --reporter json --output cl-weave-results.json
timeout 360s nix run . -- watch cl-weave/test --filter parser
timeout 120s nix run . -- watch cl-weave/test --once --reporter json --filter 'math > adds' --output cl-weave-watch-once.json

Lisp-side agents can read the full structured framework metadata with (cl-weave:framework-metadata) and the artifact-only contract with (cl-weave:reporter-artifact-schemas) without shelling out to the CLI.

See the Adoption Guide for integrating cl-weave into an existing ASDF project, and AI Discovery for how agents and generators should consume runtime metadata instead of scraping prose.