Files
mem0ai--mem0/cli/node/development.md
T
wehub-resource-sync 555e282cc4
ci / changelog_check (push) Waiting to run
ci / check_changes (push) Waiting to run
ci / build_mem0 (3.10) (push) Blocked by required conditions
ci / build_mem0 (3.11) (push) Blocked by required conditions
ci / build_mem0 (3.12) (push) Blocked by required conditions
CLI Node CI / lint (push) Waiting to run
CLI Node CI / test (20) (push) Waiting to run
CLI Node CI / test (22) (push) Waiting to run
CLI Node CI / build (push) Waiting to run
CLI Python CI / lint (push) Waiting to run
CLI Python CI / test (3.10) (push) Waiting to run
CLI Python CI / test (3.11) (push) Waiting to run
CLI Python CI / test (3.12) (push) Waiting to run
CLI Python CI / build (push) Waiting to run
openclaw checks / lint (push) Waiting to run
openclaw checks / test (20) (push) Waiting to run
openclaw checks / test (22) (push) Waiting to run
openclaw checks / build (push) Waiting to run
opencode-plugin checks / build (push) Waiting to run
pi-agent-plugin checks / lint (push) Waiting to run
pi-agent-plugin checks / test (20) (push) Waiting to run
pi-agent-plugin checks / test (22) (push) Waiting to run
pi-agent-plugin checks / build (push) Waiting to run
TypeScript SDK CI / check_changes (push) Waiting to run
TypeScript SDK CI / changelog_check (push) Blocked by required conditions
TypeScript SDK CI / build_ts_sdk (20) (push) Blocked by required conditions
TypeScript SDK CI / build_ts_sdk (22) (push) Blocked by required conditions
TypeScript SDK CI / integration_ts_sdk (20) (push) Blocked by required conditions
TypeScript SDK CI / integration_ts_sdk (22) (push) Blocked by required conditions
chore: import upstream snapshot with attribution
2026-07-13 13:03:45 +08:00

1.4 KiB

Development

Prerequisites

  • Node.js 18+
  • pnpm (npm install -g pnpm)

Setup

From the node/ directory:

pnpm install

Running the CLI

There are two ways to run the CLI during development:

Option 1: Development mode (no build needed)

Uses tsx to run TypeScript directly. Pass CLI arguments after pnpm dev:

pnpm dev --help
pnpm dev version
pnpm dev add "test memory" --user-id alice
pnpm dev search "test" --user-id alice
pnpm dev config show

Note: Do NOT use pnpm dev -- --help. With pnpm, arguments pass through directly — adding -- inserts a literal -- that breaks the CLI parser.

Option 2: Build and run compiled JS

# Build first
pnpm build

# Run the compiled CLI
node dist/index.js --help
node dist/index.js version
node dist/index.js add "test memory" --user-id alice
pnpm build
pnpm link --global

# Now use it like a normal CLI
mem0 --help
mem0 version

Warning: If you also have the Python CLI installed, both register the mem0 command. The last one linked/installed wins. Unlink with pnpm unlink --global.

Build

pnpm build

The compiled output is in dist/.

Run tests

# Run all tests
pnpm test

# Watch mode
pnpm test:watch

Lint

# Check
pnpm lint

# Auto-fix
pnpm lint:fix

Type checking

pnpm typecheck