Hacker Newsnew | past | comments | ask | show | jobs | submit | ritwiktiwari's commentslogin

I got tired of spending 30-60 minutes setting up the same Python project boilerplate every time: pyproject.toml, GitHub Actions, pre-commit, MkDocs, Dockerfile. So I built a Copier template that does it in one command.

What it sets up:

- uv for package management (10-100x faster than pip)

- ruff for linting + formatting (replaces flake8, black, isort)

- ty for type checking (Astral's Rust-based type checker)

- pytest + hatch for multi-version matrix testing

- prek for git hooks (Rust-based pre-commit alternative)

- MkDocs with Material theme + mkdocstrings

- GitHub Actions CI/CD with release automation

- Docker multi-stage build with non-root user

- git-cliff for changelog generation from conventional commits

- Typer CLI scaffold

Why Copier over cookiecutter:

Copier supports copier update — you can pull template improvements into existing projects. With cookiecutter you're stuck with a snapshot.

Try it: uvx copier copy --trust gh:ritwiktiwari/copier-astral my-project

Repo: https://github.com/ritwiktiwari/copier-astral

Docs: https://ritwiktiwari.github.io/copier-astral/

Example output: https://github.com/ritwiktiwari/copier-astral-example


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: