Skip to main content
cuttlefish — Agentic Static Site Generator

cuttlefish

Describe your site. An agent builds it.

An agentic static site generator for personal sites and portfolios —
you write the content, agents handle the look and layout.

PyPI version Python 3.11+ License: MIT Tests Coverage AGENTS.md included

cuttlefish changes the way your site looks in a blink — just like the fast, shape-shifting sea creature it's named after.

It has the building blocks you'd expect from a static site generator — content types, taxonomies, templates — and one deliberate omission: there's no theme to install, no CSS framework, and no build step for your styles and scripts. Your whole site is a handful of plain-text files and one stylesheet you never open by hand.

Want a minimal layout with a teal accent? A two-column projects grid? Bigger headings? Describe it, and a coding agent edits the files to match. The look of your site is something you talk your way into, not something you hand-tune.

How it works

Every site ships an AGENTS.md: the agent's source of truth for the file map, the config.toml schema, the templating rules, and the styling conventions. Point a coding agent at it and say what you want —

Switch to a serif font, give the header a dark background, and feature my three latest posts on the home page.

— and it edits the config, templates, and stylesheet to match. You review a diff, not a config dialect; there are no theme docs or class names to memorize. Then ctf build renders everything to public/, and ctf serve previews it live.

Quick start

Requires Python 3.11+.

pipx install cuttlefish-ssg
ctf init my-site
cd my-site
ctf build            # render to public/
ctf serve            # live-reloading preview at http://localhost:8000

Features

  • Describe, don't hand-tune: No themes, no CSS framework, no build step — one plain stylesheet an agent edits to match what you describe.
  • Agent-first: Every site ships an AGENTS.md documenting its schema and conventions, so an agent can author and style it reliably.
  • Rebuild fast: Incremental builds cache the last render and rebuild only what changed — editing a post's body never touches your listing pages.
  • Everything else you'd expect: Content types, taxonomies, Markdown with TOML front matter, standalone pages, pretty permalinks with pagination, sitemap.xml and robots.txt, and a live-reloading dev server.
  • Recipes: A library of copy-in feature guides — reading time, breadcrumbs, comments — that an agent applies by editing your templates, CSS, and config. No plugin system, just packaged instructions.

Usage

Command What it does
ctf init <dir> Scaffold a new site into <dir>.
ctf build [root] Render the site to public/. Add --force to ignore the cache, --drafts to include drafts.
ctf check [root] Validate config, content, and templates without writing anything. Exits non-zero on error — handy in CI.
ctf serve [root] Preview at http://localhost:8000, live-reloading on change. Drafts on by default; set --port to change the port.

root defaults to the current directory, so you can run ctf build and ctf serve from inside your site.

Documentation

Visit https://acaibowlz.github.io/cuttlefish/ to view the full documentation.

License

Released under the MIT License

Release files for cuttlefish-ssg 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cuttlefish-ssg 0.1.3
File Size Uploaded
cuttlefish_ssg-0.1.3.tar.gz 1.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for cuttlefish-ssg 0.1.3
File Interpreter ABI Platform
cuttlefish_ssg-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 1.4 MB

Release files / cuttlefish_ssg-0.1.3.tar.gz

Download URL cuttlefish_ssg-0.1.3.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
d1d3049b250658cee14fca4a4b33b13973eb9436c4351a100bb060974aa4cc1d
BLAKE2b-256 checksum
How to use checksums
395f6aba5a8046c54814d09cdb1767e424711dbf09fbf11708c96fc5a6d172f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / cuttlefish_ssg-0.1.3-py3-none-any.whl

Download URL cuttlefish_ssg-0.1.3-py3-none-any.whl
Size 73.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c7e1b565c719ef8f16696be8ab30591b7fe218978e6684ff13fc535516332b2f
BLAKE2b-256 checksum
How to use checksums
32064f8a32ce37f166b2cd80800e72a25c2196da757edf7f52d790c7087fe7c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page