Steps run by devcontainer.json's postCreateCommand (bash .devcontainer/postCreate.sh).
postCreate.sh runs every *.sh in this directory in filename order, failing loud on the
first error (set -euo pipefail in the runner and in each script).
To add a step: drop a new numbered script here. To reorder: rename the prefixes — order is purely filename-driven, nothing else encodes it. Each script should stay focused on one concern and explain why it exists in its own header comment.
| Script | Does |
|---|---|
01-fix-volume-ownership.sh |
Chowns the root-owned named volumes (.claude, .pi, git config) to vscode |
02-install-databricks-cli.sh |
Installs the Databricks CLI |
03-install-claude-shim.sh |
Writes a claude shim to ~/.local/bin pointing at the VS Code extension's bundled binary |
04-install-claude-skills.sh |
Pulls Databricks Claude Code skills into .claude/skills |
05-install-pi.sh |
Installs the Pi coding agent CLI (npm install -g) |
06-install-pi-settings.sh |
Creates ~/.pi/settings.json so Pi discovers Databricks skills from .claude/skills |
07-sync-scaffold-deps.sh |
uv syncs the bind-mounted pyspark-tdd-scaffold sibling repo, if present |
08-install-dbt.sh |
Installs the dbt Fusion CLI (last: slowest/least essential step) |