Releases: skateddu/claude-code-python-setup
Releases · skateddu/claude-code-python-setup
v1.3.0
Ready-to-use .claude configuration for Python projects — this release puts recently-documented Claude Code hook events to work and syncs the docs.
Added
- Hooks
verify.sh(Stop): runsruff check+pytestwhen a turn ends; on failure, blocks the stop and feeds errors back so Claude keeps fixing until green (loop-guarded viastop_hook_active). - Hooks
guard-secrets.sh(UserPromptSubmit): blocks prompts containing a hardcoded secret (AWS/GitHub/Google/Slack/Anthropic/OpenAI keys, PEM private keys). - Hooks
session-start.sh(SessionStart): checks the uv environment (.venv,uv.lockfreshness) and injects status into the session context. - Settings:
fallbackModelchain (claude-sonnet-4-6,claude-haiku-4-5) for continuity when the primary model is unavailable. - pyproject.toml: PEP 735
[dependency-groups]— defaultdevgroup plus an opt-inagentsgroup (uv sync --group agents). - .gitattributes: forces
*.shto LF so the hooks stay runnable on Windows checkouts.
Changed
- enforce-uv: auto-rewrites simple bare
python/pytest/ruff/mypy/banditcalls touv run …viaupdatedInputinstead of blocking;pipand compound commands still deny with guidance. - Hooks (
enforce-uv,protect-main): migrated to the currenthookSpecificOutput.permissionDecisionformat. - Agents: removed the hardcoded "Daisy" persona from description examples.
- Docs: README + CLAUDE.md synced with recent Claude Code releases (subagent nesting, full
permissionDecisionset, dependency groups,fallbackModel).
Fixed
- protect-main:
git push --force-with-leaseis no longer incorrectly blocked.
Full changelog: https://github.com/skateddu/claude-code-python-setup/blob/main/CHANGELOG.md