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

# Build with us

> Make changes that preserve one Entity across models, tools, and surfaces.

ngram combines a Python Entity runtime with a TypeScript spatial stack. Contributions are strongest when they make a complete behavior work across the boundary: a tool schema, a routed action, a visible result, and a useful failure mode.

## Work on the application

```bash theme={null}
git clone https://github.com/ngramspatial/ngram.git
cd ngram
uv sync --extra dev
npm run ar:install
```

Run the relevant tests while developing, then the repository checks:

```bash theme={null}
uv run pytest
uv run ruff check ngram tests
npm run ar:lint
npm run ar:build
```

For spatial behavior changes, also run `npm run ar:test`. Exercise changes to the Presence Protocol on both sides of the connection.

Keep Entity identity and conversational memory in the Entity runtime. A shell describes presentation and the connection to that Entity; it should not quietly become a second owner of memory.

## Work on these docs

The documentation is maintained in a separate repository. With access to that repository:

```bash theme={null}
git clone https://github.com/ngramteam/docs.git
cd docs
npm ci
npm run dev
```

The local preview runs on port 3333. Run `npm run check` before publishing. Check desktop and mobile layouts when changing navigation or visual components.

Write against the shipped source. Verify every configuration key, command flag, and tool signature. Distinguish a registered tool from a configured backend and an acknowledged dispatch from a rendered result.

## Review standard

* Explain the concrete problem and resulting behavior.
* Include meaningful validation and any remaining limitation.
* Keep secrets, transcripts, personal deployment files, and private avatar assets out of commits.
* Preserve the supplied ngram assets and the website's typography and button treatment.
* Describe soma, inner voice, and dreams as implemented runtime mechanisms rather than claims about consciousness.

The application's [contribution guide](https://github.com/ngramspatial/ngram/blob/main/CONTRIBUTING.md) and [spatial contribution guide](https://github.com/ngramspatial/ngram/blob/main/ngramAR/CONTRIBUTING.md) cover repository-specific requirements.
