diff --git a/docs/quickstart.md b/docs/quickstart.md index 0b4f6ee9f..635ee2ff9 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -11,11 +11,25 @@ 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: @@ -23,8 +37,6 @@ 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 ``` @@ -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 @@ -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: @@ -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. --- @@ -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` |