Browser-first timeline authoring

Timeline DSL

Describe timelines as text and validate them instantly in the browser. Prototype in the Playground, then move to CLI or CI — history, fiction, curricula, and org histories in a Git-friendly format.

Latest v1.23.0 Release notes
world-history.tdsl validated
timeline "Fictional World" {
  range 980..1260;
}

lane "Realm" as realm;
lane "Events" as incident;

span realm 990..1184 "Haito Dynasty";
event incident 1042 "Northern Campaign";
event_range incident 1130..1137 "Succession War";

Make timeline authoring a reproducible process

Timeline DSL aims to center timeline creation around reviewable input files and CLI output — not manual diagram editing.

Author

Author in browser and CLI

Describe events, spans, lanes, and annotations as `.tdsl`, get instant previews in the Playground, and store the source in a diff-friendly format.

Validate

Catch broken timelines immediately

Check syntax and lane references in the Playground, then use `tdsl check` and `tdsl lint` locally or in CI to ensure quality.

Render

Output to HTML / SVG / PNG / PDF

Generate static artifacts that are easy to embed in documentation sites, GitHub Pages, and more.

From source to artifact

Source to artifact in one continuous flow

`.tdsl` is not the artifact itself — it is the input to regenerate your timeline. Author in the browser, save the file, pass it to CLI and CI. The more you update your timeline, the easier it becomes.

01

Prototype in the browser

Edit `.tdsl` in the Playground and immediately see WASM validation results and SVG previews.

02

Validate locally with CLI

Pass the downloaded `.tdsl` through `tdsl check` and `tdsl lint` to catch reference errors and duplicates before publishing.

03

CI quality gate and auto-build

Keep validation running in GitHub Actions and render to HTML / SVG / PNG / PDF for curricula, internal docs, and documentation sites.

A specialist tool — broad in application

Not a general-purpose timeline maker, but ideal for anyone who wants to manage a continuously updated timeline as text.

Fictional world timeline

Fiction & game worldbuilding

Split dynasties, wars, character lifespans, and chapter events into lanes and keep updating your setting materials.

Japanese / World history

Classroom & curriculum

Line up eras and events, then distribute only the relevant range as HTML for class use.

Company history

Company history

Maintain founding, product launches, office openings, and policy changes as a single history.

Wikidata scaffold

Research notes

From Wikidata candidate exploration to personal annotations, manage unverified hypotheses as text.

Integrate CLI into local and CI workflows

Once you've validated your structure in the Playground, install the CLI via Homebrew or the install script to set up local maintenance and automated CI builds. See Quick Start for detailed setup.

brew tap keroway/tap
brew install tdsl