Requirements validation and traceability tools - L-Space connects all libraries
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file elspais-0.112.14.tar.gz.
File metadata
- Download URL: elspais-0.112.14.tar.gz
- Upload date:
- Size: 1.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98fea612a87a941327674f10c6a1e1fcf319d878ca7d126fe7dd5d53dd21397d
|
|
| MD5 |
dd85cfb6d4a3337aa6f2b641289932ce
|
|
| BLAKE2b-256 |
cb32ef7fa50d16fc46b378a82fbd712098d9c49103887969ec9f9b4cf612f6d7
|
File details
Details for the file elspais-0.112.14-py3-none-any.whl.
File metadata
- Download URL: elspais-0.112.14-py3-none-any.whl
- Upload date:
- Size: 560.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17d7e2da165f427398ed57477ad94805dd043f8a826e8826af9a8522eee820ce
|
|
| MD5 |
13e22cabc5077cde4302df767f80a07b
|
|
| BLAKE2b-256 |
64325fac33a2b3619f58ff9d997be31f7538aa9f9fd878c3fc0b177b0a935137
|