Agent Skill
2/7/2026

python-fastapi-ddd-tooling-skill

Guides project tooling for a Python FastAPI + SQLAlchemy DDD/Onion Architecture codebase: uv-based environment setup, Makefile workflows, ruff formatting/linting, mypy typing, pytest, and CI (GitHub Actions), based on the dddpy reference. Use when bootstrapping a repo or tightening developer experience and quality gates.

I
iktakahiro
0GitHub Stars
1Views
npx skills add iktakahiro/python-fastapi-ddd-skill

SKILL.md

Namepython-fastapi-ddd-tooling-skill
DescriptionGuides project tooling for a Python FastAPI + SQLAlchemy DDD/Onion Architecture codebase: uv-based environment setup, Makefile workflows, ruff formatting/linting, mypy typing, pytest, and CI (GitHub Actions), based on the dddpy reference. Use when bootstrapping a repo or tightening developer experience and quality gates.

name: python-fastapi-ddd-tooling-skill description: Guides project tooling for a Python FastAPI + SQLAlchemy DDD/Onion Architecture codebase: uv-based environment setup, Makefile workflows, ruff formatting/linting, mypy typing, pytest, and CI (GitHub Actions), based on the dddpy reference. Use when bootstrapping a repo or tightening developer experience and quality gates. license: Apache-2.0 metadata: author: Takahiro Ikeuchi version: "1.0.0"

Tooling & DX for FastAPI DDD Projects (uv / ruff / mypy / CI)

This skill is about developer experience and quality automation for a DDD FastAPI project, following the conventions in dddpy.

Goals

  • One-command local setup (make install)
  • Fast feedback loop (make test, make format, make dev)
  • Reproducible CI (GitHub Actions + Python matrix)

Recommended stack (dddpy-style)

  • Python >=3.13
  • uv for venv + dependency install + running tools
  • ruff for formatting/linting
  • mypy for type checking
  • pytest for tests

Makefile workflow (core targets)

Keep a small Makefile that shells out to tools inside .venv/:

  • venv: create .venv
  • install: install editable package + dev deps
  • test: run mypy + pytest
  • format: run ruff formatter
  • dev: run fastapi dev via uv

CI workflow

Run make install + make test on push/PR with a Python version matrix (e.g., 3.13, 3.14) and install uv in CI.

App bootstrap patterns

  • Use FastAPI lifespan to create tables on startup and dispose the engine on shutdown.
  • Keep SQLAlchemy engine/session setup in infrastructure/sqlite/database.py (or equivalent).
  • Configure logging once at startup (logging.config.fileConfig(...)).

For concrete file templates (Makefile, workflow YAML, bootstrap snippets), read references/TOOLING.md.

Skills Info
Original Name:python-fastapi-ddd-tooling-skillAuthor:iktakahiro