Documentation
Complete guides for setting up and using Mikdan Tech Stack Runner on Windows.
Getting Started
Stack Runner is a free Windows desktop application built with Tauri v2. Before installing, make sure your machine meets the following prerequisites:
- Windows 10 or Windows 11 (64-bit)
- ADB — required for Android and React Native commands. Install the Android SDK Platform Tools and add the
platform-toolsfolder to your system PATH. - Node.js — required for Next.js and Express.js commands. Install Node.js LTS from nodejs.org.
- Gradle / Android SDK — required for Android and React Native builds. Install Android Studio and ensure
ANDROID_HOMEis set correctly.
Once the prerequisites are in place, download the Stack Runner installer from the Download page, run the NSIS setup wizard, and launch the app from the Start Menu or Desktop shortcut.
On first launch Stack Runner opens to the project dashboard. No sign-in or account is required.
Adding Your First Project
Stack Runner organises commands by project. Each project is associated with a folder on your machine.
- Click "Add Project" on the dashboard or in the sidebar.
- Select the root folder of your project using the folder picker dialog. This should be the directory that contains your
build.gradle,package.json, or equivalent entry file. - Give the project a name and select its stack (Android, React Native, Next.js, or Express.js).
- Click "Save". The project now appears in the sidebar and its pre-defined command list is ready to use.
You can add as many projects as you need. Switch between them using the project list in the sidebar.
Supported Stacks & Commands
Stack Runner ships with pre-configured command tables for four stacks. Each command can be run directly from the dashboard with a single click.
Android
| Command Name | Command |
|---|---|
| Run on device | gradlew installDebug |
| Run on emulator | gradlew installDebug (emulator) |
| Build APK (debug) | gradlew assembleDebug |
| Build APK (release) | gradlew assembleRelease |
| Clean project | gradlew clean |
| Sync Gradle | gradlew --refresh-dependencies |
React Native
| Command Name | Command |
|---|---|
| Start Metro | npx react-native start |
| Run Android | npx react-native run-android |
| Run iOS | npx react-native run-ios |
| Build APK | cd android && gradlew assembleRelease |
| Clean | cd android && gradlew clean |
Next.js
| Command Name | Command |
|---|---|
| Dev Server | npm run dev |
| Build | npm run build |
| Start Production | npm run start |
| Lint | npm run lint |
Express.js
| Command Name | Command |
|---|---|
| Start Dev (nodemon) | npm run dev |
| Start Production | node src/index.js |
| Install Dependencies | npm install |
| Run Tests | npm test |
Template Variables
Template variables let you parameterise commands so they work across different devices, environments, and configurations without editing the command text each time.
Variables use the {{VARIABLE_NAME}} syntax inside a command string. For example:
adb -s {{DEVICE_ID}} shell input keyevent 26Each project stores its own set of variable values. When you switch projects, Stack Runner automatically resolves the variables using the values defined for that project, so the same command template produces the correct output for each context.
To define or update variable values for a project, open the project settings and navigate to the Variables tab. Enter a name (without the double-brace syntax) and its value. Stack Runner will substitute all matching placeholders at command execution time.
If a variable is referenced in a command but has no value defined for the current project, Stack Runner will prompt you to supply a value before execution.
Terminal Output Panel
When you execute a command, Stack Runner opens a terminal output panel powered by xterm.js. The panel provides a native terminal experience directly inside the app.
Real-time output streaming
Command output is streamed in real time as the underlying process produces it. You can watch Gradle build progress, Metro bundler output, or Node.js server startup logs appear line by line without waiting for the process to finish.
Clearing the panel
Click the Clear button in the panel toolbar to wipe the current output. This does not stop the running process — it only clears the visible buffer. Useful for starting fresh before a new build or run.
Scrollback
The terminal supports scrollback so you can review earlier output that has scrolled off the visible area. Scroll up inside the panel with your mouse wheel or trackpad to read previous lines. The scrollback buffer is preserved until you clear the panel or close the project.
Favorites & Search
Favouriting commands
Click the star icon next to any command to mark it as a favourite. Favourited commands are surfaced at the top of the command list so your most-used actions are always within reach. Favourites are stored per project and persist across app restarts.
Using the search bar
The search bar at the top of the command list filters commands in real time as you type. The filter matches against both the command name and the command string, so you can search by label (e.g. "build") or by the underlying command text (e.g. "assembleRelease"). Clearing the search field restores the full command list.
Settings
Open the Settings panel from the toolbar or via File → Settings. The following options are available:
| Setting | Description |
|---|---|
| ADB Executable Path | Override the default ADB binary location. By default Stack Runner uses the adb command found on the system PATH. Set this to an absolute path (e.g. C:\platform-tools\adb.exe) if you have multiple ADB installations or if ADB is not on your PATH. |
| Terminal Font Size | Adjust the font size used in the terminal output panel. |
| Theme | Switch between the light and dark UI theme. Follows the system default unless overridden here. |
Troubleshooting
ADB not found
Symptom: Stack Runner reports that adb could not be found when running an Android or React Native command.
Cause: ADB is not installed, or the platform-tools directory is not on your system PATH.
Fix: Install Android SDK Platform Tools and add the platform-tools folder to your system PATH environment variable. Alternatively, set the ADB Executable Path in Settings to the full path of your adb.exe.
Node.js not found
Symptom: Commands for Next.js or Express.js fail with an error indicating that node or npm was not found.
Cause: Node.js is not installed, or its bin directory is not on the system PATH.
Fix: Download and install Node.js LTS from nodejs.org. The installer adds Node.js to your PATH automatically. Restart Stack Runner after installation.
Gradle build failure
Symptom: An Android or React Native build command exits with a Gradle error (e.g. FAILURE: Build failed with an exception).
Cause: Common causes include a missing or misconfigured Android SDK, incorrect ANDROID_HOME environment variable, or a dependency resolution failure.
Fix:
- Ensure Android Studio is installed and the Android SDK is up to date via the SDK Manager.
- Verify that
ANDROID_HOMEpoints to your SDK directory (e.g.C:\Users\you\AppData\Local\Android\Sdk). - Run Sync Gradle from the Stack Runner command list to refresh dependencies.
- Check the terminal output panel for the full stack trace to diagnose further.
SmartScreen installer warning
Symptom: When running the Stack Runner installer, Windows Defender SmartScreen displays a warning: "Windows protected your PC" and prevents the installer from running.
Cause: SmartScreen flags executables from publishers that do not yet have an established reputation in Microsoft's database. This is expected for a new app with a limited install count.
Fix: Click "More info" on the SmartScreen dialog, then click "Run anyway" to proceed with the installation. Stack Runner does not contain malware — the warning is purely reputation-based.
