Commit graph

8 commits

Author SHA1 Message Date
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
70b8203704
feat(readme): switch support link to /contacts (#270)
* feat(tool): switch create-readme support link to /contacts

* feat(scripts): warn on deprecated support link in readme check

* feat(templates): switch cookiecutter readme support links to contacts

* docs(skill): drop removed validate mode from repo-readme docs

* test(status): cover contacts link warn/fail/ok cases

* fix(ci): shorten lines to satisfy ruff

* fix(ci): apply ruff format

---------

Co-authored-by: opencode-agent <agent@opencode.local>
2026-08-05 03:54:59 +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
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
51a5300423
feat(spec): update stack required and jwt auth template (#236)
* feat(spec): update STACK_REQUIRED for svelte and quality tools

* fix(templates): align jwt auth with issue contracts

* docs(spec): update template c stack and migration note

* fix(ci): format tests/test_spec_status.py

---------

Co-authored-by: opencode-agent <agent@opencode.local>
2026-08-03 17:21:43 +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