# Project pack: Ghost @ db90cf0 Facts about **Ghost** for an AI following the [BespokeAI handover guide](https://handoff.bespokeai.software/guide/v4.md). Pinned to one version; never changes after publication. > Ghost gives you a good-looking website with a blog and an email newsletter in one place. Write in a clean editor, publish to your site and send the same post to your subscribers by email. Readers can sign up for free, or pay a monthly fee for members-only posts, with payments handled by Stripe. It is used by independent writers, small businesses, clubs and local news sites, and you can run it on your own server. ## Setup path (checked 2026-11-03) - **Needs Docker.** Tell the person before any setup work; no light non-Docker route is documented upstream. Ghost-CLI local installs exist; not assessed for a non-technical Windows setup. Docker Desktop on Windows may need a computer restart and an admin-only Windows feature (virtualisation); say so and let the person decide. - Verdict source: https://docs.ghost.org - You may be unable to download source archives or run commands in this session. The person downloads and runs things; if you cannot fetch something, give any changed file in full in chat with its path. ## Version and source - Repository: https://github.com/TryGhost/Ghost - Pinned commit: `db90cf0f34cc09b88e3ea17ab2aa9fb5997467ec`. Use exactly this version. - Zip the person can download in a browser: https://github.com/TryGhost/Ghost/archive/db90cf0f34cc09b88e3ea17ab2aa9fb5997467ec.zip - Fresh checkout (only if you have a shell and git): use the commands below in an empty folder. If this exact source is already checked out, keep your branch and use the development command; do not clone again or reset local changes. - Official docs: https://docs.ghost.org - Licence: **MIT**. Free to use, change and share for any purpose, including commercial use. Keep the copyright and licence notice if you share the code. "Ghost" and the Ghost logo are trademarks, so don't present a changed copy as the official Ghost. ## Commands from the pinned source - Developer commands (they may use Docker): ```sh git clone https://github.com/TryGhost/Ghost bespoke-ghost cd bespoke-ghost git checkout --detach db90cf0f34cc09b88e3ea17ab2aa9fb5997467ec # Prepare development requirements and local configuration first. # Setup notes: admin at http://localhost:2368/ghost; MySQL, Redis and Mailpit run in Docker corepack enable pnpm && pnpm bootstrap && pnpm dev ``` - Separate trial of the current upstream release (not your changes; sample data and a separate data directory only): ```sh # Official Docker set-up (docs.ghost.org/install/docker): git clone https://github.com/TryGhost/ghost-docker.git ghost && cd ghost cp .env.example .env && cp caddy/Caddyfile.example caddy/Caddyfile # edit .env: DOMAIN, DATABASE_ROOT_PASSWORD, DATABASE_PASSWORD and the mail__ settings docker compose up -d # then open https://your-domain/ghost to create the owner account. # To try it on your own computer instead: npm install ghost-cli -g && ghost install local (http://localhost:2368) ``` - Tools these commands use: A server with Docker and Docker Compose and a domain name pointing to it, or Node.js 22 for Ghost-CLI, For theme work, only a text editor and a zip tool, For core development, Node.js 22, pnpm (via Corepack) and Docker - Develop: `corepack enable pnpm && pnpm bootstrap && pnpm dev # admin at http://localhost:2368/ghost; MySQL, Redis and Mailpit run in Docker` - Test: `pnpm test` - Check/lint: `pnpm lint` - Build: `pnpm build` - Stack: javascript, typescript, handlebars (Node.js, Express, Bookshelf/Knex, React, Tailwind CSS (Shade), Nx, Vitest). Difficulty for a non-developer with an AI: **moderate**. The look of your site is a theme (Handlebars templates and CSS), which you can change and upload without touching Ghost itself, so most changes are easy. Settings cover branding, navigation, newsletters, memberships and code injection. Ghost's own code is a very large monorepo (Node core, React admin, several embedded apps) and is advanced to change. - The project's own AI instructions, in the repository: `AGENTS.md`, `docs/README.md`, `apps/admin/README.md`, `apps/shade/AGENTS.md`. Personal data: **yes**. Stored in: MySQL database (posts, members' names and emails, subscriptions) plus the content folder (images, themes, files), in ./data with ghost-docker. Secrets are entered by the person, never in chat. --- Later, only when a step needs it: [reference.md](https://handoff.bespokeai.software/p/ghost/db90cf0/r3/reference.md) (customisation points, must-keep-working, data and costs, coding conventions) · [hosting.md](https://handoff.bespokeai.software/p/ghost/db90cf0/r3/hosting.md) (long-term hosting; hosts are paid third parties) · [bespoke.yaml](https://handoff.bespokeai.software/p/ghost/db90cf0/r3/bespoke.yaml) · [SKILL.md](https://handoff.bespokeai.software/p/ghost/db90cf0/r3/SKILL.md)