Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[0.3.0] - 2026-04-05
Added
- Cabinet blueprint package: Extracted a dedicated top-level
cabinetblueprint family with templates, services, views, assets, and cabinet routing for richer scaffold generation. - Booking scaffolding layers: Added
booking_core,booking_public, and expanded booking feature templates for providers, runtime services, public flow steps, and cabinet booking builders. - Conversations scaffolding: Added the
features/conversationsblueprint set with models, migrations, services, selectors, cabinet integration, and contact flow templates. - System/project templates: Added scaffold templates for
startserver,compile_assets, client profile selectors/services, site settings services, user profile model, manifest/robots/sw assets, and LLM-facing text templates. - CLI utilities: Added
installandrepocommands plus project-tree generation helpers and dedicated unit coverage for the new command surface.
Changed
- CLI command architecture: Refactored the main command registry and prompts, consolidating legacy command flows into the new install/repo oriented structure.
- Cabinet layout organization: Moved cabinet scaffold assets out of
blueprints/project/cabinetinto a reusable top-level blueprint package and aligned dependent project templates accordingly. - Developer quality gates: Updated
pyproject.toml,tools/dev/check.py, and scaffolded repo tooling to use the sharedcodex-core>=0.3.0,<0.4.0check flow and restored default unit coverage settings. - Documentation: Updated English and Russian CLI architecture/getting-started pages to reflect the new scaffold layout and the
python ... manage.py startserverworkflow. - Release hygiene: Ignored local sandbox and generated overview artifacts so exploratory audit output does not leak into future release commits.
Removed
- Legacy CLI entrypoints: Removed the old
add_app,booking,client_cabinet, andnotificationscommand modules from the standalone CLI package. - Obsolete scaffold pieces: Removed legacy cabinet mock/selector/users templates and replaced the old
runserver_plusmanagement command template withstartserver.
[0.2.4] - 2026-03-30
Changed
- Documentation: Updated and reorganized the documentation in both English and Russian.
- Styling: Minor updates to the documentation stylesheets.
- Templates: Updated the
urls.py.j2template. - Tests: Updated integration tests.
[0.2.3] - 2026-03-30
Changed
- CLI/runtime boundary: Removed the generated
manage.pybridge into the CLI so scaffolded Django projects keeppython manage.py ...as a pure runtime entrypoint, whilecodex-django ...remains the separate scaffolding tool. - Project-local CLI flow: Added an explicit
Init new projectaction to the project-local CLI menu so creating another project instance no longer depends on any runtime menu coupling. - Architecture docs alignment: Updated English and Russian CLI architecture guides to document the hard separation between runtime management commands and scaffolding entrypoints.
Added
- E2E boundary checks: Added end-to-end assertions that generated
manage.pyfiles do not import the CLI bridge and remain plain Django management entrypoints.
[0.2.2] - 2026-03-30
Added
- Install-chain E2E smoke coverage: Added a parametrized end-to-end smoke test for both local editable install chain and optional online install chain, including generated-project runtime sanity checks.
- Subprocess diagnostics fixture: Added a shared helper fixture for subprocess-based tests with command tracing, elapsed time logging, and rich failure output.
Changed
- Developer check flow: Updated
tools/dev/check.pyso unit tests keep coverage, e2e can run with live subprocess output, and integration/e2e runs are prompted explicitly. - Pytest default flags: Removed global coverage
addoptsfrompyproject.tomlso integration/e2e runs are not forced through coverage instrumentation by default. - Scaffold verification tests: Refined integration and unit expectations around notification scaffolding paths and generated app configuration values.
- Install-chain documentation: Expanded
README.mdwith concrete local and online install-chain e2e command examples and environment variable toggles.
Fixed
- Secret scanner false positives: Added allowlist pragmas to scaffolded
.envexample secret placeholders and the commentedDATABASE_URLtemplate line generated during project init.
[0.2.1] - 2026-03-29
Changed
- Notifications as base layer: Moved notification scaffolding into the shared
systemandcore/arqlayers and removed it from optional init module selection so generated projects start with a consistent messaging foundation. - Project bootstrap environment:
initnow creates a real local.envwith a generated DjangoSECRET_KEYand a valid FernetFIELD_ENCRYPTION_KEY, while.env.exampleremains a repository-safe example file. - Security menu output: Split the interactive security helper into separate Django and Fernet key generation so scaffold users do not confuse the two values.
- Single-language i18n support: Kept translation-aware mode enabled for
i18n + 1 languageand rendered a validMODELTRANSLATION_LANGUAGEStuple for that case.
Fixed
- Notification template filenames: Renamed notification blueprints to
*.py.j2so generated projects no longer receive Python source files without the.pyextension. - Generated app config consistency: Aligned local
AppConfig.namevalues forsystemandfeatures.mainwith the scaffold's short import model, fixing startup failures such asStaticPageSeonot belonging to an installed app. - Scaffold onboarding text: Clarified generated-project next steps and i18n messaging so user-facing output matches the actual bootstrap flow.
[0.2.0] - 2026-03-29
Added
- Release automation baseline: Added standard GitHub Actions workflows for CI, documentation deployment, and PyPI publishing so the package can follow the same release pipeline as the other
codex-*repositories. - Versioned docs changelog page: Added a root
CHANGELOG.mdand adocs/changelog.mdinclude page so release notes are published with the MkDocs site. - Roadmap documentation: Added a roadmap entry documenting the planned extraction of deployment, CI/CD, and pre-commit scaffolding into a separate reusable library for future use by
codex-django,codex-bot, andcodex-fastapi. - Coverage-complete command tests: Expanded unit coverage for the standalone command layer, including booking and client-cabinet scaffolding flows, bringing unit coverage to the release target.
Changed
- Documentation metadata: Updated the documentation URL and MkDocs configuration to align the repository with the shared Codex documentation pattern, including
mikeversioning support and published changelog navigation. - Packaging boundaries: Removed the direct runtime dependency on
codex-djangofromcodex-django-cliafter confirming thatcodex-djangois required by generated projects, not by the CLI package itself. - Checker standardization: Reworked
tools/dev/check.pyto use the shared flag-basedBaseCheckRunnerpattern fromcodex-core, restoring a consistent quality-gate interface across Codex repositories. - Development dependency policy: Added
codex-core>=0.2.2,<0.3.0as the bounded development dependency required by the shared check runner. - Lockfile scope: Regenerated
uv.lockafter the dependency cleanup so the standalone CLI environment no longer pulls in the Django runtime stack unnecessarily. - Lazy Django command bridge: Switched the CLI utility bridge to lazy runtime imports so standalone typing and installation no longer require Django to be installed.
Fixed
- detect-secrets false positives: Marked scaffold example values in deploy templates and workflow templates with allowlist pragmas so
pre-commitpasses without treating example credentials as real leaked secrets. - Standalone mypy boundary: Removed the last direct Django import from the CLI runtime code path so type-checking succeeds without a Django dependency in the package environment.
- Unit test compatibility: Updated CLI utility tests to mock the new lazy import path instead of importing
django.core.managementdirectly.
[0.1.0] - 2026-03-28
Added
- Standalone package extraction: Created
codex-django-clias a dedicated repository by extracting the CLI layer fromcodex-djangoon March 28, 2026. - Interactive CLI ownership: Moved the
codex-djangocommand, prompt flow, scaffold handlers, and blueprint rendering engine into the standalone package. - Packaged blueprint assets: Brought over project, feature, deployment, and repository templates required to scaffold Codex Django projects.
- CLI documentation set: Added English and Russian guides covering installation modes, runtime vs CLI responsibilities, architecture, commands, and generated project output.
- Developer quality tooling: Added pytest, Ruff, Mypy, Bandit, pip-audit, pre-commit, MkDocs, and
uv-based project metadata for independent CLI development.
Changed
- Repository boundaries: Separated CLI concerns from the runtime library so
codex-djangocan depend on the CLI optionally, while generated projects continue to depend oncodex-djangoitself.