← ClaudeAtlas

uv-setuplisted

Scaffold a new Python project with uv by copying shipped template files — uv init --package, then overlay templates for ruff + pyrefly (local hook) pre-commit, Conventional Commits, CI entirely through uv, Dependabot (uv + actions), git-cliff auto-release on merge, PyPI Trusted Publishing (pending publisher, never a token), and a multi-stage Dockerfile for services. Use when starting a new Python project, scaffolding a repo, or asked to "set up" or "initialize" a Python project. For day-to-day work in an existing project, use uv-develop instead.
bcmyguest/personal-skills · ★ 0 · AI & Automation · score 58
Install: claude install-skill bcmyguest/personal-skills
# Scaffolding a uv project Everything ships as **real files under [`templates/`](templates/)** — copy them verbatim, run one substitution pass, make the few marked edits. Do **not** retype configs from memory or improvise structure: the templates are the source of truth, and the decisions below only change *which* files get copied. `uv init` still runs first — uv owns the generated things (git repo, `src/` dir, `uv.lock`, dev-dep versions); the templates overlay everything opinionated on top. What the result looks like: a packaged `src/` layout with a tested hello-world mock, CI running lint + format + types + tests all through uv, hygiene + Conventional Commits enforced at commit time, Dependabot keeping uv.lock and actions current, and — if chosen — every merge to `main` auto-releasing via git-cliff, with PyPI uploads via Trusted Publishing only. Day-to-day work afterwards follows the **uv-develop** skill. ## 0. Ask the decisions | Decision | Options | Default | | -------------------- | ---------------------------------------------------- | -------------- | | Project name | kebab-case; must be free on PyPI if publishing | ask | | GitHub repo slug | `owner/repo` | ask | | One-line description | — | ask | | Project type | library · application/CLI · service · sc