livt
Collaborate on board. Make it living in text.
Documentation |
Getting Started |
Guides |
Commands
What is livt?
livt is a CLI tool that captures collaborative discovery outcomes as living text. It bridges the gap between synchronous discovery sessions (like User Story Mapping and Example Mapping) and development artifacts.
Discovery outcomes are written as plain text files (YAML, Markdown) and visualized as boards:

Features
- Stories as Markdown -- Write stories with YAML frontmatter, keep them alongside your code
- Story Maps -- Visualize activities, steps, and stories with release slices on a board
- Example Mappings -- Render rules, examples, and questions as color-coded sticky notes
- Ubiquitous Language -- Keep shared terms as Markdown files and browse them as a glossary table
- Static HTML output --
livt build generates a standalone site, no runtime required
- Local dev server --
livt serve builds and serves with one command
Installation
See the Installation guide for details on how release artifacts are verified.
Prebuilt binaries
Download the archive for your platform from GitHub Releases.
Every artifact is listed in checksums.txt (SHA-256) and carries a Sigstore-signed build provenance attestation, so you can verify it was built by this repository's release workflow before running it:
gh attestation verify livt_<version>_<os>_<arch>.tar.gz --repo boykush/livt
mise
mise use "github:boykush/livt@<version>"
The github backend downloads the release binary and, by default, verifies its GitHub artifact attestation (Sigstore build provenance). With lockfile = true, the checksum and provenance are also pinned in mise.lock.
To build from source instead, use the go backend (requires Go; verified by the Go checksum database):
mise use "go:github.com/boykush/livt@<version>"
go install
go install github.com/boykush/livt@<version>
Quick Start
# Create the directory structure
mkdir -p stories discoveries/usm discoveries/example-mappings ubiquitous
# Create your first story
cat <<'EOF' > stories/my-first-story.md
---
name: My first story
---
As a user
I want to do something
So that I get value
EOF
# Build and serve
livt serve
Open http://localhost:3000 in your browser.
See the Getting Started guide for more details.
File Structure
stories/
{story-key}.md # Story files
discoveries/
usm/
{map-name}.yaml # Story map files
example-mappings/
{story-key}.yaml # Example mapping files
See File Structure reference for output details.
Contributing
Issues and pull requests are welcome — see CONTRIBUTING.md. For vulnerability reports, see SECURITY.md.
License
MIT