Git-native, PR-driven data platform. Workspaces are isolated data pipelines under workspaces/. DuckLake federates all outputs into one queryable global catalog.
Determine which guide applies based on what the user is doing:
- Editing
workspaces/or asking about pipelines, extraction, data: Read @CONTRIBUTING.md - Editing
.github/or asking about CI, DuckLake, infra, scheduling: Read @MAINTAINING.md - Fresh clone with
setup.sh/setup.ps1or asking about template setup: Read @docs/template-setup.md
If the user's intent is unclear, ask: "Are you contributing a workspace, maintaining infrastructure, or setting up a new registry from the template?"
- Package manager: Pixi. Each workspace has its own
pixi.tomland committedpixi.lock. Rootpixi.tomlandpixi.lockfor shared tools only. - Tool execution: ALL tools via
pixi run <tool>. Never run directly. - Channels: conda-forge only. Fall back to PyPI when unavailable.
- GeoParquet is the standard interchange format. Validate with
pixi run gpio check all. - GDAL: New unified CLI (v3.11+), NOT legacy
ogr2ogr/gdalinfo/ogrinfo. - Platforms: osx-arm64, linux-64, win-64.
- Two runtimes: pixi for workspace pipelines and shared tools. uv for CI scripts in
.github/scripts/. - No
.pixi/in git (only.pixi/config.tomlis tracked).
| Command | What it does |
|---|---|
/new-workspace <name> <lang> |
Scaffold workspace with full contract |
/inspect-file <path> |
Inspect any data file |
/query <SQL> |
Run DuckDB query |
/add-dep <pkg> [-w ws] |
Add dependency |
/convert <in> <out> |
Convert geospatial formats |
/run-in <ws> <task> |
Run task in workspace |
/env-info |
Show environment info |
- Run
/env-infoor env-check skill after setup or when things break - Always run
pixi installafter pulling - DuckDB spatial:
INSTALL spatial; LOAD spatial;(or use duckdb skill with state.sql) - GDAL:
vector convertis format-only. Usevector reproject -d EPSG:xxxxfor CRS changes - Each workspace may use a different language. Check its
pixi.tomlfirst