#13465·slint

Feature Request: Official CLI tool to scaffold new projects (e.g., `slint init`)

Author: reizhafajrianCreated Sep 17, 2026Updated Sep 17, 2026
Labelsneed triaging

Feature Description

Currently, starting and running a new Slint project across different platforms involves a lot of manual configuration.

  1. Scaffolding: Starting a project requires manually finding, cloning, and stripping template repositories from GitHub, which introduces friction.
  2. Platform Deployment: Deploying a Slint app to mobile or desktop platforms (especially Android/iOS) requires manually configuring CMake or Cargo, managing NDKs/toolchains, and manually launching emulators. This creates a steep learning curve compared to modern cross-platform frameworks.

I propose an official unified CLI tool (e.g., slint-cli / cargo slint / npx slint) to handle the entire lifecycle of a Slint application, heavily inspired by the DX of Flutter or React Native.

Phase 1: Project Initialization (slint init) An interactive command to bootstrap a new project:

  • slint init my-app
  • Prompts the user for their preferred backend (Rust, C++, or JS/Node).
  • Scaffolds the correct directory structure (Cargo.toml, CMakeLists.txt, or package.json).
  • Initializes a fresh git repository.

Phase 2: Build and Run Automation (slint run <platform>) Commands to automatically build the project and deploy it to connected devices or simulators:

  • slint run android (compiles the Android library, builds the APK/AAB via Gradle, and pushes to a running emulator/device)

  • slint run ios (generates the Xcode project and deploys to the iOS simulator)

  • slint run mac / slint run windows / slint run linux (builds and runs the native desktop target)

  • slint run web (compiles to WebAssembly and starts a local dev server)

  • The Status Quo: Relying on git clone for scaffolding, and manually writing Android Gradle wrappers, CMake targets, and Wasm build scripts based on the documentation.

  • Language-specific generators: Relying on tools like cargo-generate or cargo-apk. While these work for the Rust ecosystem, they don't cover C++ or JavaScript users, leading to fragmented tooling.

Product Impact

No response