# Contributing to Thunderbird

- [Getting Started Contributing](https://developer.thunderbird.net/thunderbird-development/getting-started.md): New contributor guide on how to contribute in various ways to Thunderbird.
- [Setting Up A Build Environment](https://developer.thunderbird.net/thunderbird-development/setting-up-a-build-environment.md): This page has all the information you need to get your development environment set up and ready to hack on Thunderbird.
- [Building Thunderbird](https://developer.thunderbird.net/thunderbird-development/building-thunderbird.md): How to build and run Thunderbird.
- [Windows Build Prerequisites](https://developer.thunderbird.net/thunderbird-development/building-thunderbird/windows-build-prerequisites.md): This page has all the information you need to get your Windows development environment set up and ready to hack on Thunderbird.
- [Linux Build Prerequisites](https://developer.thunderbird.net/thunderbird-development/building-thunderbird/linux-build-prerequisites.md): This page has all the information you need to get your GNU/Linux development environment set up and ready to hack on Thunderbird.
- [macOS Build Prerequisites](https://developer.thunderbird.net/thunderbird-development/building-thunderbird/macos-build-prerequisites.md): This page has all the information you need to get your macOS development environment set up and ready to hack on Thunderbird.
- [Artifact Builds](https://developer.thunderbird.net/thunderbird-development/building-thunderbird/artifact-builds.md): … or, How To Build Without Building
- [Codebase Overview](https://developer.thunderbird.net/thunderbird-development/codebase-overview.md): A high-level look at the project's architecture and a guide to where to find things.
- [Account Configuration](https://developer.thunderbird.net/thunderbird-development/codebase-overview/account-configuration.md)
- [Address Book](https://developer.thunderbird.net/thunderbird-development/codebase-overview/address-book.md)
- [Chat Core](https://developer.thunderbird.net/thunderbird-development/codebase-overview/chat.md)
- [Notifications](https://developer.thunderbird.net/thunderbird-development/codebase-overview/chat/notifications.md)
- [Message Styles](https://developer.thunderbird.net/thunderbird-development/codebase-overview/chat/message-styles.md)
- [Keyboard shortcuts](https://developer.thunderbird.net/thunderbird-development/codebase-overview/chat/keyboard-shortcuts.md)
- [Chat Core Protocols](https://developer.thunderbird.net/thunderbird-development/codebase-overview/chat/chat-core-protocols.md)
- [Contacts](https://developer.thunderbird.net/thunderbird-development/codebase-overview/chat/contacts.md)
- [Mail Front-End](https://developer.thunderbird.net/thunderbird-development/codebase-overview/mail-front-end.md): A.K.A. the 3-pane tabs and message tabs/windows
- [Tutorials and Examples](https://developer.thunderbird.net/thunderbird-development/tutorials-and-examples.md): From Hello World to Thunder Live Development videos, get acquainted with the codebase and learn how to contribute to the Thunderbird project.
- [Hello World Example](https://developer.thunderbird.net/thunderbird-development/tutorials-and-examples/hello-world.md): How to make a "Hello World" prompt in Thunderbird.
- [Thunderbird Live Development Videos](https://developer.thunderbird.net/thunderbird-development/tutorials-and-examples/thunderbird-live-development-videos.md): Follow along with UX Architect Alessandro as he works on various parts of Thunderbird, fixing bugs, changing the UX/UI, and showing how to participate in Thunderbird's development.
- [Fixing a Bug](https://developer.thunderbird.net/thunderbird-development/fixing-a-bug.md): Tutorial on how to fix a bug from beginning to end.
- [Bug Triaging 101](https://developer.thunderbird.net/thunderbird-development/fixing-a-bug/bug-triaging.md): Tutorial on how to dive into triaging bugs.
- [Bug Status Classicification](https://developer.thunderbird.net/thunderbird-development/fixing-a-bug/bug-triaging/bug-status-classification.md)
- [Bug Types](https://developer.thunderbird.net/thunderbird-development/fixing-a-bug/bug-triaging/bug-types.md)
- [Garbage Collection](https://developer.thunderbird.net/thunderbird-development/fixing-a-bug/bug-triaging/garbage-collection.md)
- [Narrow the Scope](https://developer.thunderbird.net/thunderbird-development/fixing-a-bug/bug-triaging/narrow-the-scope.md)
- [Using Mercurial Bookmarks](https://developer.thunderbird.net/thunderbird-development/fixing-a-bug/using-mercurial-bookmarks.md): Tutorial on how to use Mercurial bookmarks.
- [Using Mercurial Queues](https://developer.thunderbird.net/thunderbird-development/fixing-a-bug/using-mercurial-queues.md): Tutorial on how to activate and use Mercurial Queues.
- [Lint and Format Code](https://developer.thunderbird.net/thunderbird-development/fixing-a-bug/lint-and-format-code.md): How to lint and format code.
- [Using ESLint to Format Javascript Code](https://developer.thunderbird.net/thunderbird-development/fixing-a-bug/using-eslint.md): Using ESLint to Format Javascript Code
- [Try Server](https://developer.thunderbird.net/thunderbird-development/fixing-a-bug/try-server.md)
- [Landing a Patch](https://developer.thunderbird.net/thunderbird-development/fixing-a-bug/landing-a-patch.md): Tutorial on how to push approved and reviewed patches to the production server
- [Care and Feeding of the Tree](https://developer.thunderbird.net/thunderbird-development/fixing-a-bug/care-and-feeding-of-the-tree.md)
- [Testing](https://developer.thunderbird.net/thunderbird-development/testing.md)
- [Running Tests](https://developer.thunderbird.net/thunderbird-development/testing/running-tests.md): How to run Thunderbird's automated tests.
- [Adding Tests](https://developer.thunderbird.net/thunderbird-development/testing/adding-tests.md): How to add your own tests for Thunderbird.
- [Writing Mochitest Tests](https://developer.thunderbird.net/thunderbird-development/testing/writing-mochitest-tests.md): Tips on writing Mochitest tests for Thunderbird.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.thunderbird.net/thunderbird-development.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
