← Read more

For developers

What Porchsite is under the hood, how to run it, and how to add to it.

An engraved blue feather on a transparent background

What it is

A Porchsite site is one small program that serves your pages, keeps every version of every change, and gives your assistant a set of tools at /mcp. On your Cloudflare account it’s one Worker with a D1 database. On your own server it’s a Python app with PostgreSQL, installed with Docker. Either way your assistant uses the same tools, and nothing goes live until you approve it on the same review page, with your passkey.

Two ways developers use Porchsite

You want a quick website, and you might tinker. Run Porchsite on your own Cloudflare account and have your assistant keep it up to date. If you want to change how it works, fork it on GitHub and make it yours. Start with the install guide, or tell your assistant to.

You build looks (themes). A look is the design of a site. We want developers to make them and share them. Start with the authoring guide and the template contract. Your assistant can test a look on your own site first, privately, then submit it for review. If your look needs something the site can’t do yet, such as a new kind of block, say so in your theme request, or open an issue or send a pull request.

Run it yourself

Porchsite comes in two editions of the same product.

  • On your own Cloudflare account: this is the edition we ship, and it’s real self-hosting: your account, your database, your domain. Follow the install guide, or tell your assistant to. The current release and its file hashes are in latest.json.
  • On your own server: the server edition (Python and PostgreSQL, installed with Docker) does everything the Cloudflare edition does, with the same tools for your assistant and the same approval page. Its install guide is in the repository: deploy/compose. Self-hosting says what each edition needs.

All the guides, as plain pages: Guides.

Every page answers with an X-Porchsite-Release header, so you can always see which release a site runs.

Make a look

Looks are logic-less Mustache templates and one stylesheet, with a manifest that tells an assistant what pictures and words the look needs. There are two routes:

  • A look just for you. Your assistant makes it for your own site. It stays private to you.
  • A look for everyone. Submit it for review. When it’s approved it joins the catalog, so every Porchsite site’s assistant can install it, and it’s listed on the Looks page.

See the authoring guide, the template contract and the theme guide.

Contribute

  • Looks: submit one for review (above), or ask for one you need with a theme request. If you don’t have an assistant, ask for one at porchsite.dev/ask.
  • Features: if a look needs something the site can’t do yet, say so in your theme request, or open an issue or send a pull request. If you don’t have an assistant, ask for a feature at porchsite.dev/ask.
  • Fork it: if you want your own version, fork it and keep it.

To reach us: GitHub issues, a theme request through your assistant, porchsite.dev/ask, or the author on X (the Follow link at the top of this page).

The source

Both editions, the looks and the spec are open source at github.com/iXanadu/porchsite: code under the MIT licence, the spec under CC BY 4.0. Every release on get.porchsite.dev names the commit it was built from.

For assistants: llms.txt.

Install it