What is Skrapa?
Skrapa is a static site generator for people who want JSX and TypeScript without adopting a toolchain to get them.
Build-First
Every page renders to HTML at build time. The browser gets the markup you wrote and nothing else: no virtual DOM, no hydration step, no framework runtime to download.
Zero Install
The whole tool is one self-contained script with no dependencies. npx fetches it on demand, runs it, and it never appears in your package.json.
TypeScript Native
Write layout as JSX in real TypeScript and browser code in client.ts. Skrapa compiles both and links the result, with no bundler config to maintain.
Nothing to install
Packages added to your project
Measured with npm install --dry-run in an empty project, August 2026. Skrapa's one is typescript, the only install skrapa init adds. Skrapa itself runs from npx and is never installed at all. Requires Node ^24.
Nothing to configure
Every directory is a route
Any index.tsx that exports Page becomes a page at that path, and the client.ts beside it compiles to its own script and links itself.
index.tsx
client.ts
about/index.tsx
about/client.tsindex.html
client.js
about/index.html
about/client.jsWhy not Vite or Astro?
Often you should. They're better tools for anything with a client-side component ecosystem, content collections, or a large opinionated team behind it. Skrapa is for the minimalist engineer with no appetite for a toolchain. It renders to static HTML at build time and keeps to its own idea of the essentials: file-based routing, JSX in TypeScript, and client-side JS compiled from TypeScript. The whole thing is one script you never install. The longer answer is on the about page.