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.
Browser-first timeline authoring
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.
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"; Timeline DSL aims to center timeline creation around reviewable input files and CLI output — not manual diagram editing.
Author
Describe events, spans, lanes, and annotations as `.tdsl`, get instant previews in the Playground, and store the source in a diff-friendly format.
Validate
Check syntax and lane references in the Playground, then use `tdsl check` and `tdsl lint` locally or in CI to ensure quality.
Render
Generate static artifacts that are easy to embed in documentation sites, GitHub Pages, and more.
From source to artifact
`.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.
Edit `.tdsl` in the Playground and immediately see WASM validation results and SVG previews.
Pass the downloaded `.tdsl` through `tdsl check` and `tdsl lint` to catch reference errors and duplicates before publishing.
Keep validation running in GitHub Actions and render to HTML / SVG / PNG / PDF for curricula, internal docs, and documentation sites.
Not a general-purpose timeline maker, but ideal for anyone who wants to manage a continuously updated timeline as text.
Fictional world timeline
Split dynasties, wars, character lifespans, and chapter events into lanes and keep updating your setting materials.
Japanese / World history
Line up eras and events, then distribute only the relevant range as HTML for class use.
Company history
Maintain founding, product launches, office openings, and policy changes as a single history.
Wikidata scaffold
From Wikidata candidate exploration to personal annotations, manage unverified hypotheses as text.
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