codefortify-starter is a professional Django project starter generator for building clean, scalable, and production-ready Django applications faster.
It creates a modern Django architecture with a structured settings layout, reusable app organization, environment-based configuration, templates, static/media setup, and optional support for HTMX, Django REST Framework, Docker, Celery, Redis, PostgreSQL, and MySQL.
Whether you need a simple Django MVT project or a full API-ready Dockerized architecture with background workers, codefortify-starter gives you a consistent foundation for starting new projects.
codefortify-starter is a PyPI-installable Django project generator that helps developers quickly scaffold clean, maintainable, production-ready Django architectures.
By default, it generates a simple Django MVT project. With flags, it can add HTMX, DRF, Docker, Celery, Redis, PostgreSQL, and MySQL.
Most Django projects repeat the same setup work: project layout, settings split, dependency wiring, env bootstrapping, and deployment scaffolding. codefortify-starter reduces that repeated effort and standardizes project initialization.
- Django developers starting new applications
- Teams that want a consistent starter architecture
- Backend/API engineers who need optional DRF, Docker, and Celery setup
- Developers who want a lightweight alternative to larger templating frameworks
Install from PyPI:
pip install codefortify-starterInstall an exact version:
pip install codefortify-starter==1.2.0Verify the CLI:
codefortify-startproject --helpCreate a basic Django MVT project:
codefortify-startproject myproject
cd myproject
python -m venv .venv
source .venv/bin/activate
pip install -r requirements/dev.txt
cp .env.example .env
python manage.py migrate
python manage.py runserverRequirements files:
- Development:
pip install -r requirements/dev.txt - Production:
pip install -r requirements/production.txt - Minimal runtime:
pip install -r requirements/base.txt
--htmx--drf--docker--celery--database [sqlite|postgres|mysql]--no-git--force--directory PATH--all
codefortify-startproject myproject
codefortify-startproject myproject --htmx
codefortify-startproject myproject --drf
codefortify-startproject myproject --docker
codefortify-startproject myproject --celery
codefortify-startproject myproject --docker --celery
codefortify-startproject myproject --drf --docker --celery
codefortify-startproject myproject --database postgres
codefortify-startproject myproject --database mysql
codefortify-startproject myproject --no-git
codefortify-startproject myproject --force
codefortify-startproject myproject --directory /path/to/projects
codefortify-startproject myproject --all--all is equivalent to:
codefortify-startproject myproject --htmx --drf --docker --celery --database postgres| Feature | Flag | Description |
|---|---|---|
| Django MVT | default | Clean Django project with settings, templates, static/media, and home app |
| HTMX | --htmx |
Adds django-htmx, middleware, and example partial views |
| Django REST Framework | --drf |
Adds DRF, API app, API routes, and REST config |
| Docker | --docker |
Adds Dockerfile, docker-compose, entrypoint, deployment script, and Docker docs |
| Celery + Redis | --celery |
Adds Celery config, Redis broker settings, and example task |
| PostgreSQL | --database postgres |
Adds PostgreSQL-ready configuration |
| MySQL | --database mysql |
Adds MySQL-ready configuration |
| Full stack | --all |
Adds HTMX, DRF, Docker, Celery, Redis, and PostgreSQL |
myproject/
├── apps/
│ ├── accounts/
│ ├── common/
│ └── home/
├── core/
│ ├── settings/
│ │ ├── __init__.py
│ │ ├── base.py
│ │ ├── dev.py
│ │ ├── production.py
│ │ └── test.py
│ ├── urls.py
│ ├── asgi.py
│ ├── wsgi.py
│ ├── templates/
│ ├── static/
│ └── media/
├── docs/
├── scripts/
├── manage.py
├── requirements/
│ ├── base.txt
│ ├── dev.txt
│ ├── production.txt
│ └── test.txt
├── tests/
├── .env.example
├── .gitignore
├── Makefile
└── README.md
Feature-specific files are added only when their flags are selected (for example apps/api, core/celery.py, Dockerfile, compose files, and task modules).
- Default: SQLite
- Explicit:
--database postgres,--database mysql, or--database sqlite --allsets PostgreSQL automatically.
Generated settings use environment variables with sane defaults for local development.
Generate with HTMX:
codefortify-startproject myproject --htmxThe generated project includes HTMX middleware and an example partial endpoint.
Generate with DRF:
codefortify-startproject myproject --drfThe generated API app includes a health endpoint:
GET /api/health/
codefortify-startproject myproject --docker
cd myproject
cp .env.example .env
docker compose build
docker compose up -d
docker compose exec web python manage.py migrateGenerate with Celery support:
codefortify-startproject myproject --celeryRun worker locally:
celery -A core worker -l infocodefortify-startproject myproject --all
cd myproject
cp .env.example .env
docker compose build
docker compose up -d
docker compose pspython -m venv .pkgvenv
source .pkgvenv/bin/activate
pip install -r requirements.txt
pip install -e .
python -m pytest -q testsBuild and validate:
rm -rf dist build *.egg-info
python -m build
twine check dist/*Publish to TestPyPI:
twine upload --repository testpypi dist/*Publish to PyPI:
twine upload dist/*Use this only for testing pre-release package builds:
pip install --index-url https://test.pypi.org/simple/ \
--extra-index-url https://pypi.org/simple \
codefortify-starter==1.2.0MIT License. See LICENSE.