Ghost Contributor Documentation
Welcome to the Ghost contributor documentation! This guide will help you understand the codebase, set up your development environment, and start contributing to Ghost.
Quick Start
Prerequisites
- Node.js - Recommended to install via nvm
- pnpm - Package manager
- Docker - For MySQL database and development services
Initial Setup
1. Fork and Clone
First, fork the Ghost repository on GitHub, then:
# Clone your fork with submodules
git clone --recurse-submodules git@github.com:<YourUsername>/Ghost.git
cd Ghost
# Configure remotes
git remote rename origin upstream
git remote add origin git@github.com:<YourUsername>/Ghost.git
2. Install and Setup
# Install dependencies and initialize submodules
corepack enable pnpm
pnpm run setup
3. Start Ghost
# Start development (runs Docker backend services + frontend dev servers)
pnpm dev
Ghost will be available at:
- Main site: http://localhost:2368/
- Admin panel: http://localhost:2368/ghost/
Troubleshooting Setup
If you encounter issues during setup:
# Fix dependency issues
pnpm fix
# Update to latest main branch
pnpm main
# Reset running dev data
pnpm reset:data
Repository Structure
Ghost/
├── 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
Contributing
Before contributing, please read:
- Contributing Guide - Guidelines for contributions
- Code of Conduct - Community standards
Finding Issues to Work On
- Good First Issues - Great for newcomers
- Help Wanted - Issues that need attention
Development Workflow
- 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
Additional Resources
- Official Documentation - User and developer docs
- Ghost Forum - Community support and discussions
- API Documentation - Content and Admin API reference
- Theme Documentation - Theme development
Architecture Decision Records
The adr/ directory contains Architecture Decision Records (ADRs) that document significant architectural decisions made in the project.
Getting Help
- Forum: forum.ghost.org
- Support: See SUPPORT.md
- Issues: GitHub Issues
License
Ghost is open source software licensed under the MIT License.