Statac

Start

Getting started

From nothing to a site you can publish.

1. Install Statac

On a Mac, with Homebrew:

brew install statac-ssg/statac/statac

On Linux:

curl -fsSL https://get.statac.dev | sh

On Windows, or for what each of these does, see Installing: it has Scoop, and a package for every machine.

2. Make a site

statac new my-site
cd my-site

Four questions; Enter takes the answer in brackets. You get a working site with sample posts, notes and photographs.

More: the questions, every file.

3. Look around

my-site/
├── statac.yaml     # settings
├── content/        # your writing, one file per page
│   ├── index.md    # the home page
│   ├── 404.md      # the page shown where nothing is published
│   ├── robots.md
│   ├── sitemap.md
│   ├── posts/
│   ├── notes/
│   └── photos/
├── templates/      # the HTML each page is built in
├── snippets/       # pieces of HTML you call by name
├── data/           # values templates read
├── assets/         # the stylesheet
└── static/         # files published as they are

Every file is yours to change.

More on each: settings, writing, templates, snippets, data files, assets.

4. Preview it while you write

statac serve
3 notes: 3 no-site-address. Run `statac check` to see them.

Made 60 copies of 11 photographs.
Wrote 17 pages and 66 other files to `.statac/serve` in 0.15 seconds.
Serving `.statac/serve` at http://localhost:3000/
Press Ctrl+C to stop.

Open the address. Save a file and the page reloads.

The three notes: a new site has no url yet. See no site address.

Serve shows drafts and future-dated posts; a build leaves them out.

5. Build it

statac build
3 notes: 3 no-site-address. Run `statac check` to see them.

Wrote 17 pages and 66 other files to `_site` in 0.12 seconds.

The site is in _site: plain files for any web host. Don’t edit it; each build replaces it. Building and publishing has the rest.

6. Check it

statac check

Writes nothing and shows every problem in full. build shows errors in full and only counts warnings and notes.

When something is wrong

Statac shows the file, the line, the exact text and what to do:

error  Unclear date: `4/10/2026` could be 4 October or 10 April
  content/posts/post-1.md, line 3
   3 │ date: 4/10/2026
     │       ^^^^^^^^^
  Write it as `2026-10-04` or `2026-04-10`.
  More: https://statac.dev/e/unclear-date/

More: explains that kind of problem. So does:

statac explain unclear-date

Problems explained lists every kind.

Where next?

Something unclear or wrong? Open an issue on GitHub.