new-python-project
Sets up Python projects with the modern uv toolchain - uv for packages and environments, ruff for lint and format, pytest for tests, ty for type checking, and pre-commit to run them on every commit. Use this skill when the user starts a new Python project, package, CLI, library, or service; when they want to add testing, linting, formatting, or type checking to an existing Python directory; when they ask to turn a script or legacy project into a proper package; or when they mention uv, ruff, pytest, pre-commit, pyproject.toml, or src layout. Also use it when the user asks for a Python project without naming any tooling, or reaches for pip, venv, requirements.txt, poetry, or setup.py - the setup should still go through uv. Do not use it to add a runtime dependency to an already-configured project.
- Compatibility
- Requires uv and git
Pinned to revision 41a7ff590b8f, so it is the text this page describes rather than whatever the author pushed since.
Pre-approved tools experimental
Experimental field. Support varies between clients, so this list is what the author declared, not what your client will enforce.
- Bash(uv init*)
- Bash(uv add*)
- Bash(uv sync*)
- Bash(uv lock*)
- Bash(uv python*)
Files
Every link opens the file at its source, pinned to the revision this page describes.