diff --git a/docs/getting_started_with_claude_code.md b/docs/getting_started_with_claude_code.md index 1ba1d3484..e4801373d 100644 --- a/docs/getting_started_with_claude_code.md +++ b/docs/getting_started_with_claude_code.md @@ -65,13 +65,13 @@ If you prefer to run each step yourself, follow these phases in order. Create a directory on your host machine. This directory will be mounted into the Docker container so it can read and write MDL files. ```bash -mkdir -p /${PWD}/wren-workspace +mkdir -p ${PWD}/wren-workspace ``` The completed workspace will look like: ``` -/${PWD}/wren-workspace/ +${PWD}/wren-workspace/ ├── wren_project.yml ├── connection.yml ├── models/ diff --git a/docs/quickstart.md b/docs/quickstart.md index 53bef2aac..540e39a1f 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -94,7 +94,7 @@ When prompted for connection details, provide: | Field | Value | |-------|-------| | Data source type | `duckdb` | -| Database file path | `/data/jaffle_shop.duckdb` | +| Database folder path | `/data` (the folder containing `jaffle_shop.duckdb`) | | Workspace path | `~/wren-workspace` | | jaffle_shop directory | your absolute path to `jaffle_shop_duckdb/` | @@ -153,7 +153,7 @@ In Claude Code, run each skill in sequence: When prompted, enter: - Data source type: `duckdb` -- Database file path: `/data/jaffle_shop.duckdb` +- Database folder path: `/data` (the folder containing `jaffle_shop.duckdb`) Then save the MDL as a versioned YAML project: diff --git a/skills/index.json b/skills/index.json index 32ac24d37..5db4637cf 100644 --- a/skills/index.json +++ b/skills/index.json @@ -7,7 +7,7 @@ "skills": [ { "name": "wren-connection-info", - "version": "1.1", + "version": "1.2", "description": "Set up data source type and connection credentials for Wren Engine.", "tags": [ "wren", @@ -88,7 +88,7 @@ }, { "name": "wren-quickstart", - "version": "1.0", + "version": "1.1", "description": "End-to-end quickstart for Wren Engine — from zero to querying.", "tags": [ "wren", diff --git a/skills/versions.json b/skills/versions.json index ef201657f..b62a7c63a 100644 --- a/skills/versions.json +++ b/skills/versions.json @@ -1,9 +1,9 @@ { "generate-mdl": "1.2", - "wren-connection-info": "1.1", + "wren-connection-info": "1.2", "wren-project": "1.4", "wren-sql": "1.0", "wren-mcp-setup": "1.2", - "wren-quickstart": "1.0", + "wren-quickstart": "1.1", "wren-usage": "1.0" } diff --git a/skills/wren-connection-info/SKILL.md b/skills/wren-connection-info/SKILL.md index bec3348ca..27101c176 100644 --- a/skills/wren-connection-info/SKILL.md +++ b/skills/wren-connection-info/SKILL.md @@ -4,12 +4,13 @@ description: Set up data source type and connection credentials for Wren Engine. license: Apache-2.0 metadata: author: wren-engine - version: "1.1" + version: "1.2" --- # Wren Connection Info Sets up the data source type and credentials before any workflow that queries a database. +Find the specification of the connection info format in the `model` section of [API reference](https://docs.getwren.ai/oss/wren_engine_api). --- @@ -116,10 +117,23 @@ database: sf_schema: ``` -### DuckDB +### File based (S3, Minio, GCS, local file) +For the object storage connectors (S3, Minio, GCS) and local file sources, use this format: +``` +format: # e.g. "csv", "parquet" +url: +``` +If credentials are needed (e.g. S3 access key and secret), include these fields as well: +``` +access_key: +secret_key: +``` +### DuckDB +It leverages the same connection info format as file-based sources, but with `format: duckdb` to indicate that it's a DuckDB data source rather than a generic file source. ``` -url: +format: duckdb +url: ``` ### Athena diff --git a/skills/wren-quickstart/SKILL.md b/skills/wren-quickstart/SKILL.md index 209cef3a1..8374db287 100644 --- a/skills/wren-quickstart/SKILL.md +++ b/skills/wren-quickstart/SKILL.md @@ -5,7 +5,7 @@ compatibility: Requires Docker Desktop (or Docker Engine). No local database dri license: Apache-2.0 metadata: author: wren-engine - version: "1.0" + version: "1.1" --- # Wren Quickstart @@ -13,10 +13,10 @@ metadata: ## Version check Silently fetch `https://raw.githubusercontent.com/Canner/wren-engine/main/skills/versions.json`. -Compare the `wren-quickstart` key with this skill's version (`1.0`). +Compare the `wren-quickstart` key with this skill's version (`1.1`). If the remote version is newer, notify the user before proceeding: -> A newer version of the **wren-quickstart** skill is available (remote: X.Y, installed: 1.0). +> A newer version of the **wren-quickstart** skill is available (remote: X.Y, installed: 1.1). > Update with: > ```bash > curl -fsSL https://raw.githubusercontent.com/Canner/wren-engine/main/skills/install.sh | bash -s -- --force wren-quickstart @@ -34,12 +34,27 @@ This skill walks a user through setting up Wren Engine end-to-end — from creat ## Phase 1 — Create a workspace +### 1a — Set up Python virtual environment + +Before creating the workspace, ensure a Python virtual environment is available. This is required if the user will run **ibis-server locally** (instead of relying solely on Docker). Skip this step if the user will use only the Dockerized ibis-server. + +```bash +python3 -m venv .venv +source .venv/bin/activate # macOS / Linux +# .venv\Scripts\activate # Windows +pip install --upgrade pip +``` + +> **Tip:** Place the venv inside or adjacent to the workspace directory so it is easy to find. Avoid committing it to version control — add `.venv/` to `.gitignore`. + +### 1b — Create a workspace directory + Create a dedicated workspace directory on the host machine. This directory will be mounted into the Docker container, so the container can read and write MDL files. Ask the user where they want the workspace, or suggest a default: ```bash -mkdir -p ~/wren-workspace +mkdir -p ${PWD}/wren-workspace ``` Save the chosen path as `` (absolute path, e.g. `/Users/me/wren-workspace`). All subsequent steps reference this path.