Sergey
|
ca2a04ce47
|
refactor(templates): drop README from cookiecutter templates (#272)
* refactor(templates): remove README.md from cookiecutter templates
* test(templates): drop README expectations, expect WARN instead
* docs(skills): note README is generated post-init via repo-readme
* docs(skills): repo-readme creates README from scratch post-init
* fix(templates): drop readme field from pyproject after README removal
---------
Co-authored-by: opencode-agent <agent@opencode.local>
|
2026-08-05 04:15:43 +03:00 |
|
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
|
7c3ded601f
|
feat(template): bake shadcn-svelte + Tailwind v4 + TS into fullstack cookiecutter (#265)
* feat(template): fullstack cookiecutter — Tailwind v4 + TS + shadcn-svelte scaffold
* feat(template): fullstack — shadcn-svelte ui components + dashboard layout
* refactor(template): fullstack — remove counter/Header demo files
* feat(spec): add tailwind/shadcn/ts to STACK_REQUIRED fullstack
* test(template): update fullstack cookiecutter assertions for shadcn-svelte
* fix(ci): ruff format test_cookiecutter_templates
---------
Co-authored-by: opencode-agent <agent@opencode.local>
|
2026-08-04 22:08:58 +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
|
93911f2af6
|
refactor(infra): eliminate globals + split check_pyproject in project-status (#247)
* refactor(infra): introduce RepoCtx, eliminate globals in project-status
* refactor(infra): split check_pyproject into 13 sub-functions
* test(infra): add RepoCtx + 13 sub-function tests, migrate cookiecutter tests
---------
Co-authored-by: opencode-agent <agent@opencode.local>
|
2026-08-03 20:34:04 +03:00 |
|
Sergey
|
10df459cee
|
fix(infra): enforce nested src/<package>/ layout in project-status + cookiecutter (#246)
* fix(infra): nested src/<package>/ layout in project-status oracle
* fix(templates): nested packages and drop src. prefix in cookiecutter
* test(infra): cover nested src/<package>/ layout contract #241
---------
Co-authored-by: opencode-agent <agent@opencode.local>
|
2026-08-03 20:06:36 +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 |
|