Everything NotNessie does is reachable through the notnessie command. This page
documents every command and its key options, taken from the CLI source.
notnessie [command] [options]
Global flags:
| Flag | Description |
|---|---|
-v, --version |
Print the installed version. |
--help |
Show help. Also shown when a command is misused or run with no arguments. |
!!! note “Most commands need the database”
Commands that read or write memory need Postgres running. Start it with
notnessie pgup, or override the connection with the DATABASE_URL
environment variable. Read-only commands work before init by synthesizing a
transient project keyed to the path.
notnessie initScaffold Claude Code integration and project memory config in a repository, then create the project’s database row and schema.
notnessie init [path]
| Argument / option | Description | Default |
|---|---|---|
[path] |
Repository root. | . |
-n, --name <name> |
Project name. | the directory name |
-f, --force |
Overwrite existing files. | off |
--no-migrate |
Skip the database schema migration. | migrate on |
Writes .mcp.json, .claude/settings.json,
.claude/skills/notnessie/SKILL.md, and .notnessie/config.json, and merges
a NotNessie block into CLAUDE.md. See Installation.
notnessie statusCheck the database connection, the pgvector extension, the schema, embeddings, and the Claude Code wiring, with per-type memory counts.
notnessie status [path]
| Argument | Description | Default |
|---|---|---|
[path] |
Repository root. | . |
notnessie pgupStart NotNessie’s managed Postgres (pgvector). Reuses an existing
notnessie-postgres container if one is present; otherwise creates one on an
auto-selected free host port (preferring 5432, stepping past any clash). It
waits until Postgres is ready, applies the schema, and saves the connection to a
user-level config (~/.notnessie/db.json) so every repository uses it
automatically — it never writes to a repository’s .env.
notnessie pgup
Requires Docker. Writes and manages a bundled Compose file at
~/.notnessie/docker-compose.yml.
notnessie pgdownStop the managed Postgres. The data volume is preserved by default, so
notnessie pgup brings it back with your memory intact.
notnessie pgdown [--volume]
| Option | Description | Default |
|---|---|---|
-v, --volume |
Also remove the data volume — permanently deletes all stored memory (asks for confirmation first). | off |
notnessie mcpStart the MCP server. This is the command Claude Code launches via .mcp.json;
you rarely run it by hand. Serves over stdio by default.
notnessie mcp [--http] [-p <port>]
| Option | Description | Default |
|---|---|---|
--http |
Serve over Streamable HTTP instead of stdio. | off (stdio) |
-p, --port <port> |
HTTP port (with --http). |
4320 |
See MCP tools for the tools it exposes.
notnessie devRun the local daemon and the Next.js dashboard for browsing and curating memory.
notnessie dev [-p <port>] [--root <path>]
| Option | Description | Default |
|---|---|---|
-p, --port <port> |
Dashboard port. | 4319 |
--root <path> |
Repository root. | current directory |
notnessie searchSearch project memory and print ranked matches (hybrid keyword + semantic).
notnessie search <query> [options]
| Argument / option | Description | Default |
|---|---|---|
<query> |
Search text (required). | — |
-t, --types <types> |
Comma-separated memory types, e.g. decision,constraint. |
all types |
-l, --limit <n> |
Max results. | 8 |
--json |
Output JSON instead of formatted text. | off |
notnessie contextGenerate a context pack for a task — Markdown by default, structured JSON on request.
notnessie context [task] [options]
| Argument / option | Description | Default |
|---|---|---|
[task] |
Task description. Omit for a general project pack. | none |
-l, --limit <n> |
Max memories. | 12 |
--json |
Output structured JSON instead of Markdown. | off |
notnessie seedPopulate the current project with the demo memory dataset, for trying things out.
notnessie seed [--root <path>]
| Option | Description | Default |
|---|---|---|
--root <path> |
Repository root. | current directory |
notnessie memoryInspect and manage stored memory. Has the following subcommands.
notnessie memory listList memories, newest first.
notnessie memory list [options]
| Option | Description | Default |
|---|---|---|
-t, --types <types> |
Comma-separated memory types. | all types |
-l, --limit <n> |
Max results. | 50 |
--deleted |
Show only soft-deleted memories. | off |
--json |
Output JSON instead of formatted text. | off |
notnessie memory showShow a single memory with its source (always JSON).
notnessie memory show <id> [--json]
| Argument / option | Description |
|---|---|
<id> |
Memory id (from notnessie memory list). |
--json |
Output JSON (the default). |
notnessie memory deleteDelete a memory — soft by default (restorable), or permanently with --hard.
notnessie memory delete <id> [--hard] [-y]
| Argument / option | Description |
|---|---|
<id> |
Memory id. |
--hard |
Permanently delete (cannot be restored). |
-y, --yes |
Skip the confirmation prompt (for scripts). |
notnessie memory restoreRestore a soft-deleted memory.
notnessie memory restore <id>
notnessie memory pin / unpinPin a memory so it ranks first, or unpin it.
notnessie memory pin <id>
notnessie memory unpin <id>
notnessie hookRun a Claude Code lifecycle hook. These read a JSON event payload on stdin
and are run by Claude Code, not by hand — they are wired up by
notnessie init in .claude/settings.json. Documented here for completeness;
see Lifecycle hooks.
notnessie hook <event>
| Event | Hook |
|---|---|
session-start |
SessionStart — inject a context pack. |
user-prompt-submit |
UserPromptSubmit — refresh task context. |
post-tool-use |
PostToolUse — capture verified commands. |
stop |
Stop — summarize the session into memory. |
pre-compact |
PreCompact — summarize before compaction. |