# Getting Started

> Install Askr, choose a starter, and ship a first route.

Source: [https://askrjs.com/docs/getting-started](https://askrjs.com/docs/getting-started)

Status: stable. Packages: @askrjs/askr.

**Published packages are authoritative.** Examples may lag behind a published contract. When guidance differs, verify the exports and TypeScript declarations in your installed package, then file an issue.

## Example

Create a readable starter, run it unchanged, and make one small production build after the first route works.

```sh
npx @askrjs/cli@latest create startkit my-app
cd my-app
npm run dev
npm run build
```

## Overview

Askr is an actor-backed UI runtime for TypeScript: components are plain functions, state is read and written through explicit getter/setter pairs, and rendering is deterministic enough to run identically on the server and in the browser. This page gets you from zero to a running route in a few minutes using the `askr` CLI. Everything here uses the published `@askrjs/askr` and `@askrjs/cli` packages, not a local checkout.

## Prerequisites

You need Node.js 24.15.0 or later and npm on your PATH; the CLI is published as a global binary, `askr`, from `@askrjs/cli`. No other tooling is required to get a project running — the generated project brings its own dev server and build scripts. If you plan to deploy with SSR or SSG, make sure your host can run a Node process or serve static files, respectively.

## The shortest path

Run `npx @askrjs/cli@latest create startkit my-app` — no global install needed to get going. `cd my-app && npm run dev` gets a live app in the browser. If you expect to scaffold often, `npm install -g @askrjs/cli` puts `askr` on your PATH so you can drop the `npx` prefix. If you'd rather describe what you're building, `askr create --prompt "..."` picks a template for you and writes `.askr/blueprint.json` plus a `builder-brief.md` explaining the choice.

## Where to go next

Read Core Concepts for the mental model — functions, explicit state, and deterministic rendering — before you start wiring up routes. If you're choosing between SPA, SSR, SSG, or the full-stack/startkit templates, see Choosing an Application Mode. Once you have a route rendering, First Application walks through adding state and a second route.

## In this section

- [Overview](https://askrjs.com/docs/getting-started/overview/index.md): What the Askr runtime owns, what your application owns, and which published packages the docs are written against.
- [Installation](https://askrjs.com/docs/getting-started/installation/index.md): Run the CLI with npx or install it globally, check the Node version Askr needs, and confirm a scaffolded project starts.
- [Create a Project and Choose a Starter](https://askrjs.com/docs/getting-started/choose-a-starter/index.md): Compare the startkit, spa, ssr, ssg, and full-stack templates, or describe your product and let the CLI pick one.
- [First Application](https://askrjs.com/docs/getting-started/first-application/index.md): Scaffold a project, register a route, add a piece of state, and produce a real production build.
- [Project Structure and Conventions](https://askrjs.com/docs/getting-started/project-structure/index.md): Where the composition root, routes, server boundary, and generated artifacts live in a scaffolded Askr project.
- [Choosing an Application Mode](https://askrjs.com/docs/getting-started/application-modes/index.md): Choose between SPA, SSR, SSG, and full-stack delivery — and see why the choice is a boot-file change, not a rewrite.

## Documentation navigation

[Previous](https://askrjs.com/docs/index.md) | [Next](https://askrjs.com/docs/getting-started/overview/index.md)
