Skip to main content

CLI API Reference

Full reference for every jetstart command. For usage examples and workflows, see the individual command pages under CLI.


jetstart create​

Scaffold a new Android/Compose project.

jetstart create <n> [options]
OptionTypeDefaultDescription
<n>string—Project directory name
-p, --package <n>stringpromptedAndroid package name (com.example.app)
-t, --template <n>stringdefaultProject template
--full-installbooleanfalseNon-interactive: auto-install all missing deps

jetstart dev​

Start the development server with hot reload.

jetstart dev [options]
OptionTypeDefaultDescription
-p, --port <port>number8765HTTP server port
-H, --host <host>stringauto-detected LAN IPHost for QR code and client connections
--qr / --no-qrbooleantrueShow QR code in terminal
--open / --no-openbooleantrueOpen browser automatically
--webbooleanfalseAuto-open web emulator in browser
--emulatorbooleanfalseDeploy to a running AVD on first build, then hot reload
--avd <n>string—Target a specific AVD by name (requires --emulator)

Ports always used:

PortService
8765HTTP (REST API, APK download, web emulator redirect)
8766WebSocket (device Γåö core real-time comms)
8767Logs WebSocket server

QR code format (compact pipe-separated):

host|port|wsPort|sessionId|token|projectName

jetstart build​

Build an APK or AAB via Gradle.

jetstart build [options]
OptionTypeDefaultDescription
-o, --output <path>string./buildOutput directory
-r, --releasebooleanfalseRelease build — R8, debuggable=false, dev credentials stripped from BuildConfig
--signbooleanfalseSign with keystore.properties in project root
--self-signbooleanfalseAuto-generate a test keystore via keytool and sign
--bundlebooleanfalseBuild AAB instead of APK
--flavor <n>string—Build a specific product flavor

keystore.properties format (required for --sign):

storeFile=path/to/release.jks
storePassword=your-store-password
keyAlias=your-key-alias
keyPassword=your-key-password

Release security hardening (applied automatically when --release is used):

  • Dev-server URL and session token cleared from BuildConfig
  • build.gradle restored to original content after build (even on failure)
  • debuggable=false enforced by the release Gradle variant
  • R8 minification and resource shrinking enabled

jetstart logs​

Connect to the Logs server and stream device logs to the terminal.

jetstart logs [options]
OptionTypeDefaultDescription
-f, --followbooleantrueStream live updates
-l, --level <level>stringallExact log level filter: verbose, debug, info, warn, error, fatal (exact match only — info shows only INFO, not WARN/ERROR)
-s, --source <source>stringallFilter by source: cli, core, client, build, network, system
-n, --lines <n>number100Historical lines to replay on connect

Connects to ws://localhost:8767. Requires jetstart dev to be running.


jetstart install-audit​

Check the development environment for all required dependencies.

jetstart install-audit [options]
OptionTypeDefaultDescription
--jsonbooleanfalseOutput results as JSON (for CI/CD)

Checks performed:

  • Node.js ΓëÑ 18.0.0
  • npm ΓëÑ 9.0.0
  • Java/JDK ΓëÑ 17.0.0
  • Gradle ΓëÑ 8.0.0
  • ANDROID_HOME / ANDROID_SDK_ROOT set and valid
  • Android SDK components: platform-tools, build-tools, platforms;android-34
  • KOTLIN_HOME (for hot reload pipeline)

jetstart android-emulator​

Interactive AVD manager — no subcommands or flags.

jetstart android-emulator

Opens a menu to:

  • List existing AVDs with running/stopped status
  • Start / stop an AVD
  • Create a JetStart-optimized AVD (Pixel 7, API 34, x86_64, 2 GB RAM)
  • Create a custom AVD (choose device, API level, ABI)
  • Delete an AVD

jetstart clean​

Stop Gradle daemons, release all file locks, and optionally delete the project folder. Run from inside the project or pass the path from anywhere.

jetstart clean [path] [options]
OptionTypeDefaultDescription
[path]stringcwdPath to the project folder (optional — defaults to current directory)
--buildbooleanfalseAlso delete app/build/ to free disk space (next build will be slower)
--daemons-onlybooleanfalseOnly stop Gradle daemons, skip cache removal
--deletebooleanfalseDelete the project folder itself after releasing all locks

Examples:

# From inside the project
cd my-app
jetstart clean

# From the parent directory (no need to cd in)
jetstart clean my-app

# Clean and delete the folder in one step
jetstart clean my-app --delete

# Also remove build output (saves disk space)
jetstart clean my-app --build --delete

Global Options​

These flags work with all commands:

FlagDescription
--version / -vPrint JetStart version
--help / -hShow help for the command

Environment Variables​

VariableUsed byDescription
ANDROID_HOME / ANDROID_SDK_ROOTbuild, dev, install-auditAndroid SDK path
KOTLIN_HOMEdev (hot reload)Path to kotlinc installation
JAVA_HOMEbuild, devJDK path (passed to Gradle)
DEBUGallEnable verbose debug logging
JETSTART_PORTdevDefault HTTP port override
JETSTART_HOSTdevDefault host override

Exit Codes​

CodeMeaning
0Success
1General error (invalid project, build failure, etc.)
2Invalid arguments