nAIxus Docs

Démarrage rapide développeur

Installer l'environnement de développement nAIxus et lancer tous les services en 15 minutes.

Ce guide vous amène du git clone à un environnement de développement fonctionnel en 15 minutes.

Prérequis

OutilVersionVérification
Node.js20+node -v
pnpm9+pnpm -v
Python3.13+python --version
uvlatestuv --version
Docker20+docker --version
Git2.30+git --version

Installer les outils manquants

# pnpm (via corepack)
corepack enable && corepack prepare pnpm@latest --activate

# uv (gestionnaire Python)
# Windows :
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# macOS/Linux :
curl -LsSf https://astral.sh/uv/install.sh | sh

Étapes d'installation

1. Cloner et installer les dépendances frontend

git clone <REPO_URL> naixus-v2
cd naixus-v2
pnpm install

2. Installer les dépendances Python (services backend)

# Service Core
cd services/core
uv sync
cd ../..

# Service RAG
cd services/rag
uv sync
cd ../..

3. Configurer l'environnement

Créez un fichier .env à la racine du projet :

# Mode développement
NODE_ENV=development
ENVIRONMENT=development
DEBUG=true

# Base de données (SQLite pour le dev)
USE_SQLITE=true
SQLITE_DB_PATH=./data/naixus.db

# Chiffrement des secrets (générer une clé Fernet)
ENCRYPTION_KEY=<votre_clé_fernet>

# Fournisseur LLM (au moins un)
OPENAI_API_KEY=sk-...
# ou OLLAMA_BASE_URL=http://localhost:11434

Pour générer une clé Fernet :

python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"

4. Initialiser la base de données

# Appliquer les migrations Core
cd services/core
uv run alembic upgrade head
cd ../..

# Appliquer les migrations RAG (nécessite PostgreSQL + pgvector)
# Optionnel en dev si vous ne travaillez pas sur le RAG

5. Lancer tous les services

# Tout lancer via Turborepo
pnpm dev

Cela démarre en parallèle :

ServicePortDescription
Console Admin (Next.js)3000Interface d'administration
Core API (FastAPI)8000API principale
Yjs Server (WebSocket)1234Collaboration temps réel
Web Widget (Vite)5173Widget chat embarquable
Docs (TanStack Start)3002Site de documentation

6. Vérifier que tout fonctionne

# API Core
curl http://localhost:8000/health

# Console Admin
# Ouvrir http://localhost:3000 dans le navigateur

En mode développement, l'authentification est simplifiée : si aucun JWT n'est fourni, un utilisateur démo admin est automatiquement créé. Vous devez toujours fournir le header X-Tenant-ID.

Structure du monorepo

naixus-v2/
├── apps/
│   ├── console_admin/    # Next.js 16 — Admin UI
│   ├── web-widget/       # Vite + React — Widget chat
│   ├── docs/             # TanStack Start + Fumadocs — Documentation
│   └── yjs_server/       # Node.js — Serveur de collaboration
├── services/
│   ├── core/             # FastAPI — API principale + moteur d'exécution
│   └── rag/              # FastAPI — Service RAG (embeddings, retrieval)
├── packages/
│   ├── shared/           # Types TypeScript partagés
│   └── shared-python/    # Ports et utilitaires Python partagés
├── turbo.json            # Configuration Turborepo
├── pnpm-workspace.yaml   # Workspaces pnpm
└── docker-compose.yml    # Stack Docker (PostgreSQL, Redis)

Commandes utiles

CommandeAction
pnpm devLancer tous les services en dev
pnpm buildBuild complet (tous les apps)
pnpm testTests unitaires (Vitest + pytest)
pnpm test:e2eTests end-to-end (Playwright)
pnpm lintLinting (ESLint + Ruff)
pnpm lint:fixAuto-fix linting
pnpm formatFormatage (Prettier + Black)
pnpm format:checkVérifier le formatage
pnpm generateGénérer le registre de nodes + types
pnpm db:migrateAppliquer les migrations DB

Prochaines étapes

On this page