Skip to main content

Describe your site. An agent builds it.

Project description

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 asset pipeline. 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, a sitemap.xml, 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 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cuttlefish_ssg-0.1.1.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cuttlefish_ssg-0.1.1-py3-none-any.whl (68.5 kB view details)

Uploaded Python 3

File details

Details for the file cuttlefish_ssg-0.1.1.tar.gz.

File metadata

  • Download URL: cuttlefish_ssg-0.1.1.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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}

File hashes

Hashes for cuttlefish_ssg-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d563626087f70391297337c9552200e2e9cf3cc6868050f6e4c85a631434372f
MD5 6b1cf94178b0be0c2c0fae3b4a8f9c4f
BLAKE2b-256 0ca34ed3bbb8d0a95fe0a1478348a395b78e861f51839b4269391a87d5018b89

See more details on using hashes here.

File details

Details for the file cuttlefish_ssg-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: cuttlefish_ssg-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 68.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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}

File hashes

Hashes for cuttlefish_ssg-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 210f85ffca9cbec1fb87bea174ef34c76363a467b625d96d86530f6bfa5b3e3f
MD5 2f0302a02a535e8c4f4c028fd25d430c
BLAKE2b-256 20a8176131696b789fc011ac03e43dacc1d708fcc78cee5abe1a8f69400a889a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page