A CLI tool that generates Django 6.1 projects with HTMX, AlpineJS, TailwindCSS, and more — with optional Docker, PostgreSQL, DRF, Celery, Sentry, Stripe, and cloud integrations.
📚 Full documentation: mds.rianbarriga.com 📝 Release history: CHANGELOG.md
Requires Python 3.12+.
# uv (recommended)
uv tool install modern-django-starter
# pip
pip install modern-django-startermodern-django-starter create my_projectTo create a project somewhere else:
modern-django-starter create my_project --output-dir /path/to/projectsProject names must be valid Python identifiers because they become the Django package name.
Without extra flags, the CLI asks for your choices interactively:
| Option | Choices |
|---|---|
| Docker | yes / no |
| PostgreSQL | 15, 16, 17, 18 |
| Cloud provider | none, AWS, Azure, GCP, Render, Railway, PythonAnywhere, Fly.io, Dokku, Heroku |
| Storage provider | local, AWS, GCP, Azure, Cloudflare R2 |
| Email provider | none, SendGrid, Mailgun, SES, Postmark |
| Async support | yes / no |
| Django REST Framework | yes / no |
| Celery | yes / no |
| Sentry | yes / no |
| Stripe | yes / no |
| Frontend pipeline | none, webpack, vite, parcel |
| CI tool | none, GitHub Actions, GitLab CI, Travis, CircleCI |
Pass --api-only to skip the frontend and generate a pure DRF backend:
modern-django-starter create my_api --api-onlyIncludes:
- Django REST Framework
- JWT auth (djangorestframework-simplejwt)
- CORS (django-cors-headers)
- API schema and docs (drf-spectacular)
- Registration/auth endpoints (dj-rest-auth, django-allauth)
- Django 6.1
- HTMX and AlpineJS
- Django-allauth authentication
- TailwindCSS and DaisyUI styling
- Settings split into
base,development, andproduction - Optional: Docker, PostgreSQL, DRF, Celery, Sentry, Stripe, CI workflow, frontend pipeline
- Python 3.12+
- uv
- Node.js and npm (only needed if you test frontend pipeline generation)
git clone https://github.com/CasualEngineerZombie/modern-django-starter.git
cd modern-django-starter
uv syncRun the same checks as CI:
uv run ruff check .
uv run ruff format --check .
uv run mypy
uv run pytestCI runs lint, type checking, and tests on Python 3.12, 3.13, and 3.14.
The docs site (mds.rianbarriga.com) is built with
MkDocs Material and deployed to GitHub Pages by the docs.yml workflow on every push
to main. Sources live in docs/. Preview locally with:
uv sync --group docs
uv run mkdocs servePull requests are welcome. Run the checks above before submitting.
MIT — see the LICENSE file.