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

> ## Agent Instructions
> Read /start/capabilities before choosing an integration. Use the deployed server’s tools/list for current tool inputs.

# Development

> Build and run Dynamite locally.

## Prerequisites

Use **Bun 1.3.10** and **Node 24**. Keep secrets in local/deployment environment configuration; never commit credentials, prospect outputs or private workspace data.

```sh theme={null}
bun install --frozen-lockfile
cp .env.example .env
bun run build
bun run dev
```

The normal local app is `http://127.0.0.1:3083/app/`; the landing page is `/`. Development uses a Vite frontend and watched API process on the next port. `PORT` / `ION_APP_PORT` and `ION_APP_API_PORT` support isolated worktrees. Keep `ION_APP_URL` aligned with the local frontend origin and use a separate data directory.

Manual previews do not require model credentials. Generative setup uses authoring credentials; automatic decisions need a configured decision provider; authoring memory requires its own integration. Leave email/notification credentials unset during local work unless that behavior is explicitly being exercised.

## Required validation

```sh theme={null}
task check:fix
bun run package
```

The repository prefers lint/type checking and manual smoke checks and explicitly does not run automated tests. `check:fix` builds shared clients, formats the configured integration source and runs workspace typechecks. Packaging builds the application, marketing, extension and required runtime artifacts.

## Documentation workflow

```sh theme={null}
bun run docs:dev      # http://127.0.0.1:4321/
bun run docs:build    # validate and package Mintlify source
bun run docs:preview  # local Mintlify preview
```

Edit MDX pages in `apps/docs`. The docs build regenerates references, validates content and links, and prepares a source package for Mintlify. Mintlify provides hosted search and Markdown exports.

## Production package

`apps/personalization/dist/standalone` contains the portable service, static assets, runtime installer/snapshot bundles and generated migrations. Start it with `bun start.mjs` in a configured environment. The root Dockerfile builds the same package; Vite is a build tool, not a production server.

Mintlify hosts documentation separately; the application’s `/docs` route redirects to it. The shared browser script can be released independently through `bun run build:cdn`; its API origin remains the application service.

## Shared clients

```sh theme={null}
bun run build:clients
bun scripts/export-clients.ts /absolute/path/to/export
```

Export adaptive contracts, shared UI and the client together. Keep version, source commit and SHA-256 provenance with the artifacts. Ion consumes them as a client; do not copy the server/database implementation into Ion.

## Database changes

Run `bun run db:generate` from `packages/personalization-server`, inspect the generated migration and plan backward-compatible deployment. Retain the recovery volume and production backups. A local package success does not validate a production database migration or an external billing/identity integration.

Source: [root README](https://github.com/ion-design/dynamite/blob/main/README.md), [build scripts](https://github.com/ion-design/dynamite/tree/main/apps/personalization/scripts), [Dockerfile](https://github.com/ion-design/dynamite/blob/main/Dockerfile).


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