NuFiDocs

Develop

Run NuFi on your machine, change one app, and ship it.

Everything is in one repository, dudaji-vn/nufi-app. One clone is the whole system. Pick the directory you are about to change, and the guide next to it is the one to read.

DirectoryWhat it isGuide
deploy/platformThe stack: AI gateway, observability, monitoring, and the NuFi app and console as containersRun the stack locally
apps/chatThe NuFi appWork on the chat app
apps/consoleNuFi Console, and the identity issuer for the agent productsWork on the console
apps/admin-panelNuFi Admin PanelWork on the admin panel
apps/nufi-agentNuFi Studio, a vendored LangflowWork on Studio and Works
apps/agentsNuFi Works, a vendored PaperclipWork on Studio and Works
deploy/railwayThe wrapper image that runs the chat on RailwayRelease and deploy
apps/docsThis siteapps/docs/README.md

Earlier guides described these as separate repositories (npuops-platform, nufi-chat, LibreChat, nufichat-admin-panel, nufi-console). They were merged into this one in July 2026 and archived. If you have a clone of one, it is no longer where work happens; nothing in this section asks you to clone anything but nufi-app.

Three ways to have a NuFi to work against

  1. The hosted staging. chat.nufi.me, console.nufi.me, agents.nufi.me. Fine for reading the product or for changes that are purely client-side. You cannot change server behaviour there.
  2. The local stack. deploy/platform brings up every service on your laptop with one script, in about ten minutes and ten gigabytes. This is the setup every other guide in this section assumes. Run the stack locally.
  3. One app's dev server against the local stack. Keep the stack running, then start only the app you are changing from its directory, with hot reload. That is what the four "Work on" guides do.

Before you start

ToolNeeded forVersionCheck
Docker Desktop with Compose v2the stackgive Docker at least 4 GB of RAMdocker compose version
git, curl, opensslthe bootstrap scriptany recent
yq (Mike Farah's Go build, not the Python one from apt)the bootstrap and model scriptsv4yq --version
A GitHub token with read:packagespulling the chat and console images from ghcr.io/dudaji-vndocker login ghcr.io
Bunconsole, admin panel, this site1.3bun --version
Node and npmthe chat app20.19 or newer, or 22.12 or newernode --version
pnpmNuFi Works10pnpm --version
uv and Python 3.12NuFi Studiouv --version
Ollamaa free local model for the stack, optionalollama list

On Apple Silicon there is one more step before the stack starts; it is in Run the stack locally.

Which package manager where

Each app keeps its own lockfile and its own package manager. There is no root install step, on purpose: the apps do not share dependencies, and a root workspace would force one toolchain on a Python app and a Bun app.

DirectoryManagerInstall
apps/chatnpmnpm ci
apps/console, apps/admin-panel, apps/docsBunbun install --frozen-lockfile
apps/agentspnpmpnpm install --frozen-lockfile --node-linker=isolated
apps/nufi-agentuv through makenufi/init.sh
deploy/platformnone; Docker Compose./scripts/bootstrap.sh