docs: improve quickstart DuckDB setup to reduce user pitfalls#1454
docs: improve quickstart DuckDB setup to reduce user pitfalls#1454douenergy merged 1 commit intoCanner:mainfrom
Conversation
Promote /wren-quickstart skill as the primary path instead of presenting manual setup as an equal option. Collapse manual setup into a <details> block for advanced users. Add explicit DuckDB connectionInfo format (url must be a directory, not a file) with JSON example and common mistake callout. Add troubleshooting entries for UTF-8 decode error and catalog name mismatch — both observed in real user sessions. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
📝 WalkthroughWalkthroughThe quickstart documentation has been expanded to include a detailed manual setup workflow alongside the existing automated path. The changes introduce phased instructions, inline configuration guidance, warnings about common mistakes, and enhanced troubleshooting information to support users setting up DuckDB connections manually. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment Tip You can disable poems in the walkthrough.Disable the |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
docs/quickstart.md (1)
119-133:⚠️ Potential issue | 🟠 MajorManual setup still misses
CONNECTION_FILE_ROOT, so the documented failure mode can persist.Given the PR context, Option B should include
CONNECTION_FILE_ROOTindocker run, and troubleshooting should mention it explicitly; otherwise users can still hit the same setup failure even with correcturl/format.Suggested doc patch
docker run -d \ --name wren-mcp \ -p 8000:8000 \ -p 9000:9000 \ -p 9001:9001 \ -e ENABLE_MCP_SERVER=true \ -e MCP_TRANSPORT=streamable-http \ -e MCP_HOST=0.0.0.0 \ -e MCP_PORT=9000 \ -e WREN_URL=localhost:8000 \ -e MDL_PATH=/workspace/target/mdl.json \ + -e CONNECTION_FILE_ROOT=/data \ -v ~/wren-workspace:/workspace \ -v "$JAFFLE_SHOP_DIR":/data \ ghcr.io/canner/wren-engine-ibis:latest**`/generate-mdl` fails immediately:** The container must be running first. Run `docker ps --filter name=wren-mcp` to confirm, then retry. + +**Connection configuration fails due to missing root path env:** +Ensure `CONNECTION_FILE_ROOT` is set when starting the container (for this guide: `/data`).Also applies to: 245-267
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/quickstart.md` around lines 119 - 133, The docker run snippets are missing the required environment variable CONNECTION_FILE_ROOT; update both docker run blocks (the one with WREN_URL/MDL_PATH and the other similar block) to include -e CONNECTION_FILE_ROOT=<path inside container where connection files live> (choose a path that matches your mounted volume), and add a troubleshooting note that a missing or incorrect CONNECTION_FILE_ROOT will cause the described setup failure even if url/format are correct so users should verify this env var points at the mounted connection files directory.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In `@docs/quickstart.md`:
- Around line 119-133: The docker run snippets are missing the required
environment variable CONNECTION_FILE_ROOT; update both docker run blocks (the
one with WREN_URL/MDL_PATH and the other similar block) to include -e
CONNECTION_FILE_ROOT=<path inside container where connection files live> (choose
a path that matches your mounted volume), and add a troubleshooting note that a
missing or incorrect CONNECTION_FILE_ROOT will cause the described setup failure
even if url/format are correct so users should verify this env var points at the
mounted connection files directory.
Summary
/wren-quickstartskill as the default path — manual setup is now collapsed in a<details>block for advanced usersconnectionInfoformat with JSON example and "common mistake" callout (urlmust be a directory, not the.duckdbfile)Context
A user followed the quickstart with an AI agent and hit several DuckDB-specific pitfalls (see session summary analysis). The agent bypassed skills and tried to configure connectionInfo manually, leading to:
'utf-8' codec can't decode byte— pointedurlto the binary.duckdbfile instead of its parent directoryCatalog "xxx" does not exist— catalog name mismatch between MDL and DuckDB filenameCONNECTION_FILE_ROOTenv varThese changes make the happy path (skill-driven) the obvious default and provide enough detail in the manual path to avoid the most common mistakes.
Test plan
<details>block and anchor links)🤖 Generated with Claude Code
Summary by CodeRabbit