Contributing to the Gutenberg Block Editor

Gutenberg, WordPress’s block-based editor, is an evolving open-source project powered by a global community of developers, designers, writers, and contributors. Contributions not only improve the editing experience for millions of users but also shape the future of web content creation.
Whether you’re a seasoned developer proficient in JavaScript, PHP, or React, or entirely new to coding, there are numerous ways to make meaningful contributions. This guide will walk you through the key steps, resources, and tips for contributing to the Gutenberg project

Ways to Contribute

  1. Report Issues
  2. Propose New Features
  3. Submit Code (Pull Requests)
  4. Improve Documentation
  5. Test New Features
  6. Help Review Code

Creating an Issue in Gutenberg

  1. Navigate to the Gutenberg repository on GitHub.
  2. Click on Issues and select the appropriate template from the available template, a few of which are:
    • Bug Report: For reporting bugs.
    • Feature Request: For suggesting enhancements.
    • Blank Issue: For custom topics not covered by the templates. Provide clear and concise information:
    • Title: Briefly describe the issue.
    • Description: Explain the problem or idea in detail.
    • Steps to Reproduce (for bugs): Provide steps to replicate the issue.
    • Screenshots (if applicable): Include visuals for clarity.

3. Submit the issue, and it will be reviewed by the Gutenberg team.

Creating a PR for the Issue

  1. Fork the Repository:
  2. Set Up Your Environment:
    • Clone your forked repository inside the wp-content/plugins/ folder of a WordPress installation.
    • Build and Activate the Gutenberg plugin in your WordPress setup.
git clone https://github.com/your-username/gutenberg.git
  1. Select an Issue:
    • Browse issues in the repository and choose one to work on. Use labels like Good First Issue for beginner-friendly tasks.
  2. Make Changes:
    • Create a feature branch:
      • Follow branch naming conventions as mentioned in the Git Workflow. The naming usually follows the pattern [type]/[change]
git checkout -b add/your-branch-name
  1. Stage and Commit your changes.
// Stage files to commit.
git add .

// Add a commit message.
git commit -m "Your Good Commit Message"
  1. Push and Create PR
    • Push your branch to your fork.
git push origin add/your-branch-name
  1. Visit your fork on GitHub and click Compare & Pull Request.
  2. Add a clear description of the changes and submit the PR.

Finding the Right Issues

The Gutenberg project organizes issues with labels to help contributors identify areas to work on:

  • [Good First Issue]: Beginner-friendly issues, often related to documentation or simple code fixes.
  • [Block] <Block Name>: Indicates issues related to specific blocks, such as the Spacer block or Image block. For example, [Block] Spacer would point to issues concerning the Spacer block.
  • [Needs Testing]: Issues requiring review and testing.

Here’s the list of labels sorted by most issues, Labels.

Pro Tip: Start with Good First Issues to get familiar with the workflow and build confidence.

Stay Connected

  1. Join the WordPress Slack Workspace:
  2. Stay Updated:

Additional Resource

By following this guide, you’ll be well-prepared to start contributing to Gutenberg. Remember, every contribution—big or small—helps improve the editor for millions of users worldwide.

Happy contributing! 🎉