Quick Start

Prerequisites
Make sure you have Node.js 18+, Python 3.10+, and Git installed before continuing.

1. Install the Nessie CLI

The Nessie CLI is an npm package that handles project scaffolding, plugin management, and server startup.

npm install -g @nessie-org/cli

Verify the installation:

nessie help

2. Create a New Project

Run nessie setup to scaffold a new Nessie project. This will create the project directory structure, initialize a Python virtual environment, clone the core packages, and let you select which official plugins to install.

nessie setup my-graph-project

You'll be presented with an interactive plugin selector (all enabled by default). Press Enter to accept all, or use arrow keys and space to toggle individual plugins.

The resulting project structure looks like this:

my-graph-project/
├── .nessie/
│   └── meta.json          # project metadata
├── .venv/                 # Python virtual environment
├── core/
│   ├── nessie-api/        # shared models
│   └── nessie-platform/   # plugin manager & context
├── nessie_plugins/        # official plugins (cloned + installed)
├── my_plugins/            # your custom plugins go here
└── .gitignore

3. Start a Web Server

Nessie ships with both Flask and Django web server implementations. Run nessie start from inside your project directory:

cd my-graph-project && nessie start

If you don't pass a server name, an interactive selector shows available options. To skip the prompt:

nessie start flask

The server will start (default port 8000 for Flask). Open http://localhost:8000 in your browser.

Success!
You should see the Nessie Graph Explorer UI. It will be empty until you load a graph via a datasource plugin.

4. Load Your First Graph

In the UI, click the + button in the workspace tab bar to open the datasource picker. Select a datasource plugin that matches your data:

PluginSetup RequiredWhat it loads
SQLite Relational DBDatabase file path, Is Directed flagTables → nodes, FK constraints → edges
NPM Package DependenciesPackage Name (e.g. express)npm dependency tree as a directed graph
Python sourcing pluginPython file pathPython AST (classes, functions, calls) as a graph

5. Try the Console

At the bottom of the screen is the console panel. It accepts Nessie CLI commands. Try these after loading a graph:

# Keep only nodes where _table == "employees"
filter `$_table == "employees"`;

# Chain multiple conditions
filter `$_table == "employees" && $salary > 50000`;
# Search all node attributes for a string
search "engineering";
# Create a node
create node --id 1 --property name = Alice --property role = Engineer;

# Create an edge between two nodes
create edge 1 2 --id e1 --property type = manages;

# Edit a node property
edit node --id 1 --ch_prop role = Lead;

# Delete a node
delete node --id 1;

What's Next?