v0.7.1 — dev container venv race + stale-venv self-heal
·
34 commits
to main
since this release
A patch release addressing two adopter-blocking dev-container bugs surfaced when the first real project (ai-powered-lead-gen-mvp) scaffolded from v0.7.0.
Fixes
- #99
fix(template): self-heal stale .venv and wait for postCreateCommand.devcontainer.jsonnow declares"waitFor": "postCreateCommand". Without it, VS Code attaches beforepost-create.shfinishes, and the Python + Ruff extensions try to spawn${workspaceFolder}/.venv/bin/pythonbeforemake synchas created it. Symptom:Ruff: spawn .venv/bin/python ENOENTon first attach.make sync-pythonnow self-heals a non-runnable.venv(e.g. dangling symlink after a base-image upgrade or device migration). If.venv/bin/python --versionfails, the venv is removed before re-syncing.uv syncalone wrote lockfile metadata but did not detect or repair a broken interpreter.- New "Dev container" section in
KNOWN-ISSUES.mddocumenting both symptoms and recovery steps for adopters whose containers were built before this fix.
Why this matters for adopters
Anyone who scaffolded from v0.7.0 and opened the project in a VS Code dev container could hit the Ruff ENOENT race. After upgrading to v0.7.1:
- Fresh renders:
Dev Containers: Rebuild Containeronce and the editor attach now blocks until post-create finishes. - Existing renders: pull the two changed files (
devcontainer.json,Makefile.fragments/sync.mk) or re-render and merge perdocs/UPDATING.md.
Upgrade
For copier-rendered projects:
copier update --trust --skip-answered --vcs-ref v0.7.1For cookiecutter-rendered projects, no in-place upgrade flow ships; either re-render and merge per docs/UPDATING.md or cherry-pick the two-file change.
Full diff: v0.7.0...v0.7.1