The site for keyline: static pages, no build step on the host. Everything generated is committed.
index.html,style.css,site.js: the page. The install tab for each client (between theclient tabsandclient panelsmarkers) is built from the README's setup blocks bynpm run docs; edit those blocks in keyline, never the tabs.scenes/: keyline scene files for every image on the page.docs/,benchmark/,license/,privacy/,security/,llms.txt,llms-full.txt,sitemap.xml: generated from keyline's Markdown bynpm run docs(docs.mjs, afternpm install;KEYLINE_SRC=/path/to/keylineif it isn't at../visual-renderer).benchmark/comes from keyline-bench'sversus-browser/README.md(KEYLINE_BENCH=/path/to/keyline-benchif it isn't at../keyline-bench). Rerun when either changes. Each page also has a plainindex.mdbeside it, for LLMs.robots.txt: hand-written.assets/: their renders, committed../render.shre-renders them with keyline (KEYLINE=/path/to/keyline-mcpif it isn't on the PATH; the MP4 needs ffmpeg).
Preview locally: python3 -m http.server and open http://localhost:8000.
Hosted on Cloudflare Pages from main, at https://keyline.dev.