How to Install Enact and Start a New Project

Updated

Install the Enact command-line tool globally with npm install -g @enact/cli, then use that CLI to initialize a project and run common development actions. This applies if you already have Node.js and npm available and want to build an app on top of React using Enact's framework, reusable components, and built-in tooling for i18n, accessibility, focus management, linting, testing, and building.

Prerequisites

Before installing, confirm:

  • Node.js and npm are installed. The Enact CLI is distributed as the npm package @enact/cli, so npm must be available on your machine.
  • You can install global npm packages. The documented install command uses the -g flag, which installs the CLI globally so it can be invoked from any directory.
  • You are building on React. Enact is described as an app development framework built atop React, so familiarity with React is expected.

Step 1: Install the Enact CLI

Run the documented global install command:

npm install -g @enact/cli

Input: the npm package name @enact/cli and the global flag. Action: npm downloads and installs the Enact command-line tool on your system. Expected result: the Enact CLI is available as a command you can run to initialize projects and perform common actions.

If the global install fails, the usual causes are insufficient permissions for the global npm directory or a missing Node.js/npm setup. Fix the underlying npm environment rather than skipping the global flag, since the documented workflow relies on a globally available CLI.

Step 2: Initialize a Project

Enact provides a command-line tool specifically to "initialize projects and perform common actions." After the CLI is installed, use it to create a new project rather than assembling a React build setup by hand.

The framework's stated goal is to give you the building blocks for robust, maintainable applications, and it bundles the tooling for internationalization, accessibility, focus management, linting, testing, and building so these pieces work together. Initializing through the CLI is how you get that pre-integrated setup instead of wiring each tool yourself.

Step 3: Follow the Official Setup Guide

The website points to a Setup Guide for continuing configuration after installation. Treat that guide as the authoritative next step, because it covers the project-level setup that follows the CLI install. The site also links an API reference and a Getting Started entry point, which are the natural places to go once your project exists.

What You Get After Setup

Enact's value shows up beyond the initial install. According to the framework's own description:

Area What Enact provides
Foundation A full framework built atop the React library
Performance Deliberate design decisions so apps stay performant as they grow in size and complexity, from component rendering to data flow
Widgets A full set of customizable widgets that can be tuned to a project's style
Composition A widget library whose components compose into complex views and applications
Platforms Native-quality applications for a wide range of embedded web platforms
Built-in concerns i18n, a11y, focus management, linting, testing, and building, combined to work together

The widget library draws on experience building full UI libraries for devices ranging from TVs to watches, which is why composition and customization are emphasized.

Choosing a UI Library: Limestone

If you are targeting large screens, Enact offers Limestone, described as its TV-centric UI library with over 50 components. Limestone provides a base for applications designed for large screens, and it has its own API reference.

  • Choose Limestone when your target is TV or another large-screen experience and you want a ready set of TV-oriented components.
  • Use the core Enact widgets when you need general-purpose, composable components and want to tune styling to your own project.

Where Enact Fits

Enact is designed for embedded web platforms and lists use cases including Automotive, Robotics, and TV. If your project targets one of these embedded environments and you want React plus an integrated toolchain and widget library, Enact is aimed at that problem. If you are building a conventional web app with no embedded or large-screen requirement, the framework's platform focus is the main thing to weigh before adopting it.

Next Steps

  1. Install the CLI: npm install -g @enact/cli.
  2. Initialize a project with the CLI.
  3. Work through the official Setup Guide for project configuration.
  4. Consult the API reference and Getting Started material as you build.
  5. If you are targeting TV, review the Limestone component library and its API.

The Enact team also welcomes contributions and publishes a Contribution Guide, along with examples, a blog, and a chat channel for ongoing help.