# Install and verify

## Before you start

The package does not declare an engine requirement. Use a maintained Node.js release appropriate to your host application.

Use a project with a `package.json`. Check the runtime and package manager:

```bash
node --version
npm --version
```

## Install the documented version

```bash
npm install @qentrah/templates@3.0.0-beta.31
```

## Confirm the installation

```bash
npm ls @qentrah/templates
```

The output should show `@qentrah/templates@3.0.0-beta.31`. Commit the lockfile so another developer installs the same dependency tree.

## Peer dependencies

Install compatible peers in the consuming application. These ranges come from the published manifest.

| Package | Required range |
| --- | --- |
| `hono` | `^4.10.4` |
| `@qentrah/cms` | `^3.0.0-beta.31` |

## Check a real export

```ts
import { renderDocsLayout } from "@qentrah/templates";

const html = renderDocsLayout({
  title: "Project guide",
  content: "<p>Welcome to your guide.</p>",
  currentPath: "/guide",
  navigation: [{ title: "Guide", path: "/guide" }],
});
```

The function returns an HTML string. Your server chooses how to send that string as an HTML response.