A pebble watchapp for launching Tasker tasks. It allows users to define a list of tasks that then show up on a watch and can be remotely activated. Tasks can also be put into sub-folders for better organisation.
Main goal of this app is speed. It syncs data to the watch, rather than streaming it. Consequently, lists are available immediately upon opening, there is no need to wait for the data to come from the phone:
Note: Core/Pebble app is only supported from its version 1.0.7.7 onwards
To contribute to this project:
- Install Git LFS
- Checkout
main - Pull submodules
git submodule update --init --recursive - Run
git lfs fetchin the repo - Create a new branch for your contribution
- Commit your work. While commiting, use conventional commits. Scope tag should be the name of the module you are updating.
- Try to avoid breaking changes, but if they cannot be avoided, you must put
BREAKING CHANGEin the footer of the commit mesasage and explain the change. - Create a merge request
- After your PR is merged, new release will be generated automatically every day
Process for updating all library versions::
- Update Gradle version
- Find latest version and the checksum for -all version from https://gradle.org/release-checksums/ (We use SHA to secure against wrapper attack, see https://blog.gradle.org/wrapper-attack-report)
- Run
./gradlew wrapper --gradle-version VERSION --gradle-distribution-sha256-sum SHA, where you substituteVERSIONandSHAwith the info found in the previous step.
- Open
libs.tomlfile and check if any versions marked with@pinhave been unblocked and can now be updated - Run
./gradlew versionCatalogUpdate. - Sync the project, build the app and run all tests to make sure everything still works.
- Run
detektDebuggradle task to find any new deprecated code - For any new deprecated code found by the search:
- If the fix is trivial, fix it immediately as part of the update commit
- Otherwise, make a tech debt ticket and add a @Suppress with the ticket number (and/or discuss with the team how to address it)
To easily add new modules, first enable project templates (you only need to do this once). Open Android Studio's Settings, go to "File and Code Templates" and set Scheme to "Project".
Then, to create a new module:
- Right click on the root in the project window, select New and then the project type you want

- Add module to
settings.gradle.kts - Add module to app's
build.gradle.ktsasimplementation(projects.newModule)) - Remove leading space from all generated
.gitignorefiles (workaround for the https://youtrack.jetbrains.com/issue/IJPL-2568)
Every feature should contain following modules:
feature-namedata- data module with all non-UI logic (such as repositories). No otherdataoruimodule should depend on this (except for tests).api- interfaces and data models exposed to other modules. This module should generally contain no logic to speed up builds.ui- Module containing feature's ui (Screens / Fragments / ViewModels). No otherdataoruimodule should depend on this (except for tests).test(optional) - Module containing test helpers for faking stuff exposed in theapimodule
If your module contains instrumented tests, you must enable them with the following call:
custom {
enableEmulatorTests.set(true)
}./gradlew :app:connectedAndroidTest -PtestAppWithProguard
To create screenshot tests for your compose screen:
- Make preview functions public
- Add
showkaseplugin to the module of the screen you want to test - Add
@ShowkaseComposable(group = "Test")annotation to the preview of the screen you want to test



