CodeAssist is an IDE running on Android devices that builds Android/Java projects without a Gradle daemon, offering completion, block editing, and on-device Git.
- v3.33.0
- Published at
- 2d ago
- 2,073
- Stars
- 3,599
- Download
- Synced at
- 1d ago
Latest release
v3.33.0Oct 26, 2026, 09:47 PMREADME
Project Overview
Writing Android apps on a phone usually stalls on two things: Gradle is too heavy and the toolchain refuses to run. CodeAssist rebuilds the whole stack instead: projects are declarative models compiled into an incremental task DAG with fingerprint up-to-date checks and a persistent cache, driving aapt2, D8/R8, and apksigner directly with no Gradle daemon. Java completion runs on Eclipse JDT, Kotlin completion is beta, and the UI ships as Compose Multiplatform with desktop and Android launchers. The regression suite passes 2,170 tests, with Java completion quality at 100% recall and 75% top-1.
A real IDE in your pocket, from completion to signed installs.
| Item | Value |
|---|---|
| Platform | Android (ART) + desktop launcher |
| Stack | Kotlin, 60 layered modules, Compose Multiplatform UI |
| License | GPL-3.0-or-later, plugin SPI adds Classpath-exception-2.0 |
| Testing | 2,170 passing tests across 386 suites |
| Build | Gradle wrapper + JDK 17+ |
Core Capabilities
- Java intelligence: Eclipse JDT error-tolerant parsing, ranked completion, diagnostics, and quick fixes at 2.8–4.3 ms per keystroke
- Kotlin completion (beta): full on-device Kotlin completion tuned to Java's ranked experience
- Block editing: any Java file projects into a Scratch-style typed block tree, writing back the smallest possible edit with comments intact
- Android XML assist: tag, attribute, and resource completion for layouts and manifests with live validation
- Real APK builds on device: resolve, compile, dex, package, sign, and install without a laptop
- Git on device: JGit-powered stage, commit, branch, merge, stash, and push, with GitHub sign-in for private clones and PRs
- Extension everywhere: module types, build systems, language backends, analyzers, and quick fixes all plug in via SPI
Engineering Layout
- Layered deps: platform → lang → build-system → run → android → services → plugins → app, pointing downward only
- Flat paths: the Kotlin editor backend is :lang-kotlin despite living at lang/lang-kotlin, mapped only in settings.gradle.kts
- Transactional mutation: stage on a Transaction then commit, with long tasks as suspend under read/write locks
Quick Start
- Install the Android launcher from Releases, or run ./gradlew :ide-desktop:run on desktop
- Create or clone a project, writing code with completion and block editing
- Hit build to produce, sign, and install an APK on the device itself
- For CI use the headless codeassist launcher and the official GitHub Action
Build & Test
- Core framework only: CI_CORE_ONLY=true ./gradlew check, pure JVM with no Android SDK
- Full build: ./gradlew build needs the Android SDK
- Regression baselines: regressionTest tasks check committed JSON baselines, failing CI on quality regressions
Notes
- Plugin license exception: SPI modules like plugin-api and platform-core carry Classpath-exception-2.0, letting plugins ship under any license
- Metric caveats: latency numbers come from the maintainer's machine and are indicative, quality metrics are deterministic
- Conventions: IDs use @JvmInline value classes, open sets are string-backed value classes and closed sets are enums