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

# Contributing to nao

> Join the nao open source community and help build the \#1 analytics agent

nao is an open source project, and we welcome contributions from the community!

## Get Involved

<CardGroup cols={2}>
  <Card title="Star the Repo" icon="star" href="https://github.com/getnao/nao">
    Show your support by starring the repository.
  </Card>

  <Card title="Report Issues" icon="bug" href="https://github.com/getnao/nao/issues">
    Found a bug? Open an issue and help us improve.
  </Card>

  <Card title="Submit PRs" icon="code-pull-request" href="https://github.com/getnao/nao/pulls">
    Contribute code by submitting a pull request.
  </Card>

  <Card title="Join Discussions" icon="comments" href="https://github.com/getnao/nao/discussions">
    Share ideas and connect with other contributors.
  </Card>
</CardGroup>

## Development Setup

To contribute to nao, clone the repository and follow the setup instructions:

```bash theme={null}
# Clone the repository
git clone https://github.com/getnao/nao.git
cd nao

# Install dependencies
npm install

# Follow the development setup in CONTRIBUTING.md
```

For detailed development guidelines, commands, and contribution standards, see our [CONTRIBUTING.md](https://github.com/getnao/nao/blob/main/CONTRIBUTING.md) file.

## Tech Stack

nao is built with modern technologies:

### Backend

| Technology                                               | Purpose                            |
| -------------------------------------------------------- | ---------------------------------- |
| [Fastify](https://fastify.dev/docs/latest/)              | High-performance web framework     |
| [Drizzle ORM](https://orm.drizzle.team/docs/get-started) | TypeScript ORM for database access |
| [tRPC](https://trpc.io/docs/server/routers)              | End-to-end typesafe APIs           |

### Frontend

| Technology                                                                        | Purpose                   |
| --------------------------------------------------------------------------------- | ------------------------- |
| [React](https://react.dev/)                                                       | UI framework              |
| [Tanstack Query](https://tanstack.com/query/latest/docs/framework/react/overview) | Data fetching and caching |
| [tRPC Client](https://trpc.io/docs/client/tanstack-react-query/usage)             | Typesafe API client       |
| [Shadcn UI](https://ui.shadcn.com/docs/components)                                | Component library         |

### CLI

| Technology | Purpose                         |
| ---------- | ------------------------------- |
| Python     | CLI tooling and context builder |

## Running with Docker

You can also run nao using Docker:

```bash theme={null}
# Pull the image
docker pull getnao/nao:latest

# Run the container
docker run -d \
  --name nao \
  -p 5005:5005 \
  -e NAO_DEFAULT_PROJECT_PATH=/app/example \
  -e OPENAI_API_KEY=sk-... \
  getnao/nao:latest
```

Access the UI at [http://localhost:5005](http://localhost:5005).

## Join the Community

<CardGroup cols={2}>
  <Card title="Slack" icon="slack" href="https://join.slack.com/t/naolabs/shared_invite/zt-4080jlm79-nm52x5nZhG2N1ben8zwpiQ">
    Connect with other nao users and contributors.
  </Card>

  <Card title="GitHub" icon="github" href="https://github.com/getnao/nao">
    Watch releases and follow development.
  </Card>
</CardGroup>

## Ways to Contribute

There are many ways to contribute to nao:

* **Code contributions** — Fix bugs, add features, improve performance
* **Documentation** — Improve docs, add examples, fix typos
* **Bug reports** — Report issues you encounter with detailed reproduction steps
* **Feature requests** — Suggest new features and improvements
* **Community support** — Help answer questions in Slack and GitHub Discussions
