uv-start ======= **uv-start** is a command-line tool that wraps the `uv `_ package manager to scaffold well-configured Python projects in seconds. The problem ----------- Every new Python project needs the same boilerplate: a ``pyproject.toml`` with linter/formatter settings, a test directory, pre-commit hooks, CI workflows, conventional-commit tooling, and so on. Setting all of this up by hand is tedious and error-prone. **uv-start** automates the entire process. Run one command and get a production-ready project layout with modern development tools pre-configured and ready to go. Key features ------------ - **Project types** — create libraries (``lib``) or installable packages (``package``) - **Development tools** — Ruff, Ty, pytest, commitizen, and pre-commit are configured out of the box - **GitHub integration** — initialise a Git repo, create a GitHub remote, and set up CI/CD workflows with a single flag - **Workspace support** — scaffold monorepo workspaces with shared utilities and multiple sub-projects - **Python version selection** — target Python 3.10 through 3.14 Quick start ----------- .. code-block:: bash # Clone and install git clone https://github.com/Helfrid/uv-start.git cd uv-start && uv sync # Create a new library project UV_ORIGINAL_CWD="$PWD" uv run --directory /path/to/uv-start uv-start my-project See :doc:`installation` for full setup instructions and :doc:`usage` for all available options and examples. .. toctree:: :maxdepth: 2 :caption: Contents installation usage api contributing ty-migration-notes