> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.hyjal.cloud/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.hyjal.cloud/_mcp/server.

# Quickstart

> Deploy your first application to Hyjal in five minutes: sign up, install the hyjal CLI, log in with the device flow, initialize a repo, and go live.

This is the five-minute path from an empty terminal to a live HTTPS URL. You
will create an account, install the `hyjal` CLI, log in, initialize a
repository, and deploy. The example ships a Project named `acme` with one
Resource, `web`.

## Prerequisites

* A repository with an application you can build locally
* macOS or Linux (Windows via WSL)
* Five minutes

## 1. Create an account

Open [console.hyjal.cloud](https://console.hyjal.cloud) and sign up. The first
account you create becomes your Organization; you can invite teammates later
from [Teams and access](/billing/teams-and-access). New accounts start on the
free [Starter plan](/billing/plans).

## 2. Install the CLI

Install with the one-line installer:

```bash
curl -fsSL https://hyjal.cloud/install.sh | sh
```

On macOS you can use Homebrew instead:

```bash
brew tap hyjal/tap
brew install hyjal
```

Verify the install:

```bash
$ hyjal --version
hyjal 1.0.0
```

## 3. Log in

`hyjal login` uses a device flow. It prints a one-time code and a Console URL;
you approve the session in your browser.

```bash
$ hyjal login
Your device code: HJAL-7Q2X
Open https://console.hyjal.cloud/device and enter the code to continue.
Waiting for approval...
Approved. Logged in as vince@acme.example (Organization: acme).
```

Confirm the session:

```bash
$ hyjal whoami
vince@acme.example (Organization: acme)
```

## 4. Initialize the repository

From the root of your repository, run `hyjal init`. It detects the repo shape
and writes a starting [`hyjal.toml`](/deploy/hyjal-toml) manifest.

```bash
$ cd ~/code/acme
$ hyjal init
Detected: static site (build: npm run build, output: dist)
Wrote hyjal.toml
  project = acme
  resource.web  lane = static

Review hyjal.toml, then run: hyjal deploy
```

Open `hyjal.toml` and confirm the Project and Resource names. The generated
manifest for this example looks like:

```toml
[project]
name = "acme"

[resource.web]
lane = "static"
build = "npm run build"
output = "dist"
```

## 5. Deploy

`hyjal deploy` builds every Resource, uploads the artifacts to your Project's
Bucket, applies policy, and flips routes atomically.

```bash
$ hyjal deploy
Building resource web (lane: static)...
  npm run build ✓
  compressing assets (brotli, gzip) ✓
Uploading artifact... digest sha256:9f2c1a…e4b7
Applying policy... ✓
Flipping route... ✓

Deployed acme/web
  https://web--acme.hyjal.cloud
```

Open the URL. Your application is live on the internet, served on a fresh
[Afterburner](/get-started/what-is-hyjal) instance per request.

```bash
$ hyjal open web
Opening https://web--acme.hyjal.cloud
```

## 6. Watch the logs

Stream request-correlated logs with `hyjal logs -f`. Each request row carries
its method, path, status, and latency.

```bash
$ hyjal logs -f --resource web
[14:02:11] GET  /            200   12ms
[14:02:11] GET  /assets/app.css  200    4ms
[14:02:14] GET  /about       200    9ms
```

Press Ctrl-C to stop streaming. The same timeline appears in the Console's
[Logs tab](/observability/logs).

## Where to go next

* Deploy in your language: [Rust](/languages/rust),
  [JavaScript/TypeScript](/languages/javascript-typescript),
  [Go](/languages/go), [Python](/languages/python)
* Add an API behind your front end: [Full-stack apps](/app-types/full-stack-apps)
* Connect a database: [Data and state](/data/overview)
* Put it on your own domain: [Custom domains](/deploy/custom-domains)
* Learn the Console: [Console tour](/get-started/console-tour)