Skip to content

chore(devx): vscode/devcontainer configs, watch/debug deps, dedup quickstart (#1959)#2010

Open
mvillmow wants to merge 2 commits into
mainfrom
1959-impl
Open

chore(devx): vscode/devcontainer configs, watch/debug deps, dedup quickstart (#1959)#2010
mvillmow wants to merge 2 commits into
mainfrom
1959-impl

Conversation

@mvillmow

Copy link
Copy Markdown
Collaborator

Summary

  • .gitignore narrowed (line 29): .vscode/.vscode/* with ! negations for extensions.json, launch.json, settings.json; per-user VS Code cruft (e.g. *.log, tasks.json) remains ignored
  • .vscode/ triplet added: extensions.json (ruff, python, mypy, toml, yaml), launch.json (pytest + scylla CLI debug configs), settings.json (format-on-save, ruff formatter, mypy strategy)
  • .devcontainer/devcontainer.json added: python:1-3.10-bookworm base + ghcr.io/prulloac/devcontainer-features/pixi:1 community feature + postCreateCommand: "pixi install". Note: community feature is unverified outside Codespaces; fallback documented in onboarding.md
  • docs/dev/onboarding.md created: canonical quickstart (prerequisites, pixi install, common tasks, IDE setup, first-PR walkthrough)
  • README.md and CONTRIBUTING.md Quick Start sections replaced with one-liner snippet + link to onboarding.md
  • pytest-watch added to [feature.dev.pypi-dependencies] in pixi.toml; pixi.lock regenerated; ptw binary verified available

Divergences from plan (documented per spec)

  • .tool-versions already existed with pins pixi 0.63.2, just 1.36.0, gh 2.65.0 — left untouched; acceptance criterion 5 already satisfied
  • watch and debug justfile recipes already existed (lines 76-82) — no duplicate additions; only the pytest-watch PyPI dep was missing
  • Verification step fix: plan used pixi run pytest-watch --version (wrong binary); correct is pixi run ptw --version (the pytest-watch package installs a ptw binary)

Verification performed

  • git check-ignore -v .vscode/extensions.json → matched negation rule (not ignored)
  • git check-ignore -v .vscode/other.log → matched .vscode/* (still ignored)
  • python -m json.tool on all 4 JSON files → exit 0
  • pixi run ptw --versionpytest-watch 4.2.0
  • pixi run python -c "import scylla.cli.main; assert hasattr(scylla.cli.main, 'cli')" → exit 0
  • pixi run lint → all checks passed
  • pre-commit run --all-files: ruff format, ruff check, bandit, pip-audit, secrets scan, pixi.lock check all passed; mypy ran in cold-worktree environment

Closes #1959

🤖 Generated with Claude Code

mvillmow and others added 2 commits June 28, 2026 08:51
…ckstart (#1959)

- Patch .gitignore to un-ignore .vscode/{extensions,launch,settings}.json
  while keeping per-user .vscode/* cruft ignored
- Add .vscode/extensions.json, launch.json, settings.json
- Add .devcontainer/devcontainer.json (python:1-3.10-bookworm + pixi feature)
- Create docs/dev/onboarding.md as canonical quickstart (dedup source)
- Trim README.md and CONTRIBUTING.md Quick Start to one snippet + link
- Add pytest-watch to [feature.dev.pypi-dependencies] in pixi.toml
  (enables the already-committed `just watch` recipe via `ptw` binary)
- .tool-versions already existed with correct pins — left untouched
- watch/debug recipes already in justfile — no duplicate additions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: mvillmow <4211002+mvillmow@users.noreply.github.com>
pixi.lock was v7 (incompatible with CI pixi v0.67.2, max v6); regenerated
from main + pytest-watch dev dep using pixi 0.67.2 -> v6.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: mvillmow <4211002+mvillmow@users.noreply.github.com>
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.

[Audit] Minor grab-bag: Developer experience polish

1 participant