This is a step-by-step guide for getting involved with the GNOME Shell design or development. If you are new to GNOME or open source software development, this guide will help you prioritize all the links we have on the main page of the wiki.

Step 1. Join #gnome-shell channel on irc.gnome.org

This is where people talk about GNOME Shell and where you can ask questions when you need to find out how to do something or want to decide what to work on next. The etiquette of IRC is such that you don't need to say "hi" when you join and you can lurk in the channel for a while until you have a specific question or want to share your view in a discussion. So just joining a channel is pretty non-committal. The channel is a bit quieter over the weekend and usually has some discussion going on during the day on weekdays.

Follow these instructions to build GNOME Shell on your system. This build process creates a directory with the code for several modules relevant to GNOME Shell, as well as the gnome-shell module itself.

Play around with GNOME Shell by running it and go over the Tour and Cheat Sheet pages to make sure you know about most features. The screenshots on the pages might look a little different from what you see because of the rapid development, but they are pretty accurate.

Go over the information and the links on the development page to learn about all the code components of the GNOME Shell. Try to make a simple change (like change a color for some component or change animation behavior) and restart the shell to see your change.

Go over the design document and the recent mockups linked to from this page to understand the design goals and the planned feature set. Join design "office hours" on IRC on Wednesdays 2-4pm EST to ask about design priorities or to share your ideas and mockups.

Select a bug report you want to create a patch for. A bug report can contain a bug or a feature request. You can also create your own bug report. In Bugzilla, the number next to "Total Bugs" links to all the open bugs and the number next to "GNOME-love bugs" links to the open bugs that are good for a beginner to start with. You can ask on IRC about what bug is a good one to start with when you are ready and we will think of something. It is generally expected that you would have a lot of questions when you are setting up or working on your first bugs, so don't hesitate to ask them!

In addition to IRC, there are other ways to keep up with the project, such as the mailing list, Identi.ca or Twitter, Bugzilla updates, and commit updates. You can browse or subscribe to them as you decide on your level of involvement in the project. Beyond the GNOME Shell project, Planet GNOME is an aggregator of blogs of people involved with GNOME in general and is a good place to find out what people are working on and what other projects are out there.

This page details how to create a translation for GNOME Shell. The process is pretty similar for creating a translation for other GNOME modules and you can get involved with contributing translations for other modules through your language translation team.