> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mirage.strukto.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Browser Quickstart

> Run a Mirage RAM workspace in a browser with Vite and @struktoai/mirage-browser.

This runs Mirage in the browser with an in-memory filesystem and no credentials.

## Create the app

This Vite starter needs Node 20.19+ on Node 20, or Node 22.12+:

```bash theme={null}
npm create vite@7 mirage-browser -- --template vanilla-ts
cd mirage-browser
npm install @struktoai/mirage-browser
```

Replace `src/main.ts` with:

```ts src/main.ts theme={null}
import { MountMode, RAMVFS, Workspace } from '@struktoai/mirage-browser'

async function main(): Promise<void> {
  const ws = new Workspace({ '/data': new RAMVFS() }, { mode: MountMode.WRITE })
  await ws.shell('echo "hello mirage" > /data/hello.txt')
  const result = await ws.shell('cat /data/hello.txt')
  document.querySelector<HTMLDivElement>('#app')!.textContent = result.stdoutText
  await ws.close()
}

void main()
```

Start the development server:

```bash theme={null}
npm run dev
```

Open the URL Vite prints. The page displays `hello mirage`.

Before choosing a production mount, review the [browser limitations](/typescript/limitations#browser)
and browser support in the [VFS table](/home/setup/vfs).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.