Commit Graph
183 Commits
Author SHA1 Message Date
sankalp 995d0624e4 feat(djinit/commands): add dedicated commands for app creation and secret key generation
New Features
- Added `app.py` command to scaffold Django apps with name validation and post‑creation instructions.
- Added `secret.py` command to generate configurable secret keys and display usage guidance.

Enhancements
- Refactored command dispatch in `handler.py` to delegate to specialized command classes, removing duplicated logic.
- Improved modularity and maintainability of command implementation.
2026-01-31 02:48:18 +05:45
sankalp e5f05681d1 feat(djinit): introduce base service abstractions and refactor template engine
Add foundational class hierarchy and refactor the template engine to use inheritance and common utilities, enhancing extensibility and code organization.

- New Feature: Added BaseObject, BaseService, BaseCommand, and BaseUtils classes in djinit/core/base.py providing common interfaces.
- Enhancement: Refactored TemplateEngine to inherit BaseService and utilize BaseUtils for logic parsing.
- Enhancement: Updated InFileLogicParser to enforce proper stack handling and simplified conditional block processing.
- Enhancement: Consolidated utility functions via CommonUtils in generator and ProjectManager, streamlining app configuration upgrades.
2026-01-31 02:48:13 +05:45
sankalp 64edec1cc2 feat(djinit/core): bump Django version to 6.0.1
This update aligns generated projects with Django 6.0.1, providing access to the latest framework improvements and security patches.
2026-01-31 02:17:46 +05:45
sankalp f82bf1172d feat(djinit/services): support nested apps and full AppConfig path handling
- New Features
  - Detect and process nested project structures, generating correct module paths for AppConfig.
  - Automatically upgrade legacy app configurations from simple module paths to full AppConfig paths.
- Enhancements
  - Insert full AppConfig paths into USER_DEFINED_APPS, improving template rendering for all settings files.
  - Provide clearer success and upgrade messages to users.
- Bug Fixes
  - Avoid duplicate app entries and handle missing USER_DEFINED_APPS sections without crashing.
  - Ensure proper __init__.py creation in nested directories.
2026-01-31 02:15:50 +05:45
sankalp cab69c2232 feat(djinit/templates/components): expose configurable app_config_name placeholder in AppConfig template
Allows the generated AppConfig class to use a custom name derived from `app_config_name`, supporting optional `app_module` specification.

New Features
- Replace `app_name|title` placeholder with `app_config_name` for flexible config naming.
- Add conditional block that sets `name` to `app_module` when provided, otherwise falls back to `app_name`.

Enhancements
- Maintain backward compatibility by defaulting to the original `app_name` behavior.
- Improve template flexibility for future naming conventions.

Bug Fixes
- None.
2026-01-31 02:15:44 +05:45
sankalp 41782c3df0 feat(djinit/utils): add replace_app_in_user_defined_apps and extend startapp with custom app_module support
This change introduces a helper to replace app entries in USER_DEFINED_APPS and makes the startapp command more flexible by allowing callers to specify the app module name.

New Features:
- Add replace_app_in_user_defined_apps utility function in djinit/utils/common.py
- Introduce app_config_name context and accept app_module argument in DjangoHelper.startapp()

Enhancements:
- Preserve indentation when replacing entries
- Allow custom app module specification instead of defaulting to app_name

Bug Fixes: (none)
2026-01-31 02:15:36 +05:45
sankalp 0fde5c7aa8 feat(djinit/templates): migrate templates to double-bracket placeholder syntax
New Features
- Adopt double-bracket placeholders (`[[ var ]]`) and rename templates to `.py-tpl`/.`md-tpl` extensions.
- Introduce new `runtime_txt-tpl` template.

Enhancements
- Update `api_readme`, `models`, `apps`, `routes`, `pyproject`, `readme`, and `requirements` templates with new syntax and naming.
- Align placeholder naming with a unified convention.

Bug Fixes
- None.
2026-01-31 01:39:11 +05:45
sankalp bc23b02007 feat(djinit/core): add InFileLogicParser template rendering module
- New Features
  * Introduce InFileLogicParser with support for @IF, @ELSEIF, @ELSE, @ENDIF, @LOOP syntax
- Enhancements
  * Enable nested conditionals and iteration over iterables within templates
- Bug Fixes
  * None
2026-01-31 01:39:04 +05:45
sankalp a65e12442e feat(djinit): introduce .py-tpl template convention and modernize rendering pipeline
New Features
- Adopted .py-tpl/.j2-tpl suffixes for generated templates, making them distinct and Python-specific.

Enhancements
- Refactored TemplateEngine to use InFileLogicParser instead of Jinja2, simplifying rendering logic.
- Updated CLI utility to call create_pyproject for pyproject.toml generation.
- Modified template discovery to scan only files ending in -tpl.
- Adjusted file generation paths for Django app components and configuration files.

Bug Fixes
- Resolved template path resolution issues arising from the new suffix convention.
2026-01-31 01:39:00 +05:45
sankalp 6cc5fe43e6 feat(djinit/utils): Use .py-tpl templates for generated Django files
This change updates all template references from *.j2 to *.py-tpl to align with the new file naming convention and adds the required context for URL generation.

New Features
- Updated template paths to *.py-tpl for init, manage.py, settings, and component files
- Added `url_type` context for URL generation templates

Enhancements
- Modified `create_init_file` to use `init.py-tpl` template
- Updated all `create_file_from_template` calls to reference `.py-tpl` templates
- Adjusted context for URL templates to include project‑specific data
- Switched component URL template to `config/urls.py-tpl`

Bug Fixes
- None
2026-01-31 01:38:56 +05:45
sankalp 9d699abea3 refactor(root): drop jinja2 dependency
Enhancements
- Removed unused `jinja2` dependency from `pyproject.toml` and `requirements.txt`.
2026-01-31 01:38:50 +05:45
sankalp 3862722e2b fix formatting 2026-01-30 23:37:23 +05:45
sankalp a7b92c72cd Merge branch 'main' of github.com:S4NKALP/djinit 2026-01-30 23:31:34 +05:45
sankalp e5a49f1a89 feat(djinit/templates/config): make DJANGO_SETTINGS_MODULE configurable with project name
New Features
- Replace hardcoded `core.settings.production` with templated `{{ project_name }}.settings.production` in both ASGI and WSGI config templates, enabling per‑project settings customization.

Enhancements
- Increase template flexibility for project‑specific configuration without manual edits.

Bug Fixes
- None
2026-01-30 23:29:53 +05:45
sankalp 0cffc3926d feat(djinit/templates/project): default DJANGO_SETTINGS_MODULE to project production settings
Set the default DJANGO_SETTINGS_MODULE environment variable to point to the production settings module derived from the project name, ensuring the Django management script runs with the correct configuration when no explicit DJANGO_SETTINGS_MODULE is provided.

New Features
- Automatically default the DJANGO_SETTINGS_MODULE to `<project_name>.settings.production`, simplifying project setup.

Enhancements
- Improves the management script initialization by providing a sensible production settings fallback.

Bug Fixes
- None.
2026-01-30 23:29:47 +05:45
sankalp eedb3e3677 ci(djinit/templates/project/ci): remove legacy Python versions from CI matrix
- New Features
  - Updated CI matrix to test Python 3.12 and 3.13.
- Enhancements
  - Dropped support for Python 3.10 and 3.11.
  - Reduces CI runtime and resource consumption.
- Bug Fixes
  - No bug fixes included.
2026-01-30 23:29:39 +05:45
sankalp 37e2ecff49 fix(djinit/utils): inject project_name into manage.py template rendering
Bug Fixes
- Add `project_name` to the template context when creating `manage.py` to prevent missing‑variable errors.
2026-01-30 23:29:31 +05:45
sankalp 370215fcc2 Merge pull request #26 from S4NKALP/dependabot/uv/virtualenv-20.36.1
chore(deps): bump virtualenv from 20.35.4 to 20.36.1
2026-01-29 01:41:42 +05:45
dependabot[bot] 77416afde8 chore(deps): bump virtualenv from 20.35.4 to 20.36.1
Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.35.4 to 20.36.1.
- [Release notes](https://github.com/pypa/virtualenv/releases)
- [Changelog](https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst)
- [Commits](https://github.com/pypa/virtualenv/compare/20.35.4...20.36.1)

---
updated-dependencies:
- dependency-name: virtualenv
  dependency-version: 20.36.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-28 19:56:23 +00:00
sankalp 22839528d2 Merge pull request #23 from S4NKALP/dependabot/pip/main/rich-14.3.1
chore(deps): bump rich from 14.2.0 to 14.3.1
2026-01-29 01:40:15 +05:45
sankalp 93094cb7fe Merge pull request #24 from S4NKALP/dependabot/pip/main/ruff-0.14.14
chore(deps): bump ruff from 0.14.13 to 0.14.14
2026-01-29 01:40:04 +05:45
dependabot[bot] 492f478e92 chore(deps): bump ruff from 0.14.13 to 0.14.14
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.14.13 to 0.14.14.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.14.13...0.14.14)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.14.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-26 02:33:57 +00:00
dependabot[bot] 1ac64d385c chore(deps): bump rich from 14.2.0 to 14.3.1
Bumps [rich](https://github.com/Textualize/rich) from 14.2.0 to 14.3.1.
- [Release notes](https://github.com/Textualize/rich/releases)
- [Changelog](https://github.com/Textualize/rich/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Textualize/rich/compare/v14.2.0...v14.3.1)

---
updated-dependencies:
- dependency-name: rich
  dependency-version: 14.3.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-26 02:33:46 +00:00
sankalp 665cd62f5a Merge pull request #22 from S4NKALP/dependabot/pip/main/ruff-0.14.13
chore(deps): bump ruff from 0.14.11 to 0.14.13
2026-01-19 19:56:50 +05:45
dependabot[bot] 39b05e41f8 chore(deps): bump ruff from 0.14.11 to 0.14.13
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.14.11 to 0.14.13.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.14.11...0.14.13)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.14.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-19 02:41:55 +00:00
sankalp 3da282d80d chore: auto-update README [skip ci] 2026-01-16 21:48:34 +05:45
sankalp a3e50626a0 update todos 2026-01-16 21:48:19 +05:45
sankalp b176374f8c Merge pull request #21 from S4NKALP/dependabot/pip/main/ruff-0.14.11
chore(deps): bump ruff from 0.14.10 to 0.14.11
2026-01-12 23:46:10 +05:45
dependabot[bot] 2df739cff6 chore(deps): bump ruff from 0.14.10 to 0.14.11
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.14.10 to 0.14.11.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.14.10...0.14.11)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.14.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-12 02:37:11 +00:00
sankalp c0dac9b67d Merge pull request #20 from S4NKALP/dependabot/pip/main/ruff-0.14.10
chore(deps): bump ruff from 0.14.9 to 0.14.10
2025-12-29 23:35:16 +05:45
sankalp 38bcfe59b5 ci(workflows): update Dependabot auto-merge workflow configuration
Refines the Dependabot auto-merge workflow by removing unnecessary whitespace, simplifying the conditional syntax, and updating the token reference for improved security.

**Enhancements & Refinements**
- Removed leading whitespace at the start of the file for cleaner formatting
- Simplified the `if` condition syntax from `${{github.actor == 'dependabot[bot]' }}` to `github.actor == 'dependabot[bot]'`
- Updated the GitHub token reference from `secrets.GITHUB_TOKEN` to `secrets.DEPENDABOT_TOKEN` for better security practices
- Fixed capitalization in step name from "Merge PR from dependabot" to "Merge PR from Dependabot" for consistency
```
2025-12-29 23:34:17 +05:45
dependabot[bot] 6edff2b65a chore(deps): bump ruff from 0.14.9 to 0.14.10
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.14.9 to 0.14.10.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.14.9...0.14.10)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.14.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-29 02:27:39 +00:00
sankalp 431e873529 chore: bump version to 0.3.3 0.3.3 2025-12-24 23:13:58 +05:45
sankalp 8bacb2d32d chore: bump version to 0.3.3 2025-12-24 23:13:34 +05:45
sankalp 49a7123989 Merge pull request #18 from S4NKALP/dependabot/pip/main/ruff-0.14.10
chore(deps): bump ruff from 0.14.9 to 0.14.10
2025-12-24 23:06:48 +05:45
sankalp 311f6a7cc9 Merge branch 'main' into dependabot/pip/main/ruff-0.14.10 2025-12-24 23:06:31 +05:45
sankalp 70477190f3 Merge pull request #19 from S4NKALP/dependabot/pip/main/pre-commit-4.5.1
chore(deps): bump pre-commit from 4.5.0 to 4.5.1
2025-12-24 23:05:43 +05:45
sankalp 5c6888ff28 ci(workflows): update dependabot auto-merge workflow
The dependabot auto-merge workflow has been updated to use a new action and simplified logic for merging pull requests.

- **Enhancements & Refinements**:
  - Replaced `dependabot/fetch-metadata` and `peter-evans/enable-pull-request-automerge` with `fastify/github-action-merge-dependabot`
  - Simplified the workflow by removing conditional logic for update types
  - Updated the condition syntax to use explicit expression syntax
  - Added explicit `github-token` configuration for the new action
```
2025-12-24 23:04:36 +05:45
dependabot[bot] f0a88dfc44 chore(deps): bump pre-commit from 4.5.0 to 4.5.1
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 4.5.0 to 4.5.1.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v4.5.0...v4.5.1)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-version: 4.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-22 02:24:54 +00:00
dependabot[bot] 4c34426782 chore(deps): bump ruff from 0.14.9 to 0.14.10
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.14.9 to 0.14.10.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.14.9...0.14.10)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.14.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-22 02:24:49 +00:00
sankalp d1e77b5547 Merge pull request #17 from S4NKALP/dependabot/pip/main/ruff-0.14.9
chore(deps): bump ruff from 0.14.8 to 0.14.9
2025-12-17 10:23:02 +05:45
sankalp 8d38a5e9df feat(.github/workflows): improve Dependabot auto-merge workflow
- **New Features**
  - Add Dependabot Auto-Merge workflow to automatically merge Dependabot PRs.

- **Enhancements & Refinements**
  - Remove redundant comment clarifying the workflow's Dependabot-specific execution.
  - Adjust whitespace for better YAML formatting.
2025-12-17 10:18:24 +05:45
sankalp d8402927e1 feat(.github/workflows): streamline dependabot auto-merge workflow
The Dependabot auto-merge workflow has been simplified and focused on essential functionality. Approval steps have been removed, leaving only the core auto-merge capability for minor and patch updates.

**New Features**
- Added explicit conditional filtering to run jobs **only for Dependabot PRs**

**Enhancements & Refinements**
- Renamed workflow from **Dependabot Auto-Approve and Auto-Merge** to **Dependabot Auto-Merge** to reflect simplified scope
- Improved workflow structure with clearer YAML syntax separation
- Reorganized **Fetch Dependabot metadata** step placement for better readability
- Removed redundant GitHub script approval step to reduce complexity
2025-12-17 10:11:25 +05:45
dependabot[bot] 39b7704056 chore(deps): bump ruff from 0.14.8 to 0.14.9
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.14.8 to 0.14.9.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.14.8...0.14.9)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.14.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-15 02:28:15 +00:00
sankalp 7d04ad2f2e chore(github workflow): added dependabot workflow 2025-12-11 21:26:19 +05:45
sankalp 50061c313e fix(templates): fix justfile syntax and update readme 2025-12-09 17:23:50 +05:45
sankalp bbd4f1ddd6 Merge pull request #16 from S4NKALP/dependabot/pip/main/ruff-0.14.8
chore(deps): bump ruff from 0.14.2 to 0.14.8
2025-12-08 17:22:07 +05:45
dependabot[bot] 9ba07d5167 chore(deps): bump ruff from 0.14.2 to 0.14.8
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.14.2 to 0.14.8.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.14.2...0.14.8)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.14.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-08 02:23:47 +00:00
sankalp f7c5a99e41 chore: bump version to 0.3.2 and remove click dependency 0.3.2 2025-12-06 19:35:42 +05:45
sankalp 68f8cb81b5 chore: move dev dependencies to a separate group 2025-12-06 19:34:14 +05:45