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?
- Starting a site: the four questions, and what
statac newwrites - Writing: Markdown, links, callouts and snippet calls
- Settings: everything in
statac.yaml - Arriving from another tool: bring a Hugo, Jekyll, Zola or Eleventy site across
Something unclear or wrong? Open an issue on GitHub.