Collaborate on board. Make it living in text.
Documentation | Getting Started | Guides | Commands
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:
- 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 buildgenerates a standalone site, no runtime required - Local dev server --
livt servebuilds and serves with one command
See the Installation guide for details on how release artifacts are verified.
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/livtmise 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 github.com/boykush/livt@<version># 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 serveOpen http://localhost:3000 in your browser.
See the Getting Started guide for more details.
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.
Issues and pull requests are welcome — see CONTRIBUTING.md. For vulnerability reports, see SECURITY.md.
