Skip to content

Configuration

ai-in-pm edited this page Mar 15, 2026 · 1 revision

Configuration

System-of-Record (system-of-record.json)

The system-of-record is NemoClawd's identity anchor. It is verified at every launch via scripts/verify-system-of-record.mjs and ensures runtime behaviour stays consistent across builds and deployments.

// system-of-record.json (example structure)
{
  "identity": {
    "name": "NemoClawd",
    "version": "1.0.0",
    "persona": "Digital Project Manager"
  },
  "capabilities": [...],
  "build": {
    "timestamp": "...",
    "node": "...",
    "python": "..."
  }
}

To view the current status:

pnpm run sor:status

To verify without viewing:

pnpm run sor:verify

Environment Variables

NemoClawd uses environment variables for all secrets and deployment-specific settings. No credentials should ever be hardcoded.

Variable Required Description
GOOGLE_CLIENT_ID_B64 Optional Base64-encoded Google OAuth Client ID
GOOGLE_CLIENT_SECRET_B64 Optional Base64-encoded Google OAuth Client Secret

Set these in a .env file at the repo root (never committed) or in your shell profile:

export GOOGLE_CLIENT_ID_B64="<base64-encoded-value>"
export GOOGLE_CLIENT_SECRET_B64="<base64-encoded-value>"

TypeScript Configuration (tsconfig.json)

{
  "compilerOptions": {
    "target": "ESNext",
    "module": "ESNext",
    "moduleResolution": "bundler",
    "outDir": "./dist",
    "strict": true
  }
}

Key settings:

  • "type": "module" in package.json — all JS is ES modules
  • "target": "ESNext" — modern JavaScript output
  • "strict": true" — full TypeScript strict mode

Python Configuration (pyproject.toml)

[project]
name = "nemoclawd-bridge"
version = "0.1.0"
requires-python = ">=3.11,<3.14"

The Python bridge package is installed into a virtual environment created by pnpm run bootstrap:python. The venv is located at python_src/.venv/ (created during bootstrap).


Workflow Configuration (workflows/)

NeMo workflows are defined as YAML files in the workflows/ directory. The sample workflow is at workflows/nemo-sample.workflow.yml.

Workflow files are passed to the nat CLI:

nat run workflows/nemo-sample.workflow.yml

See NeMo Agent Toolkit for full workflow authoring documentation.


Docker Configuration

Dockerfile

Multi-stage build that:

  1. Installs Node.js dependencies
  2. Builds the TypeScript layer
  3. Bootstraps the Python environment
  4. Produces a minimal production image

docker-compose.yml

Defines the nemoclawd service. Key settings:

services:
  nemoclawd:
    build: .
    environment:
      - GOOGLE_CLIENT_ID_B64
      - GOOGLE_CLIENT_SECRET_B64

Pass secrets as environment variables when running:

GOOGLE_CLIENT_ID_B64=xxx docker compose up nemoclawd

Clone this wiki locally