# djinit
A fast, interactive CLI to bootstrap a modern, production‑ready Django project in minutes — featuring split settings, DRF and JWT integration, OpenAPI docs, CORS, static file handling via WhiteNoise, Postgres‑friendly configuration, CI/CD templates, deployment helpers, and battle‑tested defaults that deliver a polished developer experience out of the box. - ✨ Split settings: `settings/base.py`, `settings/development.py`, `settings/production.py` - 🧱 Optional nested apps layout (e.g., `apps/`) - 🧩 App scaffolding: URLs, serializers, routes - 🔗 Project URLs wired automatically - 🧰 Utility files: `.gitignore`, `README.md`, `.env.sample`, `requirements.txt`, `pyproject.toml` - 🚀 Deploy helpers: `Justfile`, `Procfile`, `runtime.txt` - 🛠️ CI/CD: GitHub Actions and/or GitLab CI - 🎨 Polished UX with `rich` --- ## Installation Using pipx (recommended): ```bash pipx install djinitx ``` Using pip: ```bash pip install djinitx ``` Using uv: ```bash uv tool install djinitx ``` From source: ```bash git clone https://github.com/S4NKALP/djinit cd djinit pip install -e . ``` Requirements: Python 3.13+ ## Quick start Run the interactive setup: ```bash djinit setup # or dj setup ``` Prompts include: - Project directory - Django project name (used by `django-admin startproject`) - Apps layout (flat vs nested package like `apps/`) - App names (comma‑separated) - CI/CD choice (GitHub, GitLab, both, none) - Database config preference (`DATABASE_URL` vs individual params) ## Commands - `djinit setup` or `dj setup` — Launch the interactive project generator - `djinit app