diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml
index a03fe6f5dc..870d9f5fda 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yaml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yaml
@@ -12,7 +12,7 @@ body:
Thanks for taking the time to file this issue! Here are a few things to do before submitting:
1. Use the [**latest nightly version**](https://github.com/LawnchairLauncher/lawnchair#development-builds) when reporting bugs.
- 2. [**Read the FAQ**](https://lawnchair.app/faq/#common-issues) for common issues; if it is, please don't create an issue about it.
+ 2. [**Read our documentation**](https://docs.lawnchair.app/) for common issues; if it is, please don't create an issue about it.
3. Search **both [open and closed issues](https://github.com/LawnchairLauncher/lawnchair/issues?q=is%3Aissue+sort%3Aupdated-desc+)** for your bug.
- type: textarea
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml
index ce8d7329d7..5b5c2b829e 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.yaml
+++ b/.github/ISSUE_TEMPLATE/feature_request.yaml
@@ -11,7 +11,7 @@ body:
Thanks for taking the time to file this issue! Here are a few things to do before submitting:
1. Use the [**latest nightly version**](https://github.com/LawnchairLauncher/lawnchair#development-builds) when requesting.
- 2. [**Read the FAQ**](https://lawnchair.app/faq) to check if your request is already planned by the developers.
+ 2. [**Read the docs**](https://docs.lawnchair.app/) to check if your request is already planned by the developers.
3. Search **both [open and closed issues](https://github.com/LawnchairLauncher/lawnchair/issues?q=is%3Aissue+sort%3Aupdated-desc+)** for your feature request.
Please keep in mind that **we may not always implement this feature request**.
@@ -37,8 +37,7 @@ body:
attributes:
label: Did the feature exist in Lawnchair Legacy?
description: |
- See [this FAQ page](https://lawnchair.app/faq/#what-happened-to-lawnchair-legacy) for more info about Lawnchair Legacy, previously
- known as Lawnchair 2.
+ See [this documentation page](https://docs.lawnchair.app/community/about/project-history#what-happened-to-lawnchair-legacy) for more info about Lawnchair Legacy, previously known as Lawnchair 2.
options:
- "Yes"
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 230828e36b..5602075604 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,154 +1,32 @@
-# Lawnchair contributing guidelines
+# Contributing to Lawnchair
-
-
-
-
-
+Thank you for your interest in contributing to the Lawnchair project. This document provides general reminders and directs you to our official, living documentation hub at [docs.lawnchair.app](https://docs.lawnchair.app).
-Welcome to the **Lawnchair** project. We appreciate your interest in contributing. If you have
-questions,
-feel free to reach out on [Telegram][telegram] or [Discord][discord].
+## General reminders
-## No-code contributions
+Before participating in any area of the project, please keep these core guidelines in mind:
-- For **[bug reports][bug-reports]**, please be as detailed as possible and provide clear steps to
- reproduce the issue.
-- For **[feature requests][feature-requests]**, clearly describe the feature and its potential
- benefits.
-- For security vulnerabilities, follow the instructions in our [Security Policy][security-policy]
-- For translations, visit **[Lawnchair on Crowdin][crowdin]**.
-- For documentation, follow
- the [developer documentation style guide](https://developers.google.com/style) of Google.
+* Adhere to our [Code of Conduct](CODE_OF_CONDUCT.md) during all interactions.
+* Always search our [GitHub issue tracker](https://github.com/LawnchairLauncher/lawnchair/issues) to see if a bug has already been reported or a feature requested before opening a new issue.
+* Avoid using the issue tracker for personal support. If you need help, please visit our [community channels](https://docs.lawnchair.app/project-and-community/get-involved/community-channels) on Telegram or Discord.
-**Tips for contributing**
+### Contributing non-code
-- Follow our [Code of Conduct][code-of-conduct].
-- Use Lawnchair's [Nightly builds][nightly] before creating issues.
+You do not need to write code to make a significant impact on Lawnchair. We welcome and encourage several forms of non-code contributions:
-## Contributing code
+* You can help make Lawnchair accessible to a global audience by contributing translations through [Lawnchair on Crowdin](https://lawnchair.crowdin.com/lawnchair).
+* You can help make development sustainable by [donating to the project](https://opencollective.com/lawnchair/).
+* You can help maintain a clean and effective issue tracker by joining our [triaging issues](https://docs.lawnchair.app/community/get-involved/triage-issues).
+* You can help keep our documentation accurate and clear by contributing directly to our [documentation files](https://docs.lawnchair.app/community/get-involved/writing-documentation).
-### Getting started
+### Contributing code
-1. Clone the repository with the `--recursive` flag to include the project's submodules:
- ```bash
- git clone --recursive https://github.com/LawnchairLauncher/lawnchair.git
- ```
-2. Open the project in Android Studio.
-3. Select the `lawnWithQuickstepGithubDebug` build variant.
+Lawnchair is built on a highly complex, AOSP-derived foundation. Because of this, direct code contribution is challenging and may not be suitable for beginners.
-If you encounter errors with modules that end with the `lib` suffix, such as `iconloaderlib` or
-`searchuilib`, run `git submodule update --init --recursive`.
+Before setting up your environment or writing any code, please read our [onboarding preface](https://docs.lawnchair.app/developers) to understand the unique challenges of this codebase.
-Here are some contribution tips to help you get started:
+If you are ready to write code, refer to [our official developer guides](https://docs.lawnchair.app/developers) on our documentation site:
-- Ensure you are up to date with **Lawnchair** by setting your base branch to `16-dev`.
-- Make sure your code is logical and formatted correctly. For Kotlin, see
- the [Kotlin coding conventions][kotlin-coding-conventions].
-- [The `lawnchair` package][lawnchair-package] houses Lawnchair’s own code, whereas [the
- `src` package][src-package] includes a clone of the Launcher3 codebase with modifications.
- Generally, place new files in the former and keep changes to the latter to a minimum.
-
-### Additional documentation
-
-- [Roadmap](ROADMAP.md)
-- [Wiki](https://github.com/LawnchairLauncher/lawnchair/wiki)
-- [Visual guidelines](/docs/assets/README.md)
-- [`compatLib` module](compatLib/README.md)
-- [`preferences` directory](lawnchair/src/app/lawnchair/ui/preferences/components/README.md)
-- [`libs/systemui` framework module](platform_frameworks_libs_systemui/README.md)
-- [`packages/SystemUI` app](systemUI/README.md)
-- [Prebuilt libraries](prebuilts/libs/README.md)
-
-### Development workflow
-
-We use a tiered workflow to balance development speed with stability. The process for merging a
-change depends on its complexity and risk. All PRs should target the `16-dev` branch.
-
-| Tier | Definition | Examples | Protocol |
-|-----------------------------|-------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| Trivial changes | Changes with zero risk of functional regression. | Fixing typos in comments or UI text (`docs`, `fix`), simple code style fixes (`style`). | Commit **directly** to the active branch. |
-| Simple, self-contained work | Changes that are functionally isolated and have a very low risk of side effects. | Most single-file bug fixes, minor UX polish (padding, colors). | 1. Create a Pull Request. 2. Assign a reviewer. 3. Enable **"Auto-merge"** on the PR. It will merge automatically after CI passes and a reviewer approves. |
-| Medium complexity features | New features or changes that affect multiple components but are not deeply architectural. | A new settings screen, a new drawer search provider | 1. Create a detailed Pull Request. 2. Assign the core team for review. |
-| Major architectural changes | High-risk, complex changes that affect the core foundation of the app. | Android version rebase | 1. Create a very detailed Pull Request. 2. **Mandatory Review:** You **must** wait for at least one formal approval from a key team member before merging. The "Merge on Silence" rule does not apply. |
-
-### Commit message convention
-
-We follow the **[Conventional Commits specification][conventional-commits]**.
-
-* **Format:** `type(scope): subject`
-* **Example:** `feat(settings): Add toggle for new feature`
-* **Allowed types:** `feat`, `fix`, `style`, `refactor`, `perf`, `docs`, `test`, `chore`.
-
-### Versioning scheme
-
-Lawnchair’s version code is composed of five parts, separated by underscores:
-
-
-
-
-
-
-
-
-
-1. Android major version
-2. Android minor version
-3. Lawnchair development stage
-4. Lawnchair development version
-5. Revision/Release number
-
-#### Lawnchair development stages
-
-The following table lists the development stages used by Lawnchair:
-
-| Stage | Denote |
-|-------------------|--------|
-| Development | 00 |
-| Alpha | 01 |
-| Beta | 02 |
-| Release Candidate | 03 |
-| Release | 04 |
-
-### `strings.xml` naming
-
-String `name` attributes in `strings.xml` should follow this format:
-
-| Type | Format | Example usage | Actual string | Other information |
-|--------------------------------------------------|-------------------|----------------------------|----------------------|----------------------------------------------------------------------------------------------------|
-| Generic word | $1 | `disagree_or_agree` | Disagree or agree | Should only be used if it doesn't fit the categories below. |
-| Action | $1_action | `apply_action` | Apply | Any generic action verb fits here. |
-| Preference or popup label Preference headers | $1_label | `folders_label` | Folders | |
-| Preference or popup description | $1_description | `folders_description` | Row and column count | |
-| Preference choice | $1_choice | `off_choice` | Off | |
-| Feature string | (feature_name)_$1 | `colorpicker_hsb` | HSB | Feature strings are confined to a specific feature. Examples include the gesture and color picker. |
-| Launcher string | $1_launcher | `device_contacts_launcher` | Contacts from device | Strings that are specific to the Launcher area. |
-
-### Updating the locally stored Google Fonts listing
-
-Lawnchair uses a locally stored JSON file (`google_fonts.json`) to list available fonts from Google
-Fonts. This file should be updated periodically or before a release.
-
-To update the font listing, follow these steps:
-
-1. Obtain a [Google Fonts Developer API key][google-fonts-api-key].
-2. Download the JSON file from `https://www.googleapis.com/webfonts/v1/webfonts?key=API_KEY`,
- replacing `API_KEY` with your key.
-3. Replace the content of [`google_fonts.json`](lawnchair/assets/google_fonts.json) with the API
- response.
-
-
-[telegram]: https://t.me/lccommunity
-[discord]: https://discord.com/invite/3x8qNWxgGZ
-[nightly]: https://github.com/LawnchairLauncher/lawnchair/releases/tag/nightly
-[security-report]: https://github.com/LawnchairLauncher/lawnchair/security/advisories/new
-[security-policy]: https://github.com/LawnchairLauncher/lawnchair/security/policy
-[bug-reports]: https://github.com/LawnchairLauncher/lawnchair/issues/new?assignees=&labels=bug&projects=&template=bug_report.yaml&title=%5BBUG%5D+
-[feature-requests]: https://github.com/LawnchairLauncher/lawnchair/issues/new?assignees=&labels=feature%2Cenhancement&projects=&template=feature_request.yaml&title=%5BFEATURE%5D+
-[code-of-conduct]: CODE_OF_CONDUCT.md
-[crowdin]: https://lawnchair.crowdin.com
-[kotlin-coding-conventions]: https://kotlinlang.org/docs/coding-conventions.html
-[lawnchair-package]: https://github.com/LawnchairLauncher/lawnchair/tree/16-dev/lawnchair
-[src-package]: https://github.com/LawnchairLauncher/lawnchair/tree/16-dev/src
-[conventional-commits]: https://www.conventionalcommits.org/en/v1.0.0/
-[google-fonts-api-key]: https://developers.google.com/fonts/docs/developer_api#APIKey
+* [Setup your build environment](https://docs.lawnchair.app/developers/introduction/get-started)
+* [Understand our development workflow](https://docs.lawnchair.app/developers/standards/development-workflow)
+* [Follow code standards](https://docs.lawnchair.app/developer-guide/standards/coding-standards)
\ No newline at end of file
diff --git a/README.md b/README.md
index f705bd6ce6..3e451e3f79 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@
> This branch contains major changes from the rebase of Launcher3, including changes that can cause
> Lawnchair to crash or break.
>
-> For regular users, we recommend staying on **Lawnchair 15 Beta 3**.
+> For regular users, we recommend staying on *Lawnchair 15 Beta 3*.
@@ -31,8 +31,7 @@ This branch houses the codebase of Lawnchair 16, which is currently in developme
## Features
- Material 3 Expressive theming that follows your wallpaper and system colors.
-- At a Glance widget support, with integration
- for [Smartspacer](https://github.com/KieronQuinn/Smartspacer).
+- At a Glance widget support, with integration for [Smartspacer](https://github.com/KieronQuinn/Smartspacer).
- QuickSwitch support for Android Recents integration on Android 10-15 (root required).
- Global search for apps, contacts, and web results from the home screen.
- Customization options for icon packs, fonts, and color settings.
@@ -67,28 +66,27 @@ This branch houses the codebase of Lawnchair 16, which is currently in developme
-Lawnchair on Play Store will install as a different app from other sources. Features may be restricted to comply with Google Play's publishing rules.
+Lawnchair on Play Store will install as a different app compared to other sources. Features may be restricted to comply with Google Play’s publishing rules.
-You can also [verify your installation](VERIFICATION.md) to see if you have installed an official build.
+You can also [verify your installation](https://docs.lawnchair.app/getting-started/install-and-setup/verify) to check if you have installed an official build.
### Development builds
Interested in keeping yourself up-to-date with every Lawnchair development? Try our development builds!
-These builds offer the latest features and bug fixes at a cost of performance and additional issues.
-Make backups before installing.
+These builds offer the latest features and bug fixes at a cost of performance and additional issues. Make backups before installing.
-**Download:** [Obtainium][Obtainium link] • [GitHub][GitHub link] • [nightly.link][Nightly link]
+Download: [Obtainium][Obtainium link] • [GitHub][GitHub link] • [nightly.link][Nightly link]
-## Contributing
+## Contribute
Visit the [Lawnchair contributing guidelines](CONTRIBUTING.md) for information and tips on contributing to Lawnchair.
-## Supporting Lawnchair
+## Support Lawnchair
If you love what we do, consider [supporting us on Open Collective](https://opencollective.com/lawnchair)! Your contributions help keep Lawnchair independent and enable us to develop faster.
-A huge thank you to our **Core Backers ($5+)**:
+A huge thank you to our Core Backers ($5+):
*(These backers directly fund our Project Velocity Fund)*
[](https://opencollective.com/lawnchair)
@@ -97,16 +95,14 @@ A huge thank you to our **Core Backers ($5+)**:
## Quick links
-- [Website](https://lawnchair.app)
-- [Support](https://lawnchair.app/support)
-- [News on Telegram](https://t.me/lawnchairci)
-- [Discord](https://discord.com/invite/3x8qNWxgGZ)
-- [X (formerly Twitter)](https://x.com/lawnchairapp)
-- [_XDA_ thread](https://xdaforums.com/t/lawnchair-customizable-pixel-launcher.3627137/)
+- [Website](https://lawnchair.app)
+- [Documentation](https://docs.lawnchair.app/)
+- [News on Telegram](https://t.me/lawnchairci)
+- [Discord](https://discord.com/invite/3x8qNWxgGZ)
+- [X (formerly Twitter)](https://x.com/lawnchairapp)
+- [_XDA_ thread](https://xdaforums.com/t/lawnchair-customizable-pixel-launcher.3627137/)
-View all our links in the [Lawnchair Wiki](https://github.com/LawnchairLauncher/lawnchair/wiki).
-
-
+
[Nightly link]: https://nightly.link/LawnchairLauncher/lawnchair/workflows/ci/15-dev
[Obtainium link]: https://apps.obtainium.imranr.dev/redirect?r=obtainium://app/%7B%22id%22%3A%22app.lawnchair.nightly%22%2C%22url%22%3A%22https%3A%2F%2Fgithub.com%2Flawnchairlauncher%2Flawnchair%22%2C%22author%22%3A%22Lawnchair%20Launcher%22%2C%22name%22%3A%22Lawnchair%20(Debug)%22%2C%22preferredApkIndex%22%3A0%2C%22additionalSettings%22%3A%22%7B%5C%22includePrereleases%5C%22%3Atrue%2C%5C%22fallbackToOlderReleases%5C%22%3Afalse%2C%5C%22filterReleaseTitlesByRegEx%5C%22%3A%5C%22Lawnchair%20Nightly%5C%22%2C%5C%22filterReleaseNotesByRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22verifyLatestTag%5C%22%3Afalse%2C%5C%22dontSortReleasesList%5C%22%3Afalse%2C%5C%22useLatestAssetDateAsReleaseDate%5C%22%3Afalse%2C%5C%22trackOnly%5C%22%3Afalse%2C%5C%22versionExtractionRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22matchGroupToUse%5C%22%3A%5C%22%5C%22%2C%5C%22versionDetection%5C%22%3Afalse%2C%5C%22releaseDateAsVersion%5C%22%3Atrue%2C%5C%22useVersionCodeAsOSVersion%5C%22%3Afalse%2C%5C%22apkFilterRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22invertAPKFilter%5C%22%3Afalse%2C%5C%22autoApkFilterByArch%5C%22%3Atrue%2C%5C%22appName%5C%22%3A%5C%22%5C%22%2C%5C%22shizukuPretendToBeGooglePlay%5C%22%3Afalse%2C%5C%22exemptFromBackgroundUpdates%5C%22%3Afalse%2C%5C%22skipUpdateNotifications%5C%22%3Afalse%2C%5C%22about%5C%22%3A%5C%22Lawnchair%20is%20a%20free%2C%20open-source%20home%20app%20for%20Android.%20(NOTE%3A%20This%20is%20the%20debug%20version%20of%20Lawnchair%2C%20for%20the%20beta%2Fstable%20versions%20see%20%5C%5C%5C%22Lawnchair%5C%5C%5C%22)%5C%22%7D%22%7D
[GitHub link]: https://github.com/LawnchairLauncher/lawnchair/releases/tag/nightly
diff --git a/ROADMAP.md b/ROADMAP.md
deleted file mode 100644
index 40f5a4d369..0000000000
--- a/ROADMAP.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Lawnchair development roadmap
-
-For the status of individual tasks, see
-our [GitHub Issue Tracker](https://github.com/LawnchairLauncher/lawnchair/issues)
-
-## Vision
-
-Lawnchair's goal is to be:
-
-* **Simple:** Match the core Pixel Launcher experience.
-* **Powerful:** Offer deep, meaningful customization.
-* **Stable:** Provide a rock-solid, reliable foundation.
-
-## Roadmap
-
-See the pinned issues for details of our current roadmap.
diff --git a/SECURITY.md b/SECURITY.md
index c29af3c5dd..d6ab0212ca 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -1,10 +1,9 @@
-# Security Policy
+# Security policy
-## Supported Versions
+## Supported versions
> [!WARNING]
> [Lawnchair Legacy](https://play.google.com/store/apps/details?id=ch.deletescape.lawnchair.plah) is **unsupported**. Use the newer versions instead.
-> See [this FAQ page](https://lawnchair.app/faq/#what-happened-to-lawnchair-legacy) for additional information.
The latest version of Lawnchair is the only supported version.
@@ -20,13 +19,11 @@ The latest version of Lawnchair is the only supported version.
| 11 | :x: |
| Older (Legacy) | :x: |
-## Reporting Security issues
+## Reporting security issues
We appreciate your efforts to responsibly disclose your findings and will make every effort to
acknowledge your contributions.
-To report an issue, please file a [security advisory](https://github.com/LawnchairLauncher/lawnchair/security/advisories/new)
-or contact a developer (can be found in the about page of the app) in [Telegram](https://t.me/lccommunity) or [Discord](https://discord.com/invite/3x8qNWxgGZ) and
-state your security vulnerability starting with the words "**SECURITY**"
+To report an issue, please file a [security advisory on GitHub](https://github.com/LawnchairLauncher/lawnchair/security/advisories/new).
We'll endeavor to respond quickly, and will keep you updated throughout the process.
diff --git a/VERIFICATION.md b/VERIFICATION.md
deleted file mode 100644
index 9e00360997..0000000000
--- a/VERIFICATION.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Verifying your Lawnchair installation
-
-Lawnchair's APKs are cryptographically signed and can be verified using two systems:
-
-1. GitHub / SLSA attestations (Starting with Lawnchair 15 Beta 1)
-2. SHA-256 Android app certificate fingerprints
-
-## SLSA attestation
-
-Every Lawnchair release, starting with Lawnchair 15 Beta 1 (except Nightly builds), is attested and
-verified with SLSA provenance.
-This repository meets the requirements for SLSA Level 2 compliance.
-
-> [!NOTE]
-> You can verify without using the GitHub CLI by cross-referencing checks from
-> [GitHub Attestations][github-attestation] with [Sigstore Rekor][sigstore-rekor].
-
-1. Install the [GitHub CLI](https://cli.github.com/).
-2. Download the APK and its attestation from [GitHub Attestations][github-attestation].
-3. Run `gh attestation verify {APK} -R LawnchairLauncher/lawnchair`, replacing `{APK}` with the path
- to the downloaded APK file.
-
-## Android App Certificate
-
-Lawnchair uses two app certificates, which can be verified by tools such
-as [AppVerifier][3p-appverifier]:
-
-* **Google Play**:
- `47:AC:92:63:1C:60:35:13:CC:8D:26:DD:9C:FF:E0:71:9A:8B:36:55:44:DC:CE:C2:09:58:24:EC:25:61:20:A7`
-* **Direct Downloads (Elsewhere)**:
- `74:7C:36:45:B3:57:25:8B:2E:23:E8:51:E5:3C:96:74:7F:E0:AD:D0:07:E5:BA:2C:D9:7E:8C:85:57:2E:4D:C5`
-
-[github-attestation]: https://github.com/LawnchairLauncher/lawnchair/attestations
-[sigstore-rekor]: https://search.sigstore.dev/
-[3p-appverifier]: https://github.com/soupslurpr/AppVerifier
diff --git a/docs/assets/README.md b/docs/assets/README.md
deleted file mode 100644
index d9f70166a3..0000000000
--- a/docs/assets/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Lawnchair assets guidelines
-
-This directory lists all the decoration & visual explainers used in the Lawnchair Documentation.
-
-All assets created should use Material 3 design with `#47B84F` as source color, and
-the [Inter](https://fonts.google.com/specimen/Inter) ([OFL v1.1](https://github.com/rsms/inter/?tab=OFL-1.1-1-ov-file#readme))
-typography.
-
-Visit the [Material 3 theme builder][material-theme-builder] for more information on color.
-
-## Device mockup
-
-When creating device mockups for Lawnchair, make sure the latest stable commits of Lawnchair is use
-as base. All wallpapers, fonts and icon packs are allowed as long as they're free-to-use
-under a permissive license like the licenses from Creative-Common. Using vanilla out-of-the-box
-experience is recommended because they show the user what to expect from Lawnchair Launcher when
-they first use it.
-
-[material-theme-builder]: https://material-foundation.github.io/material-theme-builder/?primary=%2347B84F&bodyFont=Inter&displayFont=Inter&colorMatch=false
diff --git a/docs/assets/version-dark.svg b/docs/assets/version-dark.svg
deleted file mode 100644
index 151bbe84dd..0000000000
--- a/docs/assets/version-dark.svg
+++ /dev/null
@@ -1,32 +0,0 @@
-
diff --git a/docs/assets/version-light.svg b/docs/assets/version-light.svg
deleted file mode 100644
index 67fad3cbf2..0000000000
--- a/docs/assets/version-light.svg
+++ /dev/null
@@ -1,32 +0,0 @@
-