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

Metadata

Release files for cuttlefish-ssg 0.1.12

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.12
File Size Uploaded
cuttlefish_ssg-0.1.12.tar.gz 1.4 MB Details

Built distribution (wheel)

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

Total release size: 1.5 MB

Release files / cuttlefish_ssg-0.1.12.tar.gz

Download URL cuttlefish_ssg-0.1.12.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
4ed21f68fa3f9b1e3df8ae2993c9ef53e0dab87d1e1878947ca620c61e07dbe6
BLAKE2b-256 checksum
How to use checksums
abb2a4e75b156a345916811ebf772c46c8b2d49c6b7892cf387caf0c1426de0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.24 {"installer":{"name":"uv","version":"0.12.24","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.12-py3-none-any.whl

Download URL cuttlefish_ssg-0.1.12-py3-none-any.whl
Size 83.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bba480b54f646714799a7ef53e9caf16b1c9328f185d69dbebc71f40d6624cb2
BLAKE2b-256 checksum
How to use checksums
4a56ad3108037f3229c3f72fdd8d2d993854adf2624c3a077eb29f41bfc5de3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.24 {"installer":{"name":"uv","version":"0.12.24","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

This release

0.1.12 This release

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

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