Skip to content

Introduction

makeapp scaffolds Python projects and provides one command-line interface for routine development tasks.

It can:

  • create a src-layout Python project from composable templates;
  • initialize Git and a uv-managed virtual environment;
  • maintain a changelog and calculate the next release version;
  • run a GitHub Actions test matrix locally;
  • run Ruff checks and build MkDocs documentation;
  • push Git tags and publish distributions to PyPI.

Requirements

  • Python 3.11 or newer;
  • uv;
  • Git for repository and release commands.

Some templates have additional requirements. In particular, webscaff targets Linux and requires system development packages described on the bundled templates page.

Installation

uv tool install makeapp

Upgrade an existing installation with:

uv tool upgrade makeapp

The makeapp executable also has the ma alias. All examples in this documentation use the shorter form.

Where to start

  1. Follow the quickstart to create and validate a project.
  2. Consult the CLI reference for commands and side effects.
  3. Read about configuration and bundled templates.
  4. Use the template authoring guide to create a custom layout.
  5. Read the publishing guide before the first release.