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.

cuttlefish 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 —

Give the site a teal accent, put projects in a two-column grid, and make the headings bigger.

— 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.

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.0.tar.gz (1.3 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.0-py3-none-any.whl (68.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cuttlefish_ssg-0.1.0.tar.gz
  • Upload date:
  • Size: 1.3 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.0.tar.gz
Algorithm Hash digest
SHA256 53c3c975abcc12ba940d715cf970fe5bf2c216af2407e58b97b20cfb7849137c
MD5 f9a87afb0cc6e71faf429bb4930f4970
BLAKE2b-256 d3b78a4f3e84beae76aaf60ce9eedcb7bcb96698ca2755c494d3becf96a73762

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cuttlefish_ssg-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 68.0 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d16d035d75f94cffcf4cf3874ee30debd78b54a654176c3ae2fbf7d7b937713
MD5 33625c4e47dd3a26e4dc486b0bd2eb0a
BLAKE2b-256 1b5f341b419954f9841f8ebec541ebe4624860e728731371d78e87971a49f184

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