Packages

Project creator · v0.3.5

create-jilatax

Scaffold an Android-first Jilatax application with Lynx, Rspeedy, Gradle, device-aware themes, SVG support, and development and AAB commands.

Scaffolding

Start a new project

Run the creator from the directory that should contain your new project, then follow its setup prompts.

bun create jilatax@latest

create-jilatax generates an Android-first application powered by Lynx, Rspeedy, and the Jilatax native runtime. It produces the JavaScript application and Android project together so development, configuration, assets, and release builds share one project boundary.

The interactive creator derives the project name from its target directory, validates the Android package ID, and asks whether dependencies should be installed with Bun.

What the project includes

  • A Lynx and Rspeedy application with TypeScript source and local assets.
  • app.json configuration synchronized into the Android project.
  • A complete Gradle wrapper and Android application module.
  • Light, Dark, and System theme selection synchronized with Android system bars.
  • Compiled local icons through @jilatax/svg, including incremental development rebuilds.
  • Commands for a connected-device workflow and Play Store Android App Bundles.
  • Project-local AGENTS, CLAUDE, and README guidance for the generated architecture.

Interactive and scripted creation

For automation, call the executable directly and provide every required value:

bunx create-jilatax@latest my-app \
  --name "My App" \
  --package-id com.example.my_app \
  --skip-install

--install installs dependencies; --skip-install leaves that step to the caller. Non-interactive terminals require a target directory, while omitted names and package IDs receive validated defaults.

Safe generation boundaries

The creator refuses to overwrite an existing target. It renders into a staging directory beside the destination, validates and writes the generated metadata, then renames the finished result into place. If generation fails, the staging directory is removed and the incomplete project is not left behind.

Project names are normalized for package use, display names are length-checked, and Android package IDs pass through the Jilatax configuration parser before files are created.

Day-one commands

cd my-app
bun run run:android

The development command starts the Rspeedy workflow for a connected Android device. When the application is ready for release preparation:

bun run create:aab

That command builds the production Lynx bundle, copies it into Android assets, runs Gradle’s :app:bundleRelease task, and reports android/app/build/outputs/bundle/release/app-release.aab. Signing, version ownership, and store upload remain release responsibilities for the application maintainer.

Programmatic API and requirements

import { createProject } from 'create-jilatax';

await createProject({
  targetDirectory: './my-app',
  displayName: 'My App',
  packageId: 'com.example.my_app',
  install: false,
});

The creator requires Bun and Node.js 22.18 or newer. Its package code is MIT licensed, and the generated template includes the applicable third-party notices for bundled tooling such as the Gradle Wrapper.