Early
Every tool you make gets a site like this one.
Write one config file and a folder of Markdown. You get a landing page, docs with ⌘K search, a changelog, a Markdown copy of every page for agents, and a one-command deploy to your own domain.
git clone https://github.com/rynf1t/toolsite Needs Node 22 or later and the GitHub CLI to publish.

Made with it
radar’s site is a toolsite.
radar.itsryan.me is the screenshot above: one config file, thirteen docs pages, a changelog, and the live demo from src/custom. This site is a toolsite too.
# make a site for a tool
scripts/new-site.sh mytool --from ~/Projects/mytool --domain example.com
# write site.config.ts and content/docs, then look
npm run dev
# publish, with DNS and HTTPS
scripts/deploy-pages.sh
One source
Write it once, get it five ways.
Each docs page is a Markdown file. The site renders it, adds it to the sidebar and search, serves it as .md, and lists it in llms.txt. Nothing to keep in step by hand.
- pageThe docs page, with heading links and copy buttons
- sidebarGrouped from front matter, ordered by file name
- ⌘KSearch over every section, built at build time
- .mdThe same page as Markdown, for agents
- llms.txtAn index of every page, plus llms-full.txt
Your colours
Two numbers set the look.
Pick a hue for the greys and a hue for the accent. Light and dark palettes, shadows, selection, focus and the favicon all follow. Type, spacing and motion come from the build-craft rules and stay the same across your tools.
Configurationcolours: { tint: 255, accent: 75 },
Agents
An agent can build the site for you.
The template ships an AGENTS.md that says where everything goes and what good copy looks like. Point a coding agent at your tool and the new site folder and it fills in both.
Questions
- What does it cost?
- Nothing. It builds to static files, and GitHub Pages hosts them for free on a public repo.
- Can I use my own domain?
- Yes. Set
originand deploy. If your DNS is on Cloudflare, the deploy adds the record for you. See Deploying. - What if a tool needs a custom demo?
- Put it in
src/custom/Hero.svelteand it replaces the hero sample. Template updates leave it alone. See Custom hero and styles. - Can my agent read these docs?
- Yes. Add
.mdto any docs URL, or start at llms.txt.