MCPcopy Index your code
hub / github.com/TryGhost/Ghost-CLI

github.com/TryGhost/Ghost-CLI @v1.29.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.29.3 ↗ · + Follow
478 symbols 1,317 edges 190 files 110 documented · 23% updated todayv1.29.3 · 2026-05-14★ 4942 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Ghost-CLI

E2E Tests Local E2E Tests Unit Tests Coverage Status npm version

Basic Setup

  • npm install -g ghost-cli@latest
  • ghost install (for a production linux setup, including Nginx, SSL, and Systemd)
  • ghost install local (for a local setup, useful for theme development/testing)

NOTE: This CLI is not designed to work with any Ghost versions < 1.0.0

Documentation

Project Goals

The objective of the Ghost CLI project is to make setting up and maintaining a Ghost site as straight forward as possible for people who do not want to use Ghost(Pro).

Ghost-CLI is aimed at people who are comfortable in a command line environment, and therefore some technical knowledge is assumed. The design goal of Ghost CLI was to make it possible to install or update Ghost in a single command.

In order to keep these goals obtainable & maintainable by Ghost's small team, we have a recommended system stack that Ghost-CLI works with, and minimal configuration options.

Recommended stack

We officially recommend the stack described here for production installs.

The team behind Ghost CLI only supports this stack. This restriction is very deliberate, as every additional option for configuration or divergent piece of code required to support an additional environment creates exponential complexity and maintenance overhead.

Our primary focus for the project is ensuring that everyone that uses the recommended system stack is able to install, configure, start, stop, restart, update & list their Ghost sites. This includes developing better testing to ensure we are able to prevent regressions, and stabilising the code to ensure that edge cases within the recommended stack are accounted for.

The secondary focus is on improving the CLI itself. We want to ensure that the UI, configuration options, flags, flows, prompts, messages and other behaviours are working for both manual and programmatic use. This also includes improving the documentation to make it easy to use the tool, discover advanced options & debug any common issues.

Anything that falls outside of these two areas is not being actively worked on at present.

Triaging & prioritisation

  • Issues which affect many users with our recommended stack are given first priority
  • Issues which affect small numbers of users are prioritised based on the impact vs the difficulty - i.e. quick fixes will be prioritised, complex issues may be closed and labelled with later & recommended-stack.
  • Issues around documented & understood environment or configuration issues will be closed and labelled with known-issue, users will be directed to the docs & forum.
  • Issues that request modifications in order to support other stacks stack will be closed and labelled with later & other-stack.
  • Issues proposing new features or enhancements will be labelled as such, and in most cases also closed with later.

Help & Support

We aren't able to provide support in GitHub, but we do keep track of common issues with the known-issue label and regularly update documentation & error messages to be clearer.

The documentation for Ghost-CLI can be found at https://ghost.org/docs/ghost-cli/. Community support can be found in our forum.

Developer Setup (for contributing)

  1. Fork this repo
  2. git clone https://github.com/<your-username>/Ghost-CLI path/to/your/workspace
  3. cd path/to/your/workspace
  4. pnpm install

To run the CLI for testing:

  • pnpm link
  • ghost <command> (can run anywhere on the system)

Running tests

pnpm test

Publishing a new version

  1. pnpm ship -- -r patch/minor/major — creates a chore(release): x.y.z commit, updates the changelog, and pushes to main
  2. CI automatically publishes that version to npm and creates the git tag from the release commit
  3. Go to https://github.com/TryGhost/Ghost-CLI/releases/new, choose the new tag, click Generate release notes, review/edit the notes, and publish
  4. The GitHub Release entry is manual; npm publishing and git tagging are automatic

Copyright & License

Copyright (c) 2013-2026 Ghost Foundation - Released under the MIT license. Ghost and the Ghost Logo are trademarks of Ghost Foundation Ltd. Please see our trademark policy for info on acceptable usage.

Core symbols most depended-on inside this repo

Shape

Method 214
Function 144
Class 120

Languages

TypeScript100%

Modules by API surface

lib/instance.js23 symbols
lib/ui/index.js21 symbols
lib/errors.js21 symbols
lib/system.js19 symbols
extensions/mysql/index.js17 symbols
test/unit/command-spec.js16 symbols
lib/process-manager.js15 symbols
extensions/systemd/systemd.js13 symbols
test/unit/commands/update-spec.js11 symbols
lib/ui/renderer.js11 symbols
lib/commands/update.js10 symbols
extensions/nginx/index.js10 symbols

For agents

$ claude mcp add Ghost-CLI \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page