New Features
- Added extensive test configurations for Docker, React, Vue, Tailwind, pytest, and various combinations.
- Introduced new scenarios such as docker_react, docker_vue, docker_react_htmx, all_postgres, all_mysql, and unified structures.
Enhancements
- Added missing comma in metadata dictionary for valid syntax.
- Enhanced exception handling to print traceback on errors.
- Updated path formatting to use consistent double‑quoted strings.
- Improved cleanup of test directories and imports.
Bug Fixes
- Fixed syntax error in metadata dict that caused runtime failure.
- Corrected path construction to use forward slashes for cross‑platform compatibility.
- Added `use_vue` flag to enable Vue generation and introduced `create_vue_files()` method that scaffolds Vite/Vue frontend files (vite.config.js, package.json, index.html, App.vue, style.css, main.js).
- Extended context dictionaries in `FileCreator`, utility classes, and Django helper to include `use_vue`.
Enhancements
- Integrated Vue file creation into the setup pipeline via `_create_vue_files()` with success messaging.
- Propagated `use_vue` configuration through serialization and UI feedback.
Bug Fixes
- (none)
Add Vue integration via Vite and update UI prompts and metadata- New Features
- Introduce `use_vue` flag and corresponding UI confirmation
- Expose `get_vue_choice()` method and propagate selection through metadata
- Add console output for Vue confirmation in final summary
- Enhancements
- Update step ordering and comments to reflect Vue/Vite handling
- Adjust data flow in code to include Vue option consistently
- Bug Fixes
- None
Add pytest testing framework and update checklist to include Vue.
New Features
- Add pytest, pytest-django, pytest-cov as testing framework
- Include Vue in Frontend Integration description
Enhancements
- Update checklist entry to reflect Vue inclusion
Bug Fixes
- None
- Added conftest.py template with Django test database, API client, and test user fixtures.
- Added pytest.ini template configuring settings, test discovery, and custom markers.
- Integrated pytest and coverage requirements into the project requirements template.
- Enhancements
- None
- Bug Fixes
- None
Add a boolean `use_pytest` option that is populated from the project metadata and included in the generated Django assistant context. This allows projects to explicitly opt‑in to pytest integration when using djinitx.
- New Feature: Introduce `use_pytest` configuration key in the Django helper metadata dictionary.
- Enhancement: Expand context preparation to support additional project preferences.
- New Features:
- Added comprehensive test runner that cleans up temporary directories, verifies generated files, and prints a pass/fail summary.
- Introduced specific validation for pytest configuration, Vite integration, and Dockerfile dependencies based on selected metadata.
- Implemented clear pass/fail reporting with overall success metrics.
- Enhancements:
- Refactored bug_check.py to use explicit data structures and consistent double‑quote quoting for path construction.
- Improved formatting and readability of metadata definitions and context preparation.
- Fixed Windows‑specific path handling regression by switching to double‑quoted string interpolation.
- Bug Fixes:
- Corrected path building to use double‑quoted strings, preventing potential path parsing issues on Windows.
The CLI now scaffolds a Vite‑powered frontend when the `use_vite` flag is enabled, providing React entry files, configuration, and basic styling.
- New Features - Create `vite.config.js`, `package.json`, and core React source files (`main.jsx`, `App.jsx`, `index.jsx`, `index.css`).
- Add helper methods `_create_vite_files` and `create_vite_files` integrated into project setup.
- Generate frontend directories and `__init__.py` placeholders automatically.
- Enhancements
- Propagate `use_vite` context to templates for `requirements.txt`, CI/CD pipelines, and Docker files.
- Emit success message after Vite files are created.
- Include Vite‑related checks in setup step list.
- Bug Fixes
- None reported.
Add a minimal React frontend template (index.html, App.jsx, index.css, main.jsx) and configure static asset handling.
Update Docker Compose to populate DATABASE_URL according to the selected database type.
Include django‑vite in the template requirements and settings.
- New Features
- Scaffold `frontend` directory with React components and Vite entry point.
- Configure static URLs, root, and alias via `STATIC_URL`, `STATIC_ROOT`, and `DJANGO_VITE_ASSET_SRC`.
- Enhancements
- Dynamically set `DATABASE_URL` in `docker-compose.yml` for PostgreSQL or MySQL.
- Add `django-vite` to `THIRD_PARTY_APPS` and `requirements-tpl`.
- Bug Fixes
- None.
- Add `UIFormatter.get_vite_choice()` to prompt inclusion of Vite/React via django‑vite
- Introduce `use_vite` flag in `StructureOptions`, store it in metadata, and propagate to scaffolding templates
- Update CLI prompts and final project summary to display Vite/React confirmation
- Extend usage of the flag throughout app generation to honor the selected frontend stack
This script validates template consistency and metadata usage, ensuring generated configurations are correct across all use‑case combinations. It provides automated checks to catch missing variable replacements, unused metadata fields, and mis‑configured requirements.
- New Features
- Introduce `check_template_consistency` to detect unreplaced `[[` variables in all templates.
- Implement `check_metadata_usage` to verify that all metadata flags are correctly applied.
- Iterate through all feature combinations to test requirements and settings rendering.
- Enhancements - Added structured console output sections for each generated example file.
- Integrated explicit error reporting for template rendering failures.
- Bug Fixes
- (none)
Add `use_docker` and `use_vite` boolean fields to `ProjectMetadata` and include them in the metadata dictionary serialization.
- New feature: expose Docker and Vite enable flags.
- Enhancement: extend metadata output to reflect the new configuration options.
This release extends the UI to let users opt‑in to Docker support and Vite integration when generating a Django project.
- New Features
- Add `use_docker` and `use_vite` fields to `StructureOptions`
- Implement `get_docker_choice` method with a confirmation prompt- Enhancements
- Propagate Docker and Vite selections through metadata and CLI prompts - Include Dockerfile and docker‑compose when Docker is enabled
- Bug Fixes - (none)
The new templates provide a ready‑to‑use Docker environment for Django projects, including system dependencies, container orchestration, and build‑context exclusions.
New Features
- Dockerfile template with Python 3.13‑slim base, environment variables, apt dependencies, and Gunicorn command.
- docker-compose.yml template with web service and conditional database services (PostgreSQL or MySQL).
- .dockerignore template to exclude irrelevant files and speed up Docker builds.
Enhancements
- Updated .gitignore with Docker‑specific entries to keep repositories clean.
No Bug Fixes.
Adds creation of Dockerfile, docker-compose.yml, and .dockerignore when `use_docker` metadata is true, integrates the step into the setup pipeline, and registers the task in `SetupCreator`. Enables out‑of‑the‑box Docker support for generated Django projects.
New Features
- Generate Dockerfile, docker-compose.yml, and .dockerignore from templates upon project creation.
- Register Docker file creation step in the setup pipeline and execute only when `use_docker=True`.
- Extend metadata config with `use_docker` flag to control Docker file inclusion.
Enhancements
- Streamline Docker file generation through templated rendering, ensuring a consistent project structure.
Bug Fixes
- None.
Introduce Tailwind and HTMX support with conditional placeholders and correct static/media URL prefixes.
- New Features
- Add django_tailwind_cli and django_htmx when enabled
- Add HtmxMiddleware to middleware stack
- Pin Tailwind CLI version and set distribution CSS path in production
- Configure Tailwind theme and daisyui settings
- Enhancements
- Prefix STATIC_URL and MEDIA_URL with '/' for proper URL handling
- Update requirements templates with new optional dependencies
- Expand pyproject.toml metadata and dependency groups
- Bug Fixes
- Fix missing leading slash in STATIC_URL and MEDIA_URL
- Pin Tailwind CLI version to avoid unexpected upgrades
**New Features**
- Add `use_tailwind` and `use_htmx` boolean fields to `ProjectMetadata` with defaults set to `False`.
- Update `ProjectMetadata.__init__` mapping to include these new attributes, ensuring they are persisted in project metadata.
Add configurable `use_tailwind` and `use_htmx` flags to the Django starter project context, allowing users to optionally include Tailwind CSS and HTMX JavaScript libraries.
- New Features:
- Introduce `use_tailwind` and `use_htmx` metadata flags in `base_settings_context`.
- Propagate these flags to `requirements.txt`, generated `settings.py`, and CI configuration templates.
- Enhancements:
- Ensure the flags are consistently available across all templated files.
- Bug Fixes: None.
New Features:
- Add `use_tailwind` metadata option (default False) for Tailwind CSS support.
- Add `use_htmx` metadata option (default False) for HTMX support.
Enhancements:
- Extend DjangoHelper context to include the new flags in generated settings.
- New Features:
- Add `use_tailwind` and `use_htmx` fields to `StructureOptions` and expose confirmation prompts via `get_tailwind_choice` and `get_htmx_choice`.
- Persist these selections in the generated metadata and pass them through the initialization flow.
- Enhancements:
- Include `use_tailwind` and `use_htmx` values when constructing the metadata dictionary.
- Display Tailwind CSS and HTMX choices in the final confirmation output.
- Bug Fixes: none
* New Features
* Replace the singular `STATICFILES_STORAGE` assignment with a `STORAGES` dictionary defining `default` and `staticfiles` backends.
* Enhancements
* Add `DEFAULT_AUTO_FIELD` setting for consistency with recent Django recommendations.
* Make storage backend definitions clearer and more extensible.
* Bug Fixes
* None.
Why: enable support for Python 3.13.
New Features
- Updated pyproject.toml template to target Python 3.13, allowing builds with newer interpreters.
Enhancements
- Improves compatibility with upcoming Python releases.
- New Features: Automatically include app URLs in project urls.py and api/v1/urls.py; Generate full AppConfig paths using a unified utility
- Enhancements: Improved nested-app detection and path resolution across predefined, standard, single, and unified structures; Refined context transformation for base settings; Updated URL template rendering
- Bug Fixes: Fixed duplicate include‑statement handling; Corrected URL update error paths and exception safety
- Add conditional logic to `_add_to_api_v1_urls` when `structure_type` is `"predefined"`
- Include `module_name` in contexts for `justfile` and `Procfile` templates
- Clarify `module_name` usage in `.env.sample` generation comment
New Features
- Replace double‑curly placeholder syntax with direct variable usage in justfile and procfile templates.
Enhancements
- Change psycopg2-binary to psycopg[binary] in pyproject.toml template.
- Update ruff.isort known‑first‑party from project_name to module_name.
- Adjust server commands to reference module_name placeholder and use variable syntax directly.
Bug Fixes- Fix placeholder expansion in dev‑server, makemigrations, install, and remove commands.
- Correct requirements generation script to handle missing pyproject.toml gracefully.
- Resolve incorrect variable substitution in gunicorn bind commands and worker count references.
Why: expose ability to toggle usage of DATABASE_URL in generated configuration.
New Features
- Add configurable `use_database_url` parameter to control inclusion of DATABASE_URL in generated pyproject.toml.
Enhancements
- Increase flexibility of database configuration for generated Django projects.
Bug Fixes
- (none)
Add conditional import of `dj_database_url` and a directive comment for `use_database_url` to enable automatic database configuration when the `use_database_url` flag is set, improving flexibility of the production settings template.
- New Features: Introduce support for reading `DATABASE_URL` to configure Django databases automatically.
- Enhancements: Conditional import improves template modularity and reduces unnecessary dependencies.
- Bug Fixes: None.
New Features
- Add optional `dj-database-url` dependency for database URL support.
Enhancements
- Replace `{{ project_name }}` with `[[ project_name ]]` in the env template for clearer interpolation.
Bug Fixes
- None