Skip to content

Release v0.4.0 — zero-config first run#28

Merged
abhiksark merged 8 commits into
mainfrom
dev
Jun 20, 2026
Merged

Release v0.4.0 — zero-config first run#28
abhiksark merged 8 commits into
mainfrom
dev

Conversation

@abhiksark

Copy link
Copy Markdown
Owner

Release v0.4.0 — zero-config first run

Promotes the zero-config onboarding work to main for tagging and release.

What's new

  • Zero-config first run: pythonlings with no workspace now creates one at ~/.pythonlings and opens the first exercise — no init, no --path, no cd. (Fixes the sharp edge where pythonlings init defaulted to the current directory and failed inside a non-empty folder.)
  • PYTHONLINGS_HOME env var to relocate the default workspace; --path/--root still work for explicit locations.
  • Friendlier init: idempotent on an existing workspace (a note instead of an error), and an actionable message for a non-empty, non-workspace directory.
  • Every command resolves its workspace the same way: explicit --root → current dir if it's a workspace → ~/.pythonlings.

Implementation

New core/workspace.py (default location + precedence resolver); CLI wiring so only TUI-launch commands auto-create; version bumped to 0.4.0. Built via brainstorm → spec → plan → subagent-driven implementation, each task spec+quality reviewed, plus a clean final whole-branch review.

Verification

  • python -m pytest -q136 passed
  • Built wheel installs and reports pythonlings 0.4.0
  • Workspace smoke (init/list/solution/reset/verify) passes

Closes the onboarding UX issue raised in this cycle.

Design for Rustlings-grade onboarding: bare 'pythonlings' auto-creates a hidden ~/.pythonlings workspace (overridable via PYTHONLINGS_HOME or --path) and launches the first exercise, with a cwd-workspace-wins resolver and friendlier init errors. Target 0.4.0.
Five TDD tasks: core/workspace.py (default location + resolver), friendlier init messages, CLI wiring with auto-create, and the 0.4.0 docs/version bump.
@abhiksark abhiksark merged commit 047694c into main Jun 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant