---
title: Getting started
---

{/* TODO: [URGENT] /main/ to /main/ */}

> 🚀 See Rakkas in action in your browser:
>
> - [CodeSandbox](https://codesandbox.io/s/github/rakkasjs/rakkasjs/tree/main/examples/todo?file=/src/routes/index.page.tsx)
> - [StackBlitz](https://stackblitz.com/github/rakkasjs/rakkasjs/tree/main/examples/todo?file=src%2Froutes%2Findex.page.tsx)

To generate a Rakkas application boilerplate use one of the following commands:

```bash
npx create-rakkas-app@latest my-rakkas-app
# or
pnpm create rakkas-app my-rakkas-app
# or
yarn create rakkas-app my-rakkas-app
```

`create-rakkas-app` project initializer comes with many features, all of which are optional but we strongly recommend enabling TypeScript and the generation of a demo project on your first try because self-documenting type definitions allow for a smoother learning curve and the demo project source code comes with plenty of comments.

> 👷 If you prefer a manual setup, you can install the following packages:
>
> ```bash
> npm install --save react react-dom
> npm install --save-dev rakkasjs vite @vitejs/plugin-react # or @vitejs/plugin-react-swc
> ```
>
> Then create a `vite.config.js` file like this:
>
> ```js
> import { defineConfig } from "vite";
> import react from "@vitejs/plugin-react";
> import rakkas from "rakkasjs/vite-plugin";
>
> export default defineConfig({
>   plugins: [react(), rakkas()],
> });
> ```
>
> And finally create a `src/routes/index.page.jsx` file like this:
>
> ```jsx
> export default function HomePage() {
>   return <h1>Hello world!</h1>;
> }
> ```
>
> Now you can:
>
> - Start a development server with `npx rakkas`
> - Build with `npx rakkas build`
> - Launch with `node dist/server/index.js`
