Put a directory
on the web.

Dirwell builds a static file explorer with search, keyboard navigation, safe symlinks, and a theme API. Run one command. Deploy the output anywhere.

terminal~/releases
$ pnpm dlx dirwell .
Dirwell is watching /releases
Local: http://localhost:4173
Default theme · generated from the file-icons previewOpen full explorer

The folder already has the information.

Most directory listings lose the context people need, or turn a small publishing job into an application. Dirwell keeps the filesystem legible and the output static.

Start
No config file required.
Inspect
Full metadata and explicit symlink states.
Ship
Plain files for any static host.
Adapt
Replace components or the renderer.

Five examples. Same directory model.

Open the generated site, then inspect the exact source that produced it.

Zero config

A portable SSG build with relative URLs. Copy it anywhere and open it.

SSG · relative URLs

Release catalog

Build a complete listing with its own HTML and CSS from the prepared directory data.

custom theme · no JavaScript

Customize the default theme

Catppuccin Latte and Macchiato colors and icons with a changed header.

component overrides · theme icons

Plain HTML

A directory listing with native links, no icons, and no client-side code.

plain HTML · no JavaScript

Useful before you configure it.

Serve the current folder while you work. Build the same folder when it is ready.

Preview and watchpnpm dlx dirwell .
Build static outputpnpm dlx dirwell build . -o dist
Read the five-minute guide

The defaults are an entry point, not a ceiling.

Keep the built-in interface, replace one typed component, or own every byte of the document. URL generation and output naming are separate decisions.

createDefaultTheme({
  components: {
    EntryRow: ReleaseRow,
  },
})

A directory can be the product.

Keep it static. Make it navigable. Change only what your project needs.

Get started