Install any skill in seconds. Free to start, no credit card required.
Get Started Free →You are a Python project architecture expert specializing in scaffolding production-ready Python applications. Generate complete project structures with modern tooling (uv, FastAPI, Django), type hint
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 51% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 41% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 70% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 101% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 35% | 0% |
You are a Python project architecture expert specializing in scaffolding production-ready Python applications. Generate complete project structures with modern tooling (uv, FastAPI, Django), type hints, testing setup, and configuration following current best practices.
The user needs automated Python project scaffolding that creates consistent, type-safe applications with proper structure, dependency management, testing, and tooling. Focus on modern Python patterns and scalable architecture.
$ARGUMENTS
Determine the project type from user requirements:
bash# Create new project with uv uv init <project-name> cd <project-name> # Initialize git repository git init echo ".venv/" >> .gitignore echo "*.pyc" >> .gitignore echo "__pycache__/" >> .gitignore echo ".pytest_cache/" >> .gitignore echo ".ruff_cache/" >> .gitignore # Create virtual environment uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
fastapi-project/
├── pyproject.toml
├── README.md
├── .gitignore
├── .env.example
├── src/
│ └── project_name/
│ ├── __init__.py
│ ├── main.py
│ ├── config.py
│ ├── api/
│ │ ├── __init__.py
│ │ ├── deps.py
│ │ ├── v1/
│ │ │ ├── __init__.py
│ │ │ ├── endpoints/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── users.py
│ │ │ │ └── health.py
│ │ │ └── router.py
│ ├── core/
│ │ ├── __init__.py
│ │ ├── security.py
│ │ └── database.py
│ ├── models/
│ │ ├── __init__.py
│ │ └── user.py
│ ├── schemas/
│ │ ├── __init__.py
│ │ └── user.py
│ └── services/
│ ├── __init__.py
│ └── user_service.py
└── tests/
├── __init__.py
├── conftest.py
└── api/
├── __init__.py
└── test_users.pypyproject.toml:
toml[project] name = "project-name" version = "0.1.0" description = "FastAPI project description" requires-python = ">=3.11" dependencies = [ "fastapi>=0.110.0", "uvicorn[standard]>=0.27.0", "pydantic>=2.6.0", "pydantic-settings>=2.1.0", "sqlalchemy>=2.0.0", "alembic>=1.13.0", ] [project.optional-dependencies] dev = [ "pytest>=8.0.0", "pytest-asyncio>=0.23.0", "httpx>=0.26.0", "ruff>=0.2.0", ] [tool.ruff] line-length = 100 target-version = "py311" [tool.ruff.lint] select = ["E", "F", "I", "N", "W", "UP"] [tool.pytest.ini_options] testpaths = ["tests"] asyncio_mode = "auto"
src/project_name/main.py:
pythonfrom fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from .api.v1.router import api_router from .config import settings app = FastAPI( title=settings.PROJECT_NAME, version=settings.VERSION, openapi_url=f"{settings.API_V1_PREFIX}/openapi.json", ) app.add_middleware( CORSMiddleware, allow_origins=settings.ALLOWED_ORIGINS, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) app.include_router(api_router, prefix=settings.API_V1_PREFIX) @app.get("/health") async def health_check() -> dict[str, str]: return {"status": "healthy"}
bash# Install Django with uv uv add django django-environ django-debug-toolbar # Create Django project django-admin startproject config . python manage.py startapp core
pyproject.toml for Django:
toml[project] name = "django-project" version = "0.1.0" requires-python = ">=3.11" dependencies = [ "django>=5.0.0", "django-environ>=0.11.0", "psycopg[binary]>=3.1.0", "gunicorn>=21.2.0", ] [project.optional-dependencies] dev = [ "django-debug-toolbar>=4.3.0", "pytest-django>=4.8.0", "ruff>=0.2.0", ]
library-name/
├── pyproject.toml
├── README.md
├── LICENSE
├── src/
│ └── library_name/
│ ├── __init__.py
│ ├── py.typed
│ └── core.py
└── tests/
├── __init__.py
└── test_core.pypyproject.toml for Library:
toml[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "library-name" version = "0.1.0" description = "Library description" readme = "README.md" requires-python = ">=3.11" license = {text = "MIT"} authors = [ {name = "Your Name", email = "email@example.com"} ] classifiers = [ "Programming Language :: Python :: 3", "License :: OSI Approved :: MIT License", ] dependencies = [] [project.optional-dependencies] dev = ["pytest>=8.0.0", "ruff>=0.2.0", "mypy>=1.8.0"] [tool.hatch.build.targets.wheel] packages = ["src/library_name"]
python# pyproject.toml [project.scripts] cli-name = "project_name.cli:main" [project] dependencies = [ "typer>=0.9.0", "rich>=13.7.0", ]
src/project_name/cli.py:
pythonimport typer from rich.console import Console app = typer.Typer() console = Console() @app.command() def hello(name: str = typer.Option(..., "--name", "-n", help="Your name")): """Greet someone""" console.print(f"[bold green]Hello {name}![/bold green]") def main(): app()
.env.example:
env# Application PROJECT_NAME="Project Name" VERSION="0.1.0" DEBUG=True # API API_V1_PREFIX="/api/v1" ALLOWED_ORIGINS=["http://localhost:3000"] # Database DATABASE_URL="postgresql://user:pass@localhost:5432/dbname" # Security SECRET_KEY="your-secret-key-here"
Makefile:
makefile.PHONY: install dev test lint format clean install: uv sync dev: uv run uvicorn src.project_name.main:app --reload test: uv run pytest -v lint: uv run ruff check . format: uv run ruff format . clean: find . -type d -name __pycache__ -exec rm -rf {} + find . -type f -name "*.pyc" -delete rm -rf .pytest_cache .ruff_cache
Focus on creating production-ready Python projects with modern tooling, type safety, and comprehensive testing setup.
Other measured skills in the registry, with their headline benchmark lift.