Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 20 additions & 20 deletions docs/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,32 @@ Use natural-language questions against the **jaffle\_shop** dataset using **Wren
## Prerequisites

- **Claude Code** — installed and authenticated ([install guide](https://docs.anthropic.com/en/docs/claude-code/overview))
- **Python 3.9+**
- **Python 3.11+**
- **Node.js / npm** — required if using `npx` to install skills (see Step 3)
- **Git**

---

## Step 0 — Create a Python virtual environment

Create and activate a virtual environment before installing any packages. This keeps dbt and wren-engine dependencies isolated from your system Python:

```bash
python3 -m venv ~/.venvs/wren
source ~/.venvs/wren/bin/activate
```

> **Tip:** Activate this environment (`source ~/.venvs/wren/bin/activate`) in every new terminal session before running `dbt` or `wren` commands.

---

## Step 1 — Seed the jaffle_shop dataset

Clone the dbt jaffle\_shop project and build the DuckDB database:

```bash
git clone https://github.com/dbt-labs/jaffle_shop_duckdb.git
cd jaffle_shop_duckdb
python3 -m venv .venv
source .venv/bin/activate
pip install dbt-core dbt-duckdb
dbt build
```
Expand Down Expand Up @@ -82,8 +94,6 @@ This installs two skills:
| **wren-usage** | Day-to-day workflow — gather context, recall past queries, write SQL, store results |
| **wren-generate-mdl** | One-time setup — explore database schema and generate the MDL project |

> **Important:** Start a **new Claude Code session** after installing skills so they are loaded.

---

## Step 4 — Set up a profile
Expand Down Expand Up @@ -117,6 +127,7 @@ Create a YAML file `jaffle-profile.yml`:
```yaml
datasource: duckdb
url: /Users/you/jaffle_shop_duckdb
format: duckdb
```

Then import it:
Expand Down Expand Up @@ -161,20 +172,9 @@ This creates:
└── instructions.md # business rules for the AI
```

Edit `wren_project.yml` to set the data source:

```yaml
schema_version: 2
name: jaffle_shop
version: "1.0"
# catalog and schema are Wren Engine's internal namespace for this MDL project.
# They are NOT your database's native catalog/schema. Keep the defaults.
catalog: wren
schema: public
data_source: duckdb
```
The generated `wren_project.yml` contains default values for `catalog` and `schema`:

> **Note:** `catalog` and `schema` here define the **Wren Engine namespace** — how the engine addresses this MDL project internally. They have nothing to do with your database's catalog or schema. The actual database location of each table is specified per-model in the `table_reference` section. Keep the defaults (`wren` / `public`) unless you plan to query across multiple MDL projects.
> **Note:** `catalog` and `schema` in `wren_project.yml` define the **Wren Engine namespace** — they have nothing to do with your database's catalog or schema. Keep the defaults (`wren` / `public`). The actual database location of each table is specified per-model in the `table_reference` section.

---

Expand Down Expand Up @@ -304,8 +304,8 @@ wren memory index
| Show project context | `wren context show` |
| Show instructions | `wren context instructions` |
| Build manifest | `wren context build` |
| Fetch context for a question | `wren memory fetch --question "..."` |
| Recall similar queries | `wren memory recall --question "..."` |
| Fetch context for a question | `wren memory fetch --query "..."` |
| Recall similar queries | `wren memory recall --query "..."` |
| Store a NL-SQL pair | `wren memory store --nl "..." --sql "..."` |
| Check memory status | `wren memory status` |
| Re-index memory | `wren memory index` |
Expand Down
Loading