Build Your App
This page walks you through the steps to build an app with the Vega SDK. The SDK includes multiple templates to structure your app and two build approaches: Vega Studio and Vega CLI. Vega Studio is a VS Code extension that runs commands to create, build, and run the app from the command palette. The Vega CLI provides the commands you can run directly in a terminal session.
If you are new to building apps with Vega, see Build a Hello World app. To explore all templates and build options, see All build options.
Build a Hello World app
This tutorial walks you through creating, building, and running your first Vega app using Vega Studio, the Vega SDK's VS Code extension. This example creates an app called Hello, Vega based on a React Native app template and runs in the Vega Virtual Device, a simulated Fire TV Stick included in the Vega SDK.
Step 1: Create a new app from template
First you need to create a new app using a Vega template.
- Launch VS Code.
-
Click the Vega extension icon in the activity bar to the extension.
- Click the + icon to create a new project.
- Select the template hello-world (React Native 0.72-based template)
- Choose a project directory
-
Name the app. This example uses the following names:
App name:
VegaProject
Package name:
com.mycompany.VegaProject
Step 2: Build the app
Next, build the app in a test mode.
- In the Vega extension, locate and select the VegaProject in your workspace.
- Set build mode to Debug. This enables fast-refresh by default, so any saved changes to your app are reflected on your app in real-time.
-
Select the build button next to VegaProject.
- Check the Output tab in VS Code for the build success message.
Step 3: Run in Vega Virtual Device (VVD)
Finally, run the app in Vega's Fire TV Stick simulator, the Vega Virtual Device (VVD).
- In the extension panel, locate VirtualDevice:Tv under Devices and press the play button.
- Wait for the VVD window to open.
- Click the Play button next to VegaProject.
When the app runs, you'll see the VVD update with the Hello World app.
Congratulations! You've successfully created and run your first Vega app. Try changing some of the text in your App.tsx to see the changes reflected live on the running app.
All build options
Vega offers multiple pathways for you to create your customs app based on your specific requirements. You can choose from the following build approaches:
Build an app with Vega Studio
Vega Studio is an integrated development environment (IDE) that lets you create, build, run, test, debug, and analyze app performance on Fire TV and other Vega-supported platforms. This section provides steps to build Vega apps with Vega Studio.
Prerequisites
Step 1: Create a Vega project
-
Open Visual Studio Code (VS Code) and select the Vega extension icon from the activity bar to open the Kepler Studio panel:
The Kepler Studio panel has the following sections:
- Projects
- Build Modes
- Devices
- App Performance Tools
- Help and Feedback
-
Click the + (Create Vega Project) icon from the Projects section.
-
Choose a project template.
- hello-world - Use this project template to create an app that depends on React Native v0.72.
- basic-turbo-module - Use this project template to create a custom Turbo Module.
- idl-turbo-module - Use this project template to create an app compatible with all supported React Native versions and native IDL APIs.
Note: You can also display the project templates using the command palette. For Mac, press ⌘ + shift + p. For Linux, press Ctrl + shift + p then enter Kepler Project: Create a new Kepler project. - Select a directory for your project.
-
Provide a project name for your app (no spaces or special characters).
For example: My3PSample
Press
Enter
after entering your project name. -
Enter a package name for your project in this format
<tld>.<company_name>.<app_name>
.For example: com.org.vegaproject
Press
Enter
after entering a package name for your project.
Vega Studio creates your project based on your selected template. When you select a basic-turbo-module
or idl-turbo-module
template with an open project, Vega Studio creates a multi-root workspace. The new project appears as a folder, so you can use the Turbo Module as a dependency and develop both in the same VS Code window. Vega Studio adds the new basic-turbo-module
as a dependency to your open project. If you have multiple Vega apps open during basic-turbo-module
creation, the extension prompts you to select the target app.
Step 2: Build a Vega app
-
Select your projects under Projects section.
Select a project -
Choose your build mode (debug or release) from the Build Mode section.
Build mode options -
Click the play button from the Devices section to start the target device.
-
Click the build button next to your project name to start the build process.
View the build output
- Go to the integrated terminal panel in VS Code.
- Select the Output tab.
- Choose Kepler from the drop-down list.
You should see Kepler build completed or Kepler build failed. If the build fails, identify the issue by expanding the error messages.
Step 3: Set up Fast Refresh
Fast Refresh is automatically enabled in Vega Studio when using Debug mode. This feature lets you see code changes instantly without rebuilding your entire app.
For complete instructions on using Fast Refresh, see Use Fast Refresh for real-time development.
Step 4: (Optional) Configure a custom port
You can specify a custom port other than port 8081.
- Go to Code > Settings > Settings in VS Code.
- Enter React Native Port in the search box.
- Enter your port number.
- Reload VS Code when prompted.
When you start a debug session, Vega Studio automatically configures shared preferences on the device in /data/shared_preferences.json
.
Step 5: Run and test a Vega app
You can run and test your Vega app on Fire TV Stick or Vega Virtual Device.
On Fire TV Stick:
- Select your Fire TV Stick device from the Kepler Studio panel under Devices.
-
Click the "play" button next to your project name.
For details, see Fire TV Stick.
On Vega Virtual Device
- Navigate to Kepler Studio > Devices and select
VirtualDevice:Tv
. - Click the play button to start the virtual device.
- Click the play button next to your project name.
For details, see Vega Virtual Device.
Step 6: (Optional) Stop the React Native Packager
There are two options to stop the React Native Packager:
Option 1: Through the VS Code status bar

Click the React Native Packager button in the VS Code status bar at the bottom. When you hoover it, you see the tooltip Stop Packager.
Option 2: Through the VS Code Command Palette

-
Open Command Palette:
Mac: Cmd+shift+P Linux: Ctrl+Shift+P
-
Enter and select React Native: Stop Packager.
After stopping the Packager (using either option), you can restart your app through Kepler Studio panel. Click the play button to the right of your app name.

Step 7: Debug a Vega app
The Vega Studio provides a built-in debugger. To use it, follow the instructions in Debug with Vega Studio.
Step 8: Analyze app performance
Vega Studio provides tools to help you analyze and optimize your app's performance. For details, visit the following pages:
Build an app using the Vega CLI
The Vega command-line interface (CLI) provides pre-built project templates with core functionalities to accelerate your development. Each project template contains all necessary files and configurations required to run your app on Vega devices, including manifest files, native modules, and the proper directory structure.
Prerequisites
Project templates
To see the list of available project templates:
kepler project list-templates
After you run kepler project list-templates
, you see the following project templates:
- hello-world - Use this project template to create an app that depends on React Native v0.72.
- basic-turbo-module - Use this project template to create a custom Turbo Module.
- idl-turbo-module - Use this project template to create an app compatible with all supported React Native versions and native IDL APIs.
Step 1: Generate a project
-
Use the
kepler project generate
command to create an app.The command takes four arguments:
--template
- The Vega project template (for example: hello-world).--name
- Your app name (no spaces or special characters).--packageId
- Your app's unique identifier
Important: Your packageId should be in this format:<tld>.<company_name>.<app_name>
. Don't usecom.amazon
.--outputDir
(optional) - Your project location. If you don't specify a project location, the system creates your project location in your current working directory.
Example command:
The following example command creates a new app named
keplersampleapp
. The command outputs the path to your project location.kepler project generate --template hello-world --name keplersampleapp --packageId com.amazondeveloper.keplersampleapp --outputDir keplersampleapp
-
Navigate to your new app:
cd keplersampleapp
packageId
in the manifest file is com.amazondeveloper.appname
. When you create an app, replace the package Id
with a reverse DNS representation of your domain name. Don't use com.amazon
.Step 2: Build your app
Install the dependencies and build:
npm install
npm run build:app
The commands install necessary NPM dependencies, build the native code, then bundle the JavaScript using the Metro bundler.
The build creates a build
folder with your app's package vpkg
:
├── keplersampleapp
│ ├── build
│ │ ├── x86_64-release
│ │ | ├──keplersampleapp_x86_64.vpkg #use the path to this file to run your app on the virtual device for x86 machines
│ │ ├── armv7-release
│ │ | ├──keplersampleapp_armv7.vpkg #use the path to this file to run your app on the Fire TV Stick
│ │ ├── aarch64-release
│ │ | ├──keplersampleapp_aarch64.vpkg #use the path to this file to run your app on the virtual device for M-series machines
Metro, a React Native’s JavaScript bundler, starts at the command prompt window. Metro takes in an entry file and returns a single JavaScript file with all of your code and dependencies.
Step 3: Set up Fast Refresh
Fast Refresh is a React Native function that lets you see changes in your app without rebuilding. Unlike Vega Studio which enables Fast Refresh automatically, Vega CLI requires manual setup.
For complete setup instructions, see Set Up Fast Refresh with Vega CLI.
Step 4: Run your app on Vega Virtual Device
The Vega SDK includes the Vega Virtual Device, which lets you run and test your apps without needing a physical device.
See Run Your App on Vega Virtual Device for complete instructions.
Related topics
- Fix Vega Studio Build Issues
- Run Your App on Vega Virtual Device or Fire TV Stick
- Set Up Fast Refresh to Build Apps Using Vega CLI
- Resolve Vega Extension Issues
Last updated: Sep 30, 2025