toolsite

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.

Read the quick start

The landing page of radar.itsryan.me, made with toolsite

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.

Visit radar.itsryan.me
# 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.

Writing docs
  • 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.

Configuration
colours: { 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.

Read this, agents

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 origin and 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.svelte and it replaces the hero sample. Template updates leave it alone. See Custom hero and styles.
Can my agent read these docs?
Yes. Add .md to any docs URL, or start at llms.txt.