
LiveDoc
Living Documentation from Executable Specifications
Write tests that double as documentation. LiveDoc turns your BDD features and specifications into browsable, always-up-to-date documentation — powered by the tests you already run.
See the Difference
Most tests verify behavior but document nothing. LiveDoc tests do both:
Typical test — verifies, but tells the reader nothing:
test('discount', () => {
const result = applyDiscount(100, 'SAVE20');
expect(result).toBe(80);
});
LiveDoc spec — verifies and documents:
Scenario: Applying a discount code
Given the cart total is '$100.00'
When the user applies code 'SAVE20'
Then the total becomes '$80.00'
The LiveDoc spec on the right executes as a real test and generates browsable documentation. When the test changes, the docs update automatically. When the test passes, the documentation is accurate.
Colored, structured test output directly in your terminal

The LiveDoc Viewer — browse your test results as living documentation
"Looks Great, But I Don't Have Time to Learn Gherkin"
You don't need to. LiveDoc ships with AI coding skills for both SDKs — when you install the package, your AI assistant already knows how to write LiveDoc tests. Just describe what you want to test:
"Write a spec for the discount logic — 10% off orders over $100, 20% off over $200, free shipping over $150"
Feature: Order Discounts
Scenario: Small order gets no discount
Given a cart with total '$75.00'
When the order is placed
Then the discount is '$0.00'
And shipping is '$9.95'
Scenario: Medium order gets 10% off
Given a cart with total '$120.00'
When the order is placed
Then the discount is '$12.00'
And shipping is '$9.95'
Scenario: Large order gets 20% off and free shipping
Given a cart with total '$250.00'
When the order is placed
Then the discount is '$50.00'
And shipping is '$0.00'
The AI doesn't just produce syntactically correct tests — it produces well-structured living documentation with values in titles, edge cases covered, and clear business language. The built-in skills teach it LiveDoc's patterns, value extraction, and self-documenting conventions.
This works with any AI coding tool — GitHub Copilot, Cursor, Claude Code, and others. The skills are installed alongside the SDK, so there's nothing extra to set up.
Why LiveDoc?
Tests Are the Docs
Your BDD features and specifications generate documentation automatically. When a test changes, the docs update. No more stale wikis.
Always In Sync
Documentation is produced from test results, so it stays aligned with reality. If the test passes, the doc is accurate.
Developer-Friendly
Write tests in the language you already use — TypeScript or C#. No separate .feature files, no extra tooling, no context switching.
Real-Time Feedback
The LiveDoc Viewer shows test results as they run, with a searchable, filterable interface your whole team can use.
How It Works
Describe
Tell your AI assistant what to test — or write specs yourself. The built-in AI skills handle LiveDoc patterns automatically.
Run Tests
Execute with Vitest or xUnit. LiveDoc captures titles, values, steps, and results into a structured reporting model.
Browse Docs
The Viewer renders your test results as browsable, hierarchical specifications — filterable by tags, status, and search.
See It Live — We Eat Our Own Dogfood 🐕
LiveDoc documents itself. Every test in this project is a LiveDoc spec, and our CI pipeline publishes the results automatically on every merge. What you see below is the real output — LiveDoc documenting LiveDoc.
Vitest Test Results
Browse the full LiveDoc Vitest test suite — features, specifications, and scenarios with pass/fail status, data tables, and step details. This is our live documentation, generated from our own tests.
View Vitest Report →
xUnit Test Results
Browse the LiveDoc xUnit test suite — BDD features, journey tests, and .NET specifications. Same framework, same workflow — just in .NET.
View xUnit Report →
Choose Your SDK
TypeScript — Vitest
BDD and specification patterns for Vitest with zero boilerplate.
npm install -D @swedevtools/livedoc-vitest
.NET — xUnit
Living documentation for .NET projects via xUnit integration.
Includes Journey Testing — end-to-end API flows in .http files with auto-generated test classes.
dotnet add package SweDevTools.LiveDoc.xUnit
Featured: Journey Testing xUnit
Write your API test flows in standard .http files with BDD annotations — use them for manual exploration in VS Code and as automated regression tests. LiveDoc generates xUnit test classes, validates response contracts against .Response.json snapshots, and handles dynamic fields with property rules.
# Feature: User Management
# Scenario: Create and retrieve a user
# Given I create a new user
# @name createUser
POST {{baseUrl}}/api/users
Content-Type: application/json
{ "name": "Alice", "email": "alice@test.com" }
###
# Then I can retrieve the user
# @name getUser
GET {{baseUrl}}/api/users/{{createUser.id}}