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>stringProject 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>stringTarget 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>stringBuild 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