Skip to main content

elspais

"L-Space is the ultimate library, connecting all libraries everywhere through the sheer weight of accumulated knowledge." — Terry Pratchett

elspais is a requirements validation and traceability tool for teams managing formal requirements across one or more repositories. It validates requirement formats, enforces hierarchy rules, tracks changes with content hashes, and generates traceability matrices linking requirements to code and tests.

Installation

# Homebrew (macOS/Linux)
brew install anspar-org/anspar/elspais

# pipx (isolated install)
pipx install elspais

# pip
pip install elspais

Optional extras

pip install elspais[trace-view]    # Static HTML traceability view
pip install elspais[trace-review]  # Interactive viewer server
pip install elspais[mcp]           # MCP server for AI integration
pip install elspais[all]           # Everything

Quick Start

# Initialize configuration
elspais init

# Validate requirements
elspais validate

# Auto-fix hashes and formatting
elspais fix

# Generate traceability matrix
elspais trace --format html

# Interactive viewer (live server)
elspais viewer

# Built-in documentation
elspais docs

MCP Server (AI Integration)

elspais includes an MCP server for use with Claude Code, Claude Desktop, and other MCP-compatible clients.

# Install the MCP extra
pip install elspais[mcp]

# Register with Claude Code (all projects) and Claude Desktop
elspais mcp install --global --desktop

The MCP server provides tools for searching requirements, navigating hierarchies, checking coverage, and drafting mutations — all operating on the live traceability graph.

Requirement Format

Requirements are written in Markdown:

# REQ-d00001: Requirement Title

**Level**: Dev | **Status**: Active | **Implements**: REQ-p00001

## Assertions

A. The system SHALL provide user authentication via email/password.
B. Sessions SHALL expire after 30 minutes of inactivity.

*End* *Requirement Title* | **Hash**: a1b2c3d4
---
  • Hierarchy: PRD (product) → OPS (operations) → DEV (development)
  • Traceability: Children reference parents via Implements:
  • Assertions: Labeled A-Z, using SHALL for normative statements
  • Hash footer: SHA-256 content hash for change detection

Configuration

Create .elspais.toml in your repository root (or run elspais init):

[project]
name = "my-project"
type = "core"

[directories]
spec = "spec"
code = ["src"]

[patterns]
prefix = "REQ"
id_template = "{prefix}-{type}{id}"

[rules.hierarchy]
allowed_implements = ["dev -> ops, prd", "ops -> prd"]

[rules.format]
require_hash = true
require_assertions = true

See docs/configuration.md for full reference.

Multi-Repository Support

Link associated repositories that extend a core requirement set:

elspais init --type associated --associated-prefix CAL
elspais associate ../core-repo
elspais validate --mode combined

CLI Commands

elspais validate       Validate requirements format, links, and hashes
elspais fix            Auto-fix spec file issues (hashes, formatting)
elspais trace          Generate traceability matrix (markdown, html, csv)
elspais viewer         Start interactive viewer server
elspais health         Check repository and configuration health
elspais doctor         Diagnose environment and installation health
elspais analyze        Analyze hierarchy, orphans, or coverage
elspais changed        Detect git changes to spec files
elspais edit           Edit requirements in-place
elspais config         View and modify configuration
elspais associate      Manage associate repository links
elspais link suggest   Suggest requirement links for unlinked tests
elspais pdf            Compile spec files into PDF
elspais mcp            MCP server commands
elspais docs           Built-in user guide
elspais example        Requirement format examples

Run elspais <command> --help for detailed usage. See docs/cli/commands.md for full documentation.

Development

git clone https://github.com/anspar/elspais.git
cd elspais
pip install -e ".[dev]"
pytest

License

GNU Affero General Public License v3 (AGPL-3.0) — see LICENSE.

Links

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elspais-0.121.16.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elspais-0.121.16-py3-none-any.whl (781.9 kB view details)

Uploaded Python 3

File details

Details for the file elspais-0.121.16.tar.gz.

File metadata

  • Download URL: elspais-0.121.16.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for elspais-0.121.16.tar.gz
Algorithm Hash digest
SHA256 077e81b6288eb0efd13fe68e4771d68d53d027713e92a258ed4998ffddfbbc9b
MD5 1f9271b01f63583dd1696cfb3c0bcad3
BLAKE2b-256 8c3070d9ec5e63e371523cc2a6afa51ab64d068e1f1483669da479baeddc1530

See more details on using hashes here.

File details

Details for the file elspais-0.121.16-py3-none-any.whl.

File metadata

  • Download URL: elspais-0.121.16-py3-none-any.whl
  • Upload date:
  • Size: 781.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for elspais-0.121.16-py3-none-any.whl
Algorithm Hash digest
SHA256 3ad6a7627f7e68dd89918e5f4ac97da0a57868dd21ebd9cba97d1f57244ee093
MD5 9a35b73d40abe6db8adf325a25f3bc34
BLAKE2b-256 4c075b8d7981b45aaee2fb3acd57f1ef5e772727c100c96ccd9c73c7b6bce35c

See more details on using hashes here.

Release history Release notifications | RSS feed

0.122.0

2 files

0.121.233

2 files

0.121.218

2 files

0.121.59

2 files

0.121.52

2 files

0.121.51

2 files

0.121.44

2 files

This release

0.121.16 This release

2 files

0.121.5

2 files

0.121.4

2 files

0.121.0

2 files

0.120.0

2 files

0.119.90

2 files

0.118.42

2 files

0.118.31

2 files

0.118.16

2 files

0.117.81

2 files

0.117.44

2 files

0.117.41

2 files

0.117.36

2 files

0.117.32

2 files

0.117.31

2 files

0.117.21

2 files

0.117.2

2 files

0.116.55

2 files

0.116.54

2 files

0.116.53

2 files

0.116.51

2 files

0.116.21

2 files

0.115.21

2 files

0.115.17

2 files

0.115.9

2 files

0.115.5

2 files

0.115.4

2 files

0.114.49

2 files

0.114.41

2 files

0.114.39

2 files

0.114.33

2 files

0.114.30

2 files

0.114.29

2 files

0.112.14

2 files

0.112.13

2 files

0.112.11

2 files

0.112.9

2 files

0.112.3

2 files

0.104.44

2 files

0.104.43

2 files

0.103.0

2 files

0.102.0

2 files

0.84.2

2 files

0.84.1

2 files

0.84.0

2 files

0.82.1

2 files

0.82.0

2 files

0.81.0

2 files

0.80.0

2 files

0.79.0

2 files

0.76.1

2 files

0.76.0

2 files

0.75.0

2 files

0.74.0

2 files

0.73.2

2 files

0.73.1

2 files

0.73.0

2 files

0.72.0

2 files

0.66.0

2 files

0.65.0

2 files

0.64.1

2 files

0.64.0

2 files

0.63.3

2 files

0.59.0

2 files

0.58.0

2 files

0.57.0

2 files

0.56.1

2 files

0.54.1

2 files

0.54.0

2 files

0.52.0

2 files

0.51.0

2 files

0.43.5

2 files

0.11.2

2 files

0.11.1

2 files

0.11.0

2 files

0.9.3

2 files

0.9.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page