> For the complete documentation index, see [llms.txt](https://docs.lawnchair.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.lawnchair.app/developers/architecture/project-overview.md).

# Project overview

## Lawnchair and Launcher3

Lawnchair is a fork of [Launcher3](https://cs.android.com/android/platform/superproject/main/+/main:packages/apps/Launcher3/), the default home screen application in the Android Open Source Project (AOSP). Lawnchair is built upon the same codebase used for the stock Android launcher.

Launcher3 is designed as a core component of the Android operating system. This distinction influences its architecture:

* AOSP components prioritize stability, performance, and resource management across diverse hardware and Android versions.
* Lawnchair inherits design philosophies and legacy structures directly from AOSP. These patterns often differ from Modern Android Development (MAD) practices used in standalone applications.

### Characteristics inherited from AOSP

Lawnchair inherits several characteristics from its AOSP foundation:

* Deep system integration for features like the Recents screen (Quickstep) and gesture navigation.
* Core AOSP features are generally responsive; Lawnchair-specific features and areas being refactored may be less fluid.
* Platform-level optimizations to maintain a minimal resource footprint.
* Error handling that helps limit the impact of system-wide failures.

See [AOSP design patterns](/developers/architecture/aosp-design-patterns.md), [Lawnchair design patterns](/developers/architecture/lawnchair-design-patterns.md), and the [glossary](/developers/architecture/glossary.md) for more about the codebase.

### Project structure

Lawnchair is composed of multiple Gradle modules. The most important ones are listed below:

* `lawnchair`
  * Contains Lawnchair-specific code and UI. Generally, most changes should be done here.
* `src`
  * Contains the core code of Launcher3 with modifications.
* `quickstep`
  * Contains the implementation of QuickStep, which enables Recents integration
* [`platforms/frameworks/libs/systemui`](https://github.com/LawnchairLauncher/platform_frameworks_libs_systemui)
  * Contains multiple libraries in SystemUI used by Lawnchair. See the linked repository for further information.

### Code quality and testing

Lawnchair prioritizes feature availability and user-facing stability.

The project currently has no unit or automated UI tests. Contributors and maintainers verify changes manually, with additional feedback from GitHub issues and Nightly build testers.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.lawnchair.app/developers/architecture/project-overview.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
