Sergey
|
c0e8ec816a
|
refactor(scripts): unify project contract + fix no_db polarity + frontend stack detection (#267)
* refactor(scripts): add project_contract.py single source of truth
* fix(spec-status): word-boundary regex for stack matching (uv!=uvicorn)
* feat(project-status): frontend stack detection + no_db support
* fix(template): cookiecutter use_db=no writes no_db=true marker
* fix(ci): ruff SIM300/PLC0415/W292/E501 in project_contract tests
---------
Co-authored-by: opencode-agent <agent@opencode.local>
|
2026-08-04 23:20:11 +03:00 |
|
Sergey
|
e4f9313641
|
fix(templates): validate cookiecutter project_name as python identifier (#263)
* fix(templates): add pre_gen_project hook validating project_name identifier
* fix(templates): use valid identifier defaults in cookiecutter.json
* test(templates): add regression tests for project_name identifier validation
* fix(tests): resolve fullstack package name via backend ctx
---------
Co-authored-by: opencode-agent <agent@opencode.local>
|
2026-08-04 14:36:33 +03:00 |
|
Sergey
|
35b6c6e542
|
feat(infra): cookiecutter templates backend fullstack cli (#235)
* feat(infra): backend cookiecutter template with fastapi tortoise
* feat(infra): cli cookiecutter template with typer entry point
* feat(infra): fullstack cookiecutter template with sveltekit frontend
* test(infra): cookiecutter template tests and render fixes
* style(infra): ruff cleanup for cookiecutter template tests
* style(infra): ruff format cookiecutter template tests
* fix(infra): handle use_db no use_auth no in cookiecutter
---------
Co-authored-by: opencode-agent <agent@opencode.local>
|
2026-08-03 17:06:24 +03:00 |
|