Static-site framework for React

React pages.
Static output.

Nib turns React, Markdown, and data into complete static pages. Add browser JavaScript only where interaction needs it.

npx @briansunter/nib init my-site

Start with the file tree

The source is the map.

Initialize a site, then let folders describe its routes. Keep content, typed data, and browser behavior in the places they belong.

my-site / srcproject map
my-site/
├── nib.config.ts
└── src/
    ├── pages/
    │   ├── page.tsx
    │   ├── about/page.md
    │   ├── posts/page.csv
    │   └── layout.tsx
    ├── content/posts/
    └── islands/counter.tsx
about/page.md → /about/counter.tsx → browser JS

One site, four ways to author

Use the lightest tool for each page.

Routes follow the file tree. Pick TSX, Markdown, or data at build time, then add an island when a small part needs to run in the browser.

From folder to host

No server required.

Build to dist/client, preview the result, and deploy it to any static host.

Deploy a Nib site