Nakama

Contributing

Want to change Nakama itself? This page is the short path. For the full checklist (style, cassette tests, docs conventions), see CONTRIBUTING.md on GitHub.

Run locally

You need Bun 1.3+, git, and optionally the GitHub CLI for PRs.

git clone https://github.com/ahmadrosid/nakama.git
cd nakama
bun install
bun run dev:web

Open the web dashboard at http://localhost:3003. dev:web starts the API if needed.

Other entry points:

bun run dev:server   # API only
bun run dev:cli      # terminal client

If you run the Docker single-container image instead, the dashboard is at http://localhost:4310 (API, web, and platform workers together).

Where to look

AreaPath
API and agent runtimeapps/server
Dashboardapps/web
CLIapps/cli
Channel workersapps/platform/{telegram,whatsapp,discord,automation}
Shared librariespackages/{core,agent,db,client}
User docs (this site)docs/website

Deeper layout and conventions: AGENTS.md, system design: ARCHITECTURE.md.

How to test

bun test
bun run check    # Biome via Ultracite
bun run knip     # unused files, dependencies, and exports (CI fails on findings)

Assert behavior, not exact prompt or error copy. Live LLM tests use MSW cassettes (*.llm.test.ts); see CONTRIBUTING.md for replay and LLM_VCR_MODE=record.

Docs-only changes: register new MDX pages in meta.json, link them from the Documentation hub, then run bun run build:docs.

Open a pull request

  1. Branch from main (or fork first)
  2. Keep the PR to one concern
  3. Push and create the PR with gh pr create
  4. In the body: what changed, what you verified, remaining risks
  5. Wait for CI to pass

On this page