A Mac app for Hugo. Run the server, preview your pages and publish your site from one window.
Download · hugokit.com · Report a bug
Hugo is fast, free and productive — but it lives in the terminal. To run a site you need to know hugo server, its flags, where the binary is, and how to push to GitHub Pages or a web host. Trivial for a developer, a wall for everyone else.
HugoKit takes the wall down. It wraps Hugo's CLI in a small, quiet macOS app that finds Hugo for you, keeps your sites in one place, and turns the daily moves — start the server, build, publish — into one click. The terminal is still there. You just don't have to look at it.
- Every site in one window. A sidebar with all your sites, and an All Sites overview in two lenses: running servers first, or a table with pages, drafts, scheduled posts and last published. Filter, search and pin.
- The server, without the terminal. Start, stop and restart
hugo server, with a clickablelocalhost:link. HugoKit also adopts a server you started yourself instead of fighting it for the port. - Logs that read like events. Hugo's output is parsed into timestamped events with a severity, a summary and the file it refers to — not a wall of scrollback.
- Content. Browse and filter your pages, create new content from your own archetypes, edit Markdown in the app (⌘S) or hand off to your editor, and preview templates.
- Config editor. A structured form and a raw text tab over the same
hugo.toml, with a diff before anything is written back. - Site health. A score per site — front matter checks, content stats, what's missing.
- Publish to more than one place. Any mix of GitHub Pages and SFTP/FTP destinations per site: production, staging, a backup on your own host. Publish one, or publish all. SFTP uploads only the files that actually changed.
- Preflight that fixes things. Before a publish, HugoKit catches what usually breaks a deployed site — subpath-broken links, assets, config — shows the fix as a red/green diff, applies it when you approve, and re-runs. You never hand-edit a template.
- New sites in a click. Create one from the bundled HugoKit Starter — pick the sections and features you want — or start blank, with
git initdone for you. - Hugo Reference. Searchable Hugo documentation in a window next to your site.
- Menu bar and shortcuts. Server status and quick actions from the menu bar; ⌘P publishes, ⇧⌘P runs preflight, ⇧⌘H opens site health, ⇧⌘T previews templates.
- Native notifications for server, build and publish events, with a toggle per event.
- Download the latest DMG from Releases.
- Open it and drag HugoKit to Applications.
- Launch it. Onboarding finds (or installs) Hugo and helps you add your first site.
The app is signed with a Developer ID and notarized by Apple, and updates itself via Sparkle (HugoKit → Check for Updates…).
- macOS 26 (Tahoe) or later
- Hugo — HugoKit installs it for you if you don't have it
- Local-first. No account, no backend. HugoKit talks straight to Hugo, Git and your host. GitHub tokens and SFTP passwords live in the macOS Keychain, never in a config file.
- Your site stays yours. HugoKit reads a standard Hugo project —
content/,themes/,hugo.toml— and never restructures it. It writes at most two things:.hugokit/ftp-manifest.json, the sync manifest that lets SFTP deploys skip unchanged files — and, if you set up GitHub Pages, the.github/workflows/deploy workflow. - Password-based SFTP needs
sshpass(brew install sshpass). Key-based SFTP works out of the box — leave the password field empty to use your~/.ssh/key. - Publish runs one target at a time and stops at the first failure.
- Deploy targets are GitHub Pages and SFTP/FTP. Netlify, Vercel and Cloudflare Pages are not supported.
HugoKit is closed source. This repo carries the releases, the issue tracker and this README. Bug reports and feature requests are welcome — open an issue.
For anything else: kontakt@andersmortensen.com
Proprietary. © 2026 Anders Mortensen. All rights reserved. The EULA ships with the app in the DMG.
