Skip to content

FlineDev/SiteKit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

32 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation



Is it for you? Β· Features Β· Blueprints Β· Showcase Β· Get started Β· Deploy Β· Contributing

Swift 6.2 macOS | Linux Agent Skill MIT License

SiteKit

A static site generator written in Swift, designed to be driven by AI agents.

SiteKit is a static site generator written in Swift, driven by AI agents through an installable skill (Claude Code, Codex, Cursor, Windsurf, Xcode 26, and more) – you hand the whole job to an AI that scaffolds, themes, writes, and deploys your site for you. The output is a fast, SEO-complete, accessible static site you host anywhere.

I built this iteratively over several months for my own needs, and I'm sharing it with the community in case others want to use AI for their website, too. It was built with AI, for AI. Looking forward to your feedback. πŸ™Œ

Tip

Looking for something specific? The use-case matrix maps every task – author, customize, deploy, extend – to the doc that answers it.

πŸ€” Is SiteKit for you?

Yes, if you want to:

  • Ship a blog, podcast, newsletter, portfolio, or app-landing site as plain static files.
  • Own your content as plain Markdown in a git repo – the site is a Swift package under the hood, but authoring needs no Swift code.
  • Let an AI assistant do the heavy lifting (scaffolding, theming, content drafting, deployment).

Probably not, if you need:

  • A server-rendered CMS with a database, user logins, or live dynamic pages.
  • A no-code, point-and-click WYSIWYG editor.
  • An environment without the Swift toolchain – building runs through swift (macOS or Linux), and authoring assumes you're comfortable editing text files.

✨ What's built in

You write Markdown; SiteKit handles the rest:

  • πŸ“ Plain Markdown authoring – posts and pages in Markdown with YAML frontmatter, no Swift or HTML.
  • πŸ“± Responsive design – layouts adapt to desktop, tablet, and phone out of the box.
  • πŸŒ— Dark & light mode – follows the visitor's system preference, with a manual toggle.
  • πŸ” Built-in search – a client-side index on a static site, full-text for docs.
  • 🧭 SEO complete – canonical URLs, Open Graph, JSON-LD, hreflang, sitemap, robots, and llms.txt.
  • β™Ώ Accessibility-minded – semantic HTML, keyboard navigation, WCAG-AA-tuned colour schemes.
  • ⚑ Fast by default – critical-CSS ordering, responsive images, inlined icons, minification.
  • 🌍 AI-assisted localization – multilingual with hreflang, fallback, and UI chrome in 36 locales.
  • πŸ‘€ Shareable draft previews – unlisted URLs to share for feedback before publishing.
  • ✍️ Guided content writing – built-in writing guides keep drafts on-brand.
  • πŸ†“ Free hosting – deploy to Cloudflare Pages; you pay only for your domain.

🧩 What you can build

SiteKit ships 9 blueprints – starter sites you scaffold and customise. Each has a short guide and a live demo:

Blueprint For Guide Live demo
Blog Articles with categories, tags, RSS Blog.md fline.dev/blog
Snippets Short-form tips, TILs, cheat sheets Snippets.md fline.dev/snippets
Portfolio App / project showcase Portfolio.md fline.dev/apps
IndieDev Blog + snippets + portfolio combined IndieDev.md fline.dev
Podcast Episode pages, audio player, iTunes RSS Podcast.md appstore-tagebuch.de
Newsletter Issue archive, signup forms, email rendering Newsletter.md evolutionkit.dev
AppLanding Single product landing page (hero, features, pricing) AppLanding.md translatekit.pages.dev
DocC DocC catalog β†’ docs site with sidebar + full-text search DocC.md wwdcnotes.fline.dev
Plain Minimal, no opinions – a blank canvas Plain.md –

Not sure which to pick? The blueprint catalog has a decision tree and a feature comparison.

πŸ–ΌοΈ Built with SiteKit

Real production sites, one per blueprint family. Screenshots follow your GitHub theme – dark or light.

fline.dev – indie-dev site built with SiteKit
fline.dev – apps, blog, snippets & portfolio (IndieDev)
evolutionkit.dev – newsletter site built with SiteKit
evolutionkit.dev – Swift Evolution newsletter (Newsletter)
appstore-tagebuch.de – podcast site built with SiteKit
appstore-tagebuch.de – indie-dev podcast (Podcast)
TranslateKit – app landing page built with SiteKit
TranslateKit – app landing page (AppLanding)
WWDCNotes – documentation site built with SiteKit
WWDCNotes – community session notes across thousands of pages (DocC, relaunch in progress)

πŸš€ Get started

The only hard requirement is the Swift 6.2 toolchain (swift --version), on macOS or Linux – both run in CI. Everything else is optional and installed when it's actually needed: the AI assistant pulls in Git, the GitHub CLI (gh, only if you publish via GitHub), or ImageMagick (only if you want responsive image variants) on demand, and you pick where to host. SiteKit points you at the free, popular choices, but you can always swap in alternatives – the output is just static files.

The AI-guided way (recommended)

SiteKit is built to be driven by an AI. Install its skill once and your assistant learns the whole workflow – scaffolding, theming, writing, and deployment.

Any agent (Claude Code, Codex, Cursor, Windsurf, Xcode 26, and 70+ more) – install the agent skill:

npx skills add FlineDev/SiteKit

Claude Code – or install it as a plugin instead:

/plugin marketplace add FlineDev/SiteKit
/plugin install sitekit@sitekit

Either way, then just ask – "build me a developer blog with SiteKit" – and your assistant walks you through blueprint choice, theme, content, and deployment. Every site SiteKit scaffolds also gets an AGENTS.md so the assistant keeps the right guidance loaded as the site grows.

The manual CLI way

Clone SiteKit and use the sitekit CLI directly:

git clone https://github.com/FlineDev/SiteKit.git
cd SiteKit
swift run sitekit doctor                          # check git + swift toolchain
swift run sitekit new MySite --blueprint Blog     # scaffold (defaults to Blog)

The clone is only needed for the scaffolder – your new site is standalone and pulls SiteKit as a regular Swift-package dependency, so you won't need the clone again until you scaffold the next site.

Then run your new site locally:

cd MySite
swift run Site serve                              # dev server on http://localhost:8080

swift run Site build produces the static output in _Site/; swift run Site validate checks for missing translations on multilingual sites.

πŸ“ Your new site

Path What it holds
Content/<section>/*.md Your posts, episodes, pages – Markdown with YAML frontmatter
Theme/theme.yaml Color scheme, font pairing, layout template
SiteConfig.yaml Site metadata: name, URL, author, navigation
Content/Assets/ Images and logo; pre-generated favicons go in Content/Assets/Favicons/
_Site/ Build output (gitignored) – what you deploy

Customise the look: open Theme/theme.yaml and pick a color scheme (15 to choose from), a font pairing (6 options), and a layout template (Classic, Sidebar, Minimal). Override individual design tokens for full control.

Deeper references: content writing Β· theming guide Β· SiteConfig reference.

☁️ Deploy

A build is just static files in _Site/, so you can host it anywhere and switch hosts anytime – the choice is yours.

SiteKit recommends Cloudflare Pages because it's free, fast, and documented end to end: Cloudflare Pages walkthrough. Prefer something else? GitHub Pages, Netlify, Vercel, or your own server work the same way, and the assistant sets up whichever you pick. See all deployment guides.

πŸ›Ÿ When something goes wrong

Build failing or output not what you expected? Start with the troubleshooting guide – it covers frontmatter errors, missing fields, and the most common build failures.

πŸ”§ Extending with custom Swift

The blueprints cover the common cases. When you need something they don't ship – a custom page type, a new output file, a bespoke content transform – that's Swift territory. SiteKit's pipeline is a set of swappable plugins you conform to: see AGENTS.md for the architecture and the custom-pages reference for a worked example.

🀝 Contributing

Issues and pull requests welcome. Start with AGENTS.md – the contributor reference for how SiteKit is built and how to extend it.

SiteKit is v1.0, the first public release. From here on, breaking changes always get a major version bump and documented migration steps in the CHANGELOG.

License: MIT.

About

AI-first static site generator written in Swift

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Contributors