v3.28.1 Now Available

Structured decisions.
Deterministic testing.

LineSpec captures the why behind your code with Provenance Records, surfaces insights with AI-powered semantic search, and tests the how with a DSL that intercepts protocols at the wire level.

brew tap livecodelife/linespec && brew install linespec
go install github.com/livecodelife/linespec/v3/cmd/linespec@v3.28.1

Two powerful tools.
One unified workflow.

LineSpec Testing

Stable

DSL-based integration testing that intercepts database and HTTP traffic at the protocol level. Language-agnostic. Deterministic.

  • Protocol-level interception
  • MySQL, PostgreSQL, HTTP, Kafka, gRPC, Redis
  • Language-agnostic tests
  • Containerized service testing
Learn more →
Provenance Records

Document decisions.
Query your history.

Structured YAML artifacts that capture the why, not just the what.

provenance/prov-2026-a1b2c3d4.yml YAML
id: prov-2026-a1b2c3d4
title: "Use PostgreSQL for primary data store"
status: open
version: 1
created_at: "2026-03-15"
author: "dev@example.com"

intent: >
  After evaluating options, we choose PostgreSQL for our
  primary data store due to better JSON support and 
  concurrent write handling.

constraints:
  - All new tables must use PostgreSQL
  - Use connection pooling (min 10, max 100)

affected_scope:
  - pkg/db/**
  - migrations/**

tags:
  - architecture
  - database

Structured Intent

Capture not just what changed, but why. Every record documents the reasoning behind architectural decisions.

Scope Enforcement

Define affected and forbidden scopes. Pre-commit hooks validate that changes stay within boundaries.

Decision Graph

Visualize relationships between decisions. Track what supersedes what. Query your architectural history.

Semantic Search

Find related decisions with natural language queries. Uses embeddings to surface semantically similar records.

Command Line Interface

provenance create

Create a new record with auto-generated ID

provenance lint

Validate all records for schema compliance

provenance graph

Render the decision graph

provenance next

Compute the correct next provenance action

provenance govern

List the active records governing given files

provenance search

Offline search across records

provenance complete

Mark a record as implemented

provenance hooks install

Set up git integration

provenance install-skills

Install the provenance skill for Claude Code / AI agents

provenance install-plugin

Install the Claude Code provenance plugin (hooks + slash command)

LineSpec Testing

Test at the protocol level.
No mocks. No magic.

DSL-based integration testing that intercepts traffic deterministically.

LineSpec Testing is a DSL-based integration testing framework for containerized services. It intercepts database and HTTP traffic at the protocol level, making tests language-agnostic and framework-independent.

tests/create_user.linespec LineSpec DSL
TEST create-user

RECEIVE HTTP:POST http://localhost:3000/users
WITH {{payloads/user_create_req.yaml}}
HEADERS
  Authorization: Bearer token123

EXPECT WRITE:MYSQL users
WITH {{payloads/user_db_record.yaml}}
VERIFY query MATCHES /\bpassword_digest\b/
VERIFY query NOT_CONTAINS '`password`'

RESPOND HTTP:201
WITH {{payloads/user_create_resp.yaml}}
NOISE
  body.id
  body.created_at

Protocol Proxies

Intercepts MySQL, PostgreSQL, HTTP, Kafka, gRPC, and Redis traffic at the wire level. No code changes required.

linespec proxy mysql :3307 localhost:3306

Deterministic Execution

No inference or heuristics. Every test runs the same way every time. Predictable results.

Language Agnostic

Tests are written in the LineSpec DSL, not your implementation language. Works with any backend.

Verification DSL

Built-in operators for asserting query structure. Verify security constraints directly.

VERIFY query MATCHES /\bcolumn_name\b/

Get started in seconds

Install LineSpec and create your first provenance record.

Homebrew (Recommended)

brew tap livecodelife/linespec
brew install linespec

Go Install

go install github.com/livecodelife/linespec/v3/cmd/linespec@v3.28.1

Build from Source

go build -o linespec ./cmd/linespec

Quick Start

1

Install the provenance CLI

go install github.com/livecodelife/provenance/cmd/provenance@<commit-sha>

2

Create a record

provenance create --title "Your decision" --type blueprint --no-edit
3

Validate

provenance lint
4

Install git hooks

provenance hooks install

Ready to bring structure to your decisions?

Join teams using LineSpec to document architectural decisions and enforce scope boundaries.