> For the complete documentation index, see [llms.txt](https://docs.dartstream.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dartstream.dev/getting-started/installation.md).

# Installation

Before creating your first DartStream application, ensure that your local machine has **Dart**, and the **DartStream CLI** installed. Additionally, for projects requiring frontend frameworks, you should install either **Node.js** and **npm** or **Bun** to manage your frontend dependencies.

### **Installing Dart and DartStream CLI**

If you don't have Dart and Dart Pub installed on your local machine, you can follow the commands below to install Dart along with the DartStream CLI on macOS, Windows, or Linux.&#x20;

#### Install Dart

**macOS:**

Run the following command to install Dart and the DartStream CLI:

```bash
/bin/bash -c "$(curl -fsSL https://dart.new/install/mac/latest)"
```

**Windows PowerShell:**

Execute the command below in PowerShell to install Dart and DartStream:

```bash
Invoke-WebRequest -Uri https://dart.new/install/windows/latest -OutFile install.ps1; powershell -ExecutionPolicy Bypass -File ./install.ps1  
```

**Linux:**

Run the following command in your terminal to install Dart and DartStream:

```bash
/bin/bash -c "$(curl -fsSL https://dart.new/install/linux/latest)"  
```

**Post-Installation Steps**

1. After running the appropriate installation command, restart your terminal session to ensure the changes take effect.
2. To update the Dart SDK in the future, re-run the installation command for your platform.

**Install DartStream CLI**

If the Dart SDK is already installed on your machine, you can install the DartStream CLI using the following steps:

1. Clone the DartStream repository on GitHub:

```bash
git clone https://github.com/aortem/dartstream.git
```

2. Run the command below to make `dartstream` available available in your terminal:

```bash
dart pub global activate --source path ./dartstream/dartstream_backend/packages/cli/ds_cli/
```

After installation, the `dartstream` command will be globally available in your terminal. You can verify the installation with:

```dart
dartstream list
```

Your terminal should show the output below:

```bash
Usage: dartstream <command> [arguments]

Available commands:
  init                     Initialize a new Dartstream project.
  configure                Configure core project components like cloud provider and framework.
  enable-extension         Enables a specified extension.
  disable-extension        Disables a specified extension.
  setup                    Set up middleware, CI/CD, and additional tools.
  discover                 Discovers, validates, and dynamically registers extensions.
  generate                 Generate project files based on the configuration.
  validate                 Validates all discovered extensions for manifest correctness and dependency compatibility.
  extensions               Lists all discovered and registered extensions.
  list                     Lists all available commands for Dartstream.
```

**Additional Requirements for Frontend Development**

DartStream supports frontend frameworks like Vue.js, React, Svelte, Flutter web etc., each frontend framework has slightly different requirements which will be listed below:

#### React

#### Vue.js

#### Svelte

#### Android Compose

#### Flutter Web

#### Flame

**Next Steps**

With Dart, and DartStream CLI installed, you’re ready to create your first DartStream project. Check out the [**Project Initialization**](/getting-started/our-features/standard/cli.md#project-initialization) section to start building your application!


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dartstream.dev/getting-started/installation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
