Welcome to the Ghost contributor documentation! This guide will help you understand the codebase, set up your development environment, and start contributing to Ghost.
- Node.js - Recommended to install via nvm
- pnpm - Package manager
- Docker - For MySQL database and development services
First, fork the Ghost repository on GitHub, then:
# Clone your fork with submodules
git clone --recurse-submodules [email protected]:<YourUsername>/Ghost.git
cd Ghost
# Configure remotes
git remote rename origin upstream
git remote add origin [email protected]:<YourUsername>/Ghost.git# Install dependencies and initialize submodules
corepack enable pnpm
pnpm run setup# Start development (runs Docker backend services + frontend dev servers)
pnpm devGhost will be available at:
- Main site: http://localhost:2368/
- Admin panel: http://localhost:2368/ghost/
If you encounter issues during setup:
# Fix dependency issues
pnpm fix
# Update to latest main branch
pnpm main
# Reset running dev data
pnpm reset:dataGhost/
├── apps/ # Frontend applications
│ ├── admin-x-*/ # New React-based admin apps
│ ├── portal/ # Member portal
│ ├── comments-ui/ # Comments widget
│ ├── signup-form/ # Signup form widget
│ └── ...
├── ghost/ # Core Ghost application
│ ├── core/ # Main Ghost backend
│ ├── admin/ # Admin build output
│ └── i18n/ # Internationalization
├── e2e/ # End-to-end tests
├── adr/ # Architecture Decision Records
Before contributing, please read:
- Contributing Guide - Guidelines for contributions
- Code of Conduct - Community standards
- Good First Issues - Great for newcomers
- Help Wanted - Issues that need attention
- Fork and clone the repository
- Create a branch for your changes
- Make your changes and write tests
- Run tests to ensure everything works
- Commit following our commit message conventions
- Submit a pull request to the
mainbranch
- Official Documentation - User and developer docs
- Ghost Forum - Community support and discussions
- API Documentation - Content and Admin API reference
- Theme Documentation - Theme development
The adr/ directory contains Architecture Decision Records (ADRs) that document significant architectural decisions made in the project.
- Forum: forum.ghost.org
- Support: See SUPPORT.md
- Issues: GitHub Issues
Ghost is open source software licensed under the MIT License.