simplicio-cli 0.5.12__tar.gz → 0.5.14__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. {simplicio_cli-0.5.12/simplicio_cli.egg-info → simplicio_cli-0.5.14}/PKG-INFO +18 -19
  2. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/README.md +14 -14
  3. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/pyproject.toml +6 -7
  4. simplicio_cli-0.5.14/simplicio/__init__.py +1 -0
  5. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/cli.py +8 -7
  6. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/local_models.py +23 -28
  7. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/providers.py +143 -60
  8. simplicio_cli-0.5.14/simplicio/templates/stacks/py-cli/tree/src/app/__pycache__/__init__.cpython-314.pyc +0 -0
  9. simplicio_cli-0.5.14/simplicio/templates/stacks/py-cli/tree/src/app/__pycache__/cli.cpython-314.pyc +0 -0
  10. simplicio_cli-0.5.14/simplicio/templates/stacks/py-cli/tree/tests/__pycache__/test_cli.cpython-314.pyc +0 -0
  11. simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/__pycache__/manage.cpython-314.pyc +0 -0
  12. simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/app/__pycache__/__init__.cpython-314.pyc +0 -0
  13. simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/app/__pycache__/apps.cpython-314.pyc +0 -0
  14. simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/app/__pycache__/tests.cpython-314.pyc +0 -0
  15. simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/app/__pycache__/views.cpython-314.pyc +0 -0
  16. simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/config/__pycache__/__init__.cpython-314.pyc +0 -0
  17. simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/config/__pycache__/asgi.cpython-314.pyc +0 -0
  18. simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/config/__pycache__/settings.cpython-314.pyc +0 -0
  19. simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/config/__pycache__/urls.cpython-314.pyc +0 -0
  20. simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/config/__pycache__/wsgi.cpython-314.pyc +0 -0
  21. simplicio_cli-0.5.14/simplicio/templates/stacks/py-fastapi/tree/src/__pycache__/main.cpython-314.pyc +0 -0
  22. simplicio_cli-0.5.14/simplicio/templates/stacks/py-fastapi/tree/src/api/__pycache__/__init__.cpython-314.pyc +0 -0
  23. simplicio_cli-0.5.14/simplicio/templates/stacks/py-fastapi/tree/tests/__pycache__/test_health.cpython-314.pyc +0 -0
  24. simplicio_cli-0.5.14/simplicio/templates/stacks/py-flask/tree/src/__pycache__/app.cpython-314.pyc +0 -0
  25. simplicio_cli-0.5.14/simplicio/templates/stacks/py-flask/tree/tests/__pycache__/test_health.cpython-314.pyc +0 -0
  26. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14/simplicio_cli.egg-info}/PKG-INFO +18 -19
  27. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio_cli.egg-info/SOURCES.txt +18 -0
  28. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio_cli.egg-info/requires.txt +2 -2
  29. simplicio_cli-0.5.12/simplicio/__init__.py +0 -1
  30. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/LICENSE +0 -0
  31. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/setup.cfg +0 -0
  32. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/_cache.py +0 -0
  33. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/adaptive.py +0 -0
  34. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/bench.py +0 -0
  35. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/cache.py +0 -0
  36. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/cache_cli.py +0 -0
  37. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/detect.py +0 -0
  38. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/doctor.py +0 -0
  39. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/dod.py +0 -0
  40. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/ecosystem.py +0 -0
  41. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/hardware.py +0 -0
  42. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/init.py +0 -0
  43. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/intent.py +0 -0
  44. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/mapper.py +0 -0
  45. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/observability.py +0 -0
  46. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/orchestrator/__init__.py +0 -0
  47. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/orchestrator/cost_governor.py +0 -0
  48. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/orchestrator/feature.py +0 -0
  49. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/pipeline.py +0 -0
  50. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/pipeline_fixers.py +0 -0
  51. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/precedent.py +0 -0
  52. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/prompt.py +0 -0
  53. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/runtime_env.py +0 -0
  54. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/__init__.py +0 -0
  55. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/_pipeline_adapter.py +0 -0
  56. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/cli.py +0 -0
  57. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/__init__.py +0 -0
  58. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/go_gin.py +0 -0
  59. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/markdown_document.py +0 -0
  60. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/php_laravel.py +0 -0
  61. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/python_cst.py +0 -0
  62. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/python_fastapi.py +0 -0
  63. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/python_orm.py +0 -0
  64. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/python_pydantic.py +0 -0
  65. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/python_pytest.py +0 -0
  66. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/registry.py +0 -0
  67. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/rust_axum.py +0 -0
  68. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/types.py +0 -0
  69. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/typescript_next_page.py +0 -0
  70. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/typescript_next_route.py +0 -0
  71. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/executor.py +0 -0
  72. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/plan_schema.py +0 -0
  73. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/planner.py +0 -0
  74. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/recipes.py +0 -0
  75. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/skill_opt.py +0 -0
  76. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/stack_registry.py +0 -0
  77. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/skill_router.py +0 -0
  78. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/sprint_loader.py +0 -0
  79. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/SKILL.md +0 -0
  80. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/recipes/go-gin/crud-resource.yaml +0 -0
  81. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/recipes/php-laravel/crud-resource.yaml +0 -0
  82. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/recipes/php-vanilla/docs-marker.yaml +0 -0
  83. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/recipes/py-fastapi/admin-crud.yaml +0 -0
  84. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/recipes/py-fastapi/auth-jwt.yaml +0 -0
  85. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/recipes/py-fastapi/crud-resource.yaml +0 -0
  86. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/recipes/rust-axum/crud-resource.yaml +0 -0
  87. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/recipes/ts-nextjs/admin-crud.yaml +0 -0
  88. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/recipes/ts-nextjs/auth-jwt.yaml +0 -0
  89. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/recipes/ts-nextjs/crud-resource.yaml +0 -0
  90. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/simplicio_prompt.md +0 -0
  91. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/bash-cli/README.md +0 -0
  92. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/bash-cli/practices.md +0 -0
  93. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/bash-cli/stack.json +0 -0
  94. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/bash-cli/tree/README.md +0 -0
  95. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/bash-cli/tree/bin/app.sh +0 -0
  96. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/bash-cli/tree/test/app.bats +0 -0
  97. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/bash-cli/verify.json +0 -0
  98. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-aspnet/README.md +0 -0
  99. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-aspnet/practices.md +0 -0
  100. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-aspnet/stack.json +0 -0
  101. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-aspnet/tree/README.md +0 -0
  102. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-aspnet/tree/src/App.Api/App.Api.csproj +0 -0
  103. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-aspnet/tree/src/App.Api/Program.cs +0 -0
  104. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-aspnet/tree/tests/App.Tests/App.Tests.csproj +0 -0
  105. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-aspnet/tree/tests/App.Tests/HealthTests.cs +0 -0
  106. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-aspnet/verify.json +0 -0
  107. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-blazor/README.md +0 -0
  108. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-blazor/practices.md +0 -0
  109. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-blazor/stack.json +0 -0
  110. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-blazor/tree/README.md +0 -0
  111. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/App.Web.csproj +0 -0
  112. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Components/App.razor +0 -0
  113. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Components/Pages/Home.razor +0 -0
  114. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Program.cs +0 -0
  115. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-blazor/tree/tests/App.Tests/App.Tests.csproj +0 -0
  116. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-blazor/tree/tests/App.Tests/HealthTests.cs +0 -0
  117. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-blazor/verify.json +0 -0
  118. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/dart-flutter/README.md +0 -0
  119. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/dart-flutter/practices.md +0 -0
  120. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/dart-flutter/stack.json +0 -0
  121. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/dart-flutter/tree/README.md +0 -0
  122. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/dart-flutter/tree/lib/main.dart +0 -0
  123. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/dart-flutter/tree/pubspec.yaml +0 -0
  124. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/dart-flutter/tree/test/widget_test.dart +0 -0
  125. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/dart-flutter/verify.json +0 -0
  126. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/README.md +0 -0
  127. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/practices.md +0 -0
  128. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/stack.json +0 -0
  129. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/tree/README.md +0 -0
  130. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/tree/config/config.exs +0 -0
  131. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app/application.ex +0 -0
  132. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/controllers/health_controller.ex +0 -0
  133. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/endpoint.ex +0 -0
  134. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/router.ex +0 -0
  135. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/tree/mix.exs +0 -0
  136. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/tree/test/health_controller_test.exs +0 -0
  137. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/tree/test/test_helper.exs +0 -0
  138. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/verify.json +0 -0
  139. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-cli/README.md +0 -0
  140. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-cli/practices.md +0 -0
  141. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-cli/stack.json +0 -0
  142. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-cli/tree/README.md +0 -0
  143. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-cli/tree/cmd/root.go +0 -0
  144. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-cli/tree/cmd/root_test.go +0 -0
  145. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-cli/tree/go.mod +0 -0
  146. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-cli/tree/main.go +0 -0
  147. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-cli/verify.json +0 -0
  148. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-echo/README.md +0 -0
  149. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-echo/practices.md +0 -0
  150. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-echo/stack.json +0 -0
  151. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-echo/tree/README.md +0 -0
  152. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-echo/tree/cmd/server/main.go +0 -0
  153. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-echo/tree/go.mod +0 -0
  154. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-echo/tree/internal/http/router.go +0 -0
  155. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-echo/tree/internal/http/router_test.go +0 -0
  156. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-echo/verify.json +0 -0
  157. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-gin/README.md +0 -0
  158. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-gin/practices.md +0 -0
  159. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-gin/stack.json +0 -0
  160. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-gin/tree/README.md +0 -0
  161. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-gin/tree/cmd/server/main.go +0 -0
  162. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-gin/tree/go.mod +0 -0
  163. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-gin/tree/internal/http/router.go +0 -0
  164. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-gin/tree/internal/http/router_test.go +0 -0
  165. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-gin/verify.json +0 -0
  166. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/java-spring/README.md +0 -0
  167. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/java-spring/practices.md +0 -0
  168. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/java-spring/stack.json +0 -0
  169. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/java-spring/tree/README.md +0 -0
  170. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/java-spring/tree/build.gradle.kts +0 -0
  171. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/java-spring/tree/settings.gradle.kts +0 -0
  172. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/java-spring/tree/src/main/java/com/example/Application.java +0 -0
  173. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/java-spring/tree/src/main/java/com/example/HealthController.java +0 -0
  174. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/java-spring/tree/src/test/java/com/example/HealthControllerTest.java +0 -0
  175. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/java-spring/verify.json +0 -0
  176. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/js-express/README.md +0 -0
  177. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/js-express/practices.md +0 -0
  178. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/js-express/stack.json +0 -0
  179. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/js-express/tree/README.md +0 -0
  180. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/js-express/tree/package.json +0 -0
  181. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/js-express/tree/src/app.js +0 -0
  182. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/js-express/tree/src/server.js +0 -0
  183. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/js-express/tree/tests/health.test.js +0 -0
  184. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/js-express/verify.json +0 -0
  185. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-android/README.md +0 -0
  186. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-android/practices.md +0 -0
  187. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-android/stack.json +0 -0
  188. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-android/tree/README.md +0 -0
  189. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-android/tree/app/build.gradle.kts +0 -0
  190. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-android/tree/app/src/main/AndroidManifest.xml +0 -0
  191. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-android/tree/app/src/main/java/com/example/app/MainActivity.kt +0 -0
  192. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-android/tree/app/src/main/res/values/styles.xml +0 -0
  193. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-android/tree/app/src/test/java/com/example/app/SmokeTest.kt +0 -0
  194. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-android/tree/build.gradle.kts +0 -0
  195. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-android/tree/settings.gradle.kts +0 -0
  196. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-android/verify.json +0 -0
  197. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-ktor/README.md +0 -0
  198. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-ktor/practices.md +0 -0
  199. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-ktor/stack.json +0 -0
  200. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-ktor/tree/README.md +0 -0
  201. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-ktor/tree/build.gradle.kts +0 -0
  202. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-ktor/tree/settings.gradle.kts +0 -0
  203. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-ktor/tree/src/main/kotlin/com/example/Application.kt +0 -0
  204. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-ktor/tree/src/test/kotlin/com/example/ApplicationTest.kt +0 -0
  205. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-ktor/verify.json +0 -0
  206. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-spring/README.md +0 -0
  207. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-spring/practices.md +0 -0
  208. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-spring/stack.json +0 -0
  209. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-spring/tree/README.md +0 -0
  210. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-spring/tree/build.gradle.kts +0 -0
  211. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-spring/tree/settings.gradle.kts +0 -0
  212. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-spring/tree/src/main/kotlin/com/example/Application.kt +0 -0
  213. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-spring/tree/src/main/kotlin/com/example/HealthController.kt +0 -0
  214. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-spring/tree/src/test/kotlin/com/example/HealthControllerTest.kt +0 -0
  215. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-spring/verify.json +0 -0
  216. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/README.md +0 -0
  217. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/practices.md +0 -0
  218. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/stack.json +0 -0
  219. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/tree/README.md +0 -0
  220. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/tree/artisan +0 -0
  221. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/tree/bootstrap/app.php +0 -0
  222. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/tree/composer.json +0 -0
  223. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/tree/phpunit.xml +0 -0
  224. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/tree/routes/api.php +0 -0
  225. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/tree/routes/console.php +0 -0
  226. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/tree/tests/Feature/HealthTest.php +0 -0
  227. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/tree/tests/TestCase.php +0 -0
  228. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/verify.json +0 -0
  229. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-symfony/README.md +0 -0
  230. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-symfony/practices.md +0 -0
  231. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-symfony/stack.json +0 -0
  232. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-symfony/tree/README.md +0 -0
  233. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-symfony/tree/composer.json +0 -0
  234. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-symfony/tree/src/Controller/HealthController.php +0 -0
  235. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-symfony/tree/tests/HealthControllerTest.php +0 -0
  236. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-symfony/verify.json +0 -0
  237. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-vanilla/README.md +0 -0
  238. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-vanilla/practices.md +0 -0
  239. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-vanilla/stack.json +0 -0
  240. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-vanilla/tree/README.md +0 -0
  241. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-vanilla/tree/composer.json +0 -0
  242. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-vanilla/tree/phpunit.xml +0 -0
  243. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-vanilla/tree/src/Health.php +0 -0
  244. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-vanilla/tree/tests/HealthTest.php +0 -0
  245. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-vanilla/verify.json +0 -0
  246. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-cli/README.md +0 -0
  247. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-cli/practices.md +0 -0
  248. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-cli/stack.json +0 -0
  249. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-cli/tree/README.md +0 -0
  250. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-cli/tree/pyproject.toml +0 -0
  251. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-cli/tree/src/app/__init__.py +0 -0
  252. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-cli/tree/src/app/cli.py +0 -0
  253. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-cli/tree/tests/test_cli.py +0 -0
  254. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-cli/verify.json +0 -0
  255. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/README.md +0 -0
  256. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/practices.md +0 -0
  257. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/stack.json +0 -0
  258. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/README.md +0 -0
  259. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/app/__init__.py +0 -0
  260. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/app/apps.py +0 -0
  261. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/app/tests.py +0 -0
  262. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/app/views.py +0 -0
  263. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/config/__init__.py +0 -0
  264. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/config/asgi.py +0 -0
  265. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/config/settings.py +0 -0
  266. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/config/urls.py +0 -0
  267. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/config/wsgi.py +0 -0
  268. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/manage.py +0 -0
  269. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/pyproject.toml +0 -0
  270. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/verify.json +0 -0
  271. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/README.md +0 -0
  272. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/practices.md +0 -0
  273. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/stack.json +0 -0
  274. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/tree/.gitignore +0 -0
  275. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/tree/README.template.md +0 -0
  276. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/tree/pyproject.toml +0 -0
  277. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/tree/ruff.toml +0 -0
  278. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/tree/src/api/__init__.py +0 -0
  279. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/tree/src/main.py +0 -0
  280. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/tree/tests/test_health.py +0 -0
  281. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/verify.json +0 -0
  282. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-flask/README.md +0 -0
  283. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-flask/practices.md +0 -0
  284. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-flask/stack.json +0 -0
  285. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-flask/tree/README.md +0 -0
  286. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-flask/tree/pyproject.toml +0 -0
  287. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-flask/tree/ruff.toml +0 -0
  288. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-flask/tree/src/app.py +0 -0
  289. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-flask/tree/tests/test_health.py +0 -0
  290. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-flask/verify.json +0 -0
  291. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/README.md +0 -0
  292. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/practices.md +0 -0
  293. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/stack.json +0 -0
  294. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/tree/README.md +0 -0
  295. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/tree/index.html +0 -0
  296. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/tree/package.json +0 -0
  297. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/tree/src/App.test.tsx +0 -0
  298. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/tree/src/App.tsx +0 -0
  299. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/tree/src/main.tsx +0 -0
  300. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/tree/tsconfig.json +0 -0
  301. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/verify.json +0 -0
  302. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/README.md +0 -0
  303. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/practices.md +0 -0
  304. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/stack.json +0 -0
  305. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/tree/Gemfile +0 -0
  306. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/tree/README.md +0 -0
  307. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/tree/app/controllers/health_controller.rb +0 -0
  308. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/tree/bin/rails +0 -0
  309. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/tree/config/application.rb +0 -0
  310. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/tree/config/boot.rb +0 -0
  311. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/tree/config/routes.rb +0 -0
  312. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/tree/test/controllers/health_controller_test.rb +0 -0
  313. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/tree/test/test_helper.rb +0 -0
  314. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/verify.json +0 -0
  315. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-axum/README.md +0 -0
  316. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-axum/practices.md +0 -0
  317. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-axum/stack.json +0 -0
  318. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-axum/tree/Cargo.toml +0 -0
  319. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-axum/tree/README.md +0 -0
  320. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-axum/tree/src/main.rs +0 -0
  321. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-axum/verify.json +0 -0
  322. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-cli/README.md +0 -0
  323. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-cli/practices.md +0 -0
  324. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-cli/stack.json +0 -0
  325. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-cli/tree/Cargo.toml +0 -0
  326. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-cli/tree/README.md +0 -0
  327. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-cli/tree/src/main.rs +0 -0
  328. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-cli/verify.json +0 -0
  329. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-leptos/README.md +0 -0
  330. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-leptos/practices.md +0 -0
  331. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-leptos/stack.json +0 -0
  332. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-leptos/tree/Cargo.toml +0 -0
  333. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-leptos/tree/README.md +0 -0
  334. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-leptos/tree/src/main.rs +0 -0
  335. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-leptos/verify.json +0 -0
  336. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-ios/README.md +0 -0
  337. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-ios/practices.md +0 -0
  338. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-ios/stack.json +0 -0
  339. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-ios/tree/README.md +0 -0
  340. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-ios/tree/Sources/App/App.swift +0 -0
  341. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-ios/tree/Sources/App/ContentView.swift +0 -0
  342. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-ios/tree/Tests/AppTests/AppTests.swift +0 -0
  343. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-ios/verify.json +0 -0
  344. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-vapor/README.md +0 -0
  345. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-vapor/practices.md +0 -0
  346. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-vapor/stack.json +0 -0
  347. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-vapor/tree/Package.swift +0 -0
  348. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-vapor/tree/README.md +0 -0
  349. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-vapor/tree/Sources/App/main.swift +0 -0
  350. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-vapor/tree/Tests/AppTests/HealthTests.swift +0 -0
  351. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-vapor/verify.json +0 -0
  352. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/README.md +0 -0
  353. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/practices.md +0 -0
  354. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/stack.json +0 -0
  355. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/tree/README.md +0 -0
  356. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/tree/package.json +0 -0
  357. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/tree/src/app.controller.spec.ts +0 -0
  358. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/tree/src/app.controller.ts +0 -0
  359. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/tree/src/app.module.ts +0 -0
  360. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/tree/src/main.ts +0 -0
  361. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/tree/tsconfig.json +0 -0
  362. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/verify.json +0 -0
  363. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/README.md +0 -0
  364. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/practices.md +0 -0
  365. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/stack.json +0 -0
  366. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/tree/.eslintrc.json +0 -0
  367. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/tree/.gitignore +0 -0
  368. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/tree/next.config.mjs +0 -0
  369. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/tree/package.json +0 -0
  370. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/tree/pnpm-workspace.yaml +0 -0
  371. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/tree/src/app/layout.tsx +0 -0
  372. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/tree/src/app/page.tsx +0 -0
  373. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/tree/tsconfig.json +0 -0
  374. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/verify.json +0 -0
  375. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/README.md +0 -0
  376. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/practices.md +0 -0
  377. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/stack.json +0 -0
  378. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/tree/README.md +0 -0
  379. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/tree/app/root.tsx +0 -0
  380. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/tree/app/routes/_index.tsx +0 -0
  381. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/tree/app/routes/health.test.ts +0 -0
  382. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/tree/app/routes/health.ts +0 -0
  383. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/tree/package.json +0 -0
  384. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/tree/tsconfig.json +0 -0
  385. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/verify.json +0 -0
  386. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/userpromptsubmit-hook.sh +0 -0
  387. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/utils/__init__.py +0 -0
  388. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/utils/cache.py +0 -0
  389. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/utils/http_client.py +0 -0
  390. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/utils/serialization.py +0 -0
  391. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio_cli.egg-info/dependency_links.txt +0 -0
  392. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio_cli.egg-info/entry_points.txt +0 -0
  393. {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio_cli.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: simplicio-cli
3
- Version: 0.5.12
3
+ Version: 0.5.14
4
4
  Summary: Portable task-to-code pipeline that works with any LLM. Turn a one-line task into a verified code change — diff + test + verify loop. +55 pts on a 156-check benchmark, 21% faster, ~same tokens.
5
5
  Author-email: Wesley Simplicio <wesleybob4@gmail.com>
6
6
  License: MIT
@@ -16,7 +16,6 @@ Classifier: License :: OSI Approved :: MIT License
16
16
  Classifier: Operating System :: OS Independent
17
17
  Classifier: Programming Language :: Python :: 3
18
18
  Classifier: Programming Language :: Python :: 3 :: Only
19
- Classifier: Programming Language :: Python :: 3.9
20
19
  Classifier: Programming Language :: Python :: 3.10
21
20
  Classifier: Programming Language :: Python :: 3.11
22
21
  Classifier: Programming Language :: Python :: 3.12
@@ -24,15 +23,15 @@ Classifier: Topic :: Software Development
24
23
  Classifier: Topic :: Software Development :: Code Generators
25
24
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
26
25
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
27
- Requires-Python: >=3.9
26
+ Requires-Python: >=3.10
28
27
  Description-Content-Type: text/markdown
29
28
  License-File: LICENSE
30
29
  Requires-Dist: sentence-transformers>=5.1.2
31
30
  Requires-Dist: numpy>=2.0.2
32
31
  Requires-Dist: anthropic>=0.105.2
33
32
  Requires-Dist: openai>=2.38.0
34
- Requires-Dist: simplicio-mapper>=0.6.6
35
- Requires-Dist: simplicio-prompt>=1.12.1
33
+ Requires-Dist: simplicio-mapper>=0.7.1
34
+ Requires-Dist: simplicio-prompt>=1.13.1
36
35
  Requires-Dist: httpx>=0.28.1
37
36
  Requires-Dist: orjson>=3.11.5
38
37
  Requires-Dist: diskcache>=5.6.3
@@ -562,7 +561,7 @@ user prompt. UserPromptSubmit is the right pre-hook for routing decisions.
562
561
  | GLM (z.ai) | `glm-4.6` | `https://api.z.ai/api/paas/v4` |
563
562
  | DeepSeek | `deepseek-chat` | `https://api.deepseek.com` |
564
563
  | OpenAI | `gpt-4.1` | `https://api.openai.com/v1` |
565
- | Local (Ollama) | `llama3` | `http://localhost:11434/v1` |
564
+ | Local (Ollama) | `openbmb/minicpm5:latest` | `http://localhost:11434/v1` |
566
565
  | Local (in-process) | `local-llama/default` | *(leave unset)* |
567
566
  | Anthropic native | `claude-opus-4-7` | *(leave unset)* |
568
567
 
@@ -574,31 +573,31 @@ your `base_url` — so **any** OpenAI-like provider works without code changes.
574
573
  simplicio smoke # prints provider config + one test call
575
574
  ```
576
575
 
577
- ### Path 4 — offline-first local model (zero key, zero HTTP)
576
+ ### Path 4 — local Ollama primary with GGUF fallback
578
577
 
579
- simplicio ships an **in-process** backend powered by
580
- [`llama-cpp-python`](https://github.com/abetlen/llama-cpp-python). When **no
581
- provider is configured** (`SIMPLICIO_MODEL` *and* `SIMPLICIO_BASE_URL` both
582
- unset), it runs **Qwen2.5-Coder-1.5B-Instruct Q8_0 GGUF** directly, falling
583
- back to **Q6_K_L** if the primary file is unavailable — small,
584
- code-specialized, fast on CPU, no API key, no Ollama, no HTTP overhead. The
585
- 6-layer contract is what makes a 1.5B usable: it lifts the same model from ~34%
586
- to ~88% pass-rate on the local benchmark.
578
+ When **no provider is configured** (`SIMPLICIO_MODEL` and
579
+ `SIMPLICIO_BASE_URL` both unset), simplicio uses local Ollama with
580
+ `openbmb/minicpm5:latest`. If that call fails, it falls back to the in-process
581
+ [`llama-cpp-python`](https://github.com/abetlen/llama-cpp-python) backend with
582
+ `Qwen_Qwen3.5-2B-Q6_K.gguf`.
587
583
 
588
584
  ```bash
589
585
  pip install 'simplicio-cli[local]' # pulls llama-cpp-python + huggingface-hub
590
586
 
591
587
  simplicio task "add input validation to createUser" \
592
- --target src/users.ts --local # forces the local model
588
+ --target src/users.ts --local # forces local Ollama primary
593
589
 
594
- # the GGUF is fetched once from the Hugging Face Hub, then cached + reused
590
+ # the fallback GGUF is fetched once from the Hugging Face Hub, then reused
595
591
  ```
596
592
 
597
593
  Explicit routes (override the default model/weights):
598
594
 
599
595
  ```bash
600
- SIMPLICIO_MODEL=local-llama/default # Q8_0 primary, Q6_K_L fallback
601
- SIMPLICIO_MODEL=local-llama/bartowski/Qwen2.5-Coder-7B-Instruct-GGUF::Qwen2.5-Coder-7B-Instruct-Q4_K_M.gguf
596
+ SIMPLICIO_MODEL=openbmb/minicpm5:latest
597
+ SIMPLICIO_BASE_URL=http://localhost:11434/v1
598
+ SIMPLICIO_API_KEY=ollama
599
+ SIMPLICIO_MODEL=local-llama/default # Qwen_Qwen3.5-2B-Q6_K.gguf fallback
600
+ SIMPLICIO_MODEL=local-llama/bartowski/Qwen_Qwen3.5-2B-GGUF::Qwen_Qwen3.5-2B-Q6_K.gguf
602
601
  SIMPLICIO_MODEL=local-llama//models/my-model.gguf # direct local path
603
602
  SIMPLICIO_LOCAL_MODEL_PATH=/models/my-model.gguf # always wins
604
603
  ```
@@ -516,7 +516,7 @@ user prompt. UserPromptSubmit is the right pre-hook for routing decisions.
516
516
  | GLM (z.ai) | `glm-4.6` | `https://api.z.ai/api/paas/v4` |
517
517
  | DeepSeek | `deepseek-chat` | `https://api.deepseek.com` |
518
518
  | OpenAI | `gpt-4.1` | `https://api.openai.com/v1` |
519
- | Local (Ollama) | `llama3` | `http://localhost:11434/v1` |
519
+ | Local (Ollama) | `openbmb/minicpm5:latest` | `http://localhost:11434/v1` |
520
520
  | Local (in-process) | `local-llama/default` | *(leave unset)* |
521
521
  | Anthropic native | `claude-opus-4-7` | *(leave unset)* |
522
522
 
@@ -528,31 +528,31 @@ your `base_url` — so **any** OpenAI-like provider works without code changes.
528
528
  simplicio smoke # prints provider config + one test call
529
529
  ```
530
530
 
531
- ### Path 4 — offline-first local model (zero key, zero HTTP)
531
+ ### Path 4 — local Ollama primary with GGUF fallback
532
532
 
533
- simplicio ships an **in-process** backend powered by
534
- [`llama-cpp-python`](https://github.com/abetlen/llama-cpp-python). When **no
535
- provider is configured** (`SIMPLICIO_MODEL` *and* `SIMPLICIO_BASE_URL` both
536
- unset), it runs **Qwen2.5-Coder-1.5B-Instruct Q8_0 GGUF** directly, falling
537
- back to **Q6_K_L** if the primary file is unavailable — small,
538
- code-specialized, fast on CPU, no API key, no Ollama, no HTTP overhead. The
539
- 6-layer contract is what makes a 1.5B usable: it lifts the same model from ~34%
540
- to ~88% pass-rate on the local benchmark.
533
+ When **no provider is configured** (`SIMPLICIO_MODEL` and
534
+ `SIMPLICIO_BASE_URL` both unset), simplicio uses local Ollama with
535
+ `openbmb/minicpm5:latest`. If that call fails, it falls back to the in-process
536
+ [`llama-cpp-python`](https://github.com/abetlen/llama-cpp-python) backend with
537
+ `Qwen_Qwen3.5-2B-Q6_K.gguf`.
541
538
 
542
539
  ```bash
543
540
  pip install 'simplicio-cli[local]' # pulls llama-cpp-python + huggingface-hub
544
541
 
545
542
  simplicio task "add input validation to createUser" \
546
- --target src/users.ts --local # forces the local model
543
+ --target src/users.ts --local # forces local Ollama primary
547
544
 
548
- # the GGUF is fetched once from the Hugging Face Hub, then cached + reused
545
+ # the fallback GGUF is fetched once from the Hugging Face Hub, then reused
549
546
  ```
550
547
 
551
548
  Explicit routes (override the default model/weights):
552
549
 
553
550
  ```bash
554
- SIMPLICIO_MODEL=local-llama/default # Q8_0 primary, Q6_K_L fallback
555
- SIMPLICIO_MODEL=local-llama/bartowski/Qwen2.5-Coder-7B-Instruct-GGUF::Qwen2.5-Coder-7B-Instruct-Q4_K_M.gguf
551
+ SIMPLICIO_MODEL=openbmb/minicpm5:latest
552
+ SIMPLICIO_BASE_URL=http://localhost:11434/v1
553
+ SIMPLICIO_API_KEY=ollama
554
+ SIMPLICIO_MODEL=local-llama/default # Qwen_Qwen3.5-2B-Q6_K.gguf fallback
555
+ SIMPLICIO_MODEL=local-llama/bartowski/Qwen_Qwen3.5-2B-GGUF::Qwen_Qwen3.5-2B-Q6_K.gguf
556
556
  SIMPLICIO_MODEL=local-llama//models/my-model.gguf # direct local path
557
557
  SIMPLICIO_LOCAL_MODEL_PATH=/models/my-model.gguf # always wins
558
558
  ```
@@ -1,10 +1,10 @@
1
1
  [project]
2
2
  name = "simplicio-cli"
3
- version = "0.5.12"
3
+ version = "0.5.14"
4
4
  description = "Portable task-to-code pipeline that works with any LLM. Turn a one-line task into a verified code change — diff + test + verify loop. +55 pts on a 156-check benchmark, 21% faster, ~same tokens."
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
7
- requires-python = ">=3.9"
7
+ requires-python = ">=3.10"
8
8
  authors = [{ name = "Wesley Simplicio", email = "wesleybob4@gmail.com" }]
9
9
  keywords = [
10
10
  "llm",
@@ -31,7 +31,6 @@ classifiers = [
31
31
  "Operating System :: OS Independent",
32
32
  "Programming Language :: Python :: 3",
33
33
  "Programming Language :: Python :: 3 :: Only",
34
- "Programming Language :: Python :: 3.9",
35
34
  "Programming Language :: Python :: 3.10",
36
35
  "Programming Language :: Python :: 3.11",
37
36
  "Programming Language :: Python :: 3.12",
@@ -45,8 +44,8 @@ dependencies = [
45
44
  "numpy>=2.0.2",
46
45
  "anthropic>=0.105.2",
47
46
  "openai>=2.38.0",
48
- "simplicio-mapper>=0.6.6",
49
- "simplicio-prompt>=1.12.1",
47
+ "simplicio-mapper>=0.7.1",
48
+ "simplicio-prompt>=1.13.1",
50
49
  "httpx>=0.28.1",
51
50
  "orjson>=3.11.5",
52
51
  "diskcache>=5.6.3",
@@ -55,8 +54,8 @@ dependencies = [
55
54
 
56
55
  [project.optional-dependencies]
57
56
  bench = ["fpdf2>=2.8.4"]
58
- # Offline-first in-process inference (Path 4). Pulls the llama.cpp Python
59
- # bindings plus huggingface-hub to fetch the default Qwen2.5-Coder-1.5B GGUF.
57
+ # Offline fallback in-process inference. Pulls the llama.cpp Python bindings
58
+ # plus huggingface-hub to fetch Qwen_Qwen3.5-2B-Q6_K.gguf.
60
59
  local = ["llama-cpp-python>=0.3.23", "huggingface-hub>=1.8.0"]
61
60
 
62
61
  [project.urls]
@@ -0,0 +1 @@
1
+ __version__ = "0.5.14"
@@ -91,8 +91,8 @@ def _add_task_args(p: argparse.ArgumentParser, *, target_required: bool) -> None
91
91
  p.add_argument(
92
92
  "--local",
93
93
  action="store_true",
94
- help="force the in-process local model (Qwen2.5-Coder-1.5B GGUF, "
95
- "no API key); overrides SIMPLICIO_MODEL/SIMPLICIO_BASE_URL",
94
+ help="force local Ollama (openbmb/minicpm5:latest, no API key) "
95
+ "with Qwen3.5 GGUF fallback; overrides SIMPLICIO_MODEL/SIMPLICIO_BASE_URL",
96
96
  )
97
97
 
98
98
 
@@ -121,14 +121,15 @@ def _add_run_args(p: argparse.ArgumentParser) -> None:
121
121
 
122
122
  def _force_local_if_requested(a: argparse.Namespace) -> None:
123
123
  if getattr(a, "local", False):
124
- # Force Path 4: pin the local model and drop any HTTP endpoint so the
125
- # in-process llama backend wins regardless of the ambient config.
126
- os.environ["SIMPLICIO_MODEL"] = "local-llama/default"
127
- os.environ.pop("SIMPLICIO_BASE_URL", None)
124
+ # Force Path 4: local Ollama primary. The provider layer falls back to
125
+ # the local Qwen GGUF if the Ollama call fails.
126
+ os.environ["SIMPLICIO_MODEL"] = "openbmb/minicpm5:latest"
127
+ os.environ["SIMPLICIO_BASE_URL"] = "http://localhost:11434/v1"
128
+ os.environ.setdefault("SIMPLICIO_API_KEY", "ollama")
128
129
 
129
130
 
130
131
  def _run_task_command(a: argparse.Namespace) -> int:
131
- from .pipeline import run, run_task
132
+ from .pipeline import run_task
132
133
 
133
134
  _force_local_if_requested(a)
134
135
  stack = a.stack or "angular"
@@ -1,12 +1,11 @@
1
1
  """local_models.py — hardware-tier → local model recommendation + Ollama plumbing.
2
2
 
3
- Encodes the hardware map documented in bench/SCRATCH_MODE_RFC.md:
3
+ Encodes the local LLM standard:
4
4
 
5
- cpu-tinyqwen2.5-coder:3b (~2 GB Q4)
6
- cpu-small → qwen2.5-coder:7b (~5 GB Q4)
7
- gpu-mid → qwen2.5-coder:14b (~9 GB Q4)
8
- gpu-large → unsloth Qwen3-Coder-30B-A3B-Instruct Q4_K_M (~17 GB)
9
- gpu-xlarge → unsloth Qwen3-Coder-Next Q4 (~26 GB)
5
+ all tiersopenbmb/minicpm5:latest via local Ollama (~0.7 GB)
6
+
7
+ The GGUF fallback is handled by simplicio.providers as
8
+ Qwen_Qwen3.5-2B-Q6_K.gguf when Ollama is unavailable.
10
9
 
11
10
  Hard rule (issue #32 follow-up):
12
11
  - NEVER auto-pull a model that does not fit the detected tier.
@@ -35,29 +34,25 @@ class ModelSpec:
35
34
  notes: str = ""
36
35
 
37
36
 
37
+ DEFAULT_LOCAL_OLLAMA_ID = "openbmb/minicpm5:latest"
38
+ DEFAULT_LOCAL_OLLAMA_LABEL = "MiniCPM5 local (Ollama)"
39
+ DEFAULT_LOCAL_OLLAMA_SIZE_GB = 0.7
40
+ DEFAULT_LOCAL_OLLAMA_NOTES = (
41
+ "canonical local primary; falls back to Qwen_Qwen3.5-2B-Q6_K.gguf in providers"
42
+ )
43
+
44
+
38
45
  # Order matters: list is consulted in the rare case the user asks for the
39
46
  # next-step-up model. The default lookup is by exact tier.
40
47
  RECOMMENDATIONS: dict[str, ModelSpec] = {
41
- "cpu-tiny": ModelSpec("cpu-tiny", "qwen2.5-coder:3b", 2.0,
42
- "Qwen2.5-Coder 3B (Q4)",
43
- "minimal but usable; 12-18 tok/s on CPU"),
44
- "cpu-small": ModelSpec("cpu-small", "qwen2.5-coder:7b", 5.0,
45
- "Qwen2.5-Coder 7B (Q4)",
46
- "good balance; ~25 tok/s on M1/M2"),
47
- "gpu-mid": ModelSpec("gpu-mid", "qwen2.5-coder:14b", 9.0,
48
- "Qwen2.5-Coder 14B (Q4)",
49
- "real-work proxy; 30-50 tok/s on 16 GB VRAM"),
50
- "gpu-large": ModelSpec("gpu-large",
51
- "hf.co/unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:Q4_K_M",
52
- 17.5, "Qwen3-Coder 30B A3B (Q4_K_M, unsloth)",
53
- "MoE 3B active params; matches our bench cloud results"),
54
- "gpu-xlarge": ModelSpec("gpu-xlarge",
55
- "hf.co/unsloth/Qwen3-Coder-Next-GGUF:Q4_K_M",
56
- 26.0, "Qwen3-Coder Next (Q4)",
57
- "best local coder 2026; needs 32+ GB unified or VRAM"),
58
- "unknown": ModelSpec("unknown", "qwen2.5-coder:7b", 5.0,
59
- "Qwen2.5-Coder 7B (Q4) [fallback]",
60
- "safe default when detection inconclusive"),
48
+ tier: ModelSpec(
49
+ tier,
50
+ DEFAULT_LOCAL_OLLAMA_ID,
51
+ DEFAULT_LOCAL_OLLAMA_SIZE_GB,
52
+ DEFAULT_LOCAL_OLLAMA_LABEL,
53
+ DEFAULT_LOCAL_OLLAMA_NOTES,
54
+ )
55
+ for tier in ("cpu-tiny", "cpu-small", "gpu-mid", "gpu-large", "gpu-xlarge", "unknown")
61
56
  }
62
57
 
63
58
 
@@ -71,7 +66,7 @@ def ollama_present() -> bool:
71
66
  def ollama_list_installed() -> list[str]:
72
67
  """Return the list of Ollama models currently installed.
73
68
 
74
- Each entry is the full tag the user can target (e.g. "qwen2.5-coder:7b").
69
+ Each entry is the full tag the user can target (e.g. "openbmb/minicpm5:latest").
75
70
  Empty list on failure — never raises.
76
71
  """
77
72
  if not ollama_present():
@@ -97,7 +92,7 @@ def ollama_list_installed() -> list[str]:
97
92
 
98
93
 
99
94
  def is_installed(ollama_id: str) -> bool:
100
- """Looser match: handle `hf.co/...:Q4_K_M` vs `qwen2.5-coder:7b` styles."""
95
+ """Looser match hook kept for future aliases; currently exact tag match."""
101
96
  installed = ollama_list_installed()
102
97
  return ollama_id in installed
103
98
 
@@ -21,15 +21,20 @@ Four modes, picked by SIMPLICIO_MODEL prefix (or by absence of config):
21
21
  given SIMPLICIO_HOOK_GUARD=1 so the inner CLI does not re-trigger the
22
22
  simplicio UserPromptSubmit hook (recursion guard).
23
23
 
24
- 4. In-process local inference via llama-cpp-python (offline-first, zero key)
24
+ 4. Local Ollama default (offline-first, zero key)
25
+ SIMPLICIO_MODEL=(unset)
26
+ SIMPLICIO_BASE_URL=(unset)
27
+ -> http://localhost:11434/v1 with openbmb/minicpm5:latest
28
+ If Ollama is unavailable or the default call fails, simplicio falls back
29
+ to Path 5.
30
+
31
+ 5. In-process local inference via llama-cpp-python (GGUF fallback, zero key)
25
32
  SIMPLICIO_MODEL=local-llama/<repo>::<file.gguf> -> explicit HF GGUF
26
- SIMPLICIO_MODEL=local-llama/default -> bundled default
33
+ SIMPLICIO_MODEL=local-llama/default -> fallback Qwen GGUF
27
34
  SIMPLICIO_MODEL=local-llama//abs/path/model.gguf -> direct local path
28
- This is also the DEFAULT when neither SIMPLICIO_MODEL nor
29
- SIMPLICIO_BASE_URL is set: simplicio runs Qwen2.5-Coder-1.5B-Instruct
30
- (Q8_0 GGUF, with Q6_K_L fallback) on CPU with no HTTP overhead. The GGUF is
31
- reused from ~/.simplicio/models/executor when present, otherwise fetched
32
- once from the Hugging Face Hub. Requires the `local` extra:
35
+ The
36
+ GGUF is reused from ~/.simplicio/models/executor when present, otherwise
37
+ fetched once from the Hugging Face Hub. Requires the `local` extra:
33
38
  pip install 'simplicio-cli[local]'.
34
39
  """
35
40
 
@@ -69,15 +74,17 @@ def _inline_feedback(prompt, feedback):
69
74
 
70
75
 
71
76
  # --------------------------------------------------------------------------- #
72
- # Path 4: in-process local inference (llama-cpp-python). Offline-first default.
77
+ # Path 4: local Ollama primary + Path 5: in-process GGUF fallback.
73
78
  # --------------------------------------------------------------------------- #
74
79
 
75
- # bartowski/Qwen2.5-Coder-1.5B-Instruct-GGUF is a small, code-specialized model
76
- # that runs fast on CPU. Q8_0 is the preferred local executor; Q6_K_L is the
77
- # lower-memory fallback.
78
- LOCAL_DEFAULT_REPO = "bartowski/Qwen2.5-Coder-1.5B-Instruct-GGUF"
79
- LOCAL_DEFAULT_FILE = "Qwen2.5-Coder-1.5B-Instruct-Q8_0.gguf"
80
- LOCAL_FALLBACK_FILE = "Qwen2.5-Coder-1.5B-Instruct-Q6_K_L.gguf"
80
+ DEFAULT_OLLAMA_MODEL = "openbmb/minicpm5:latest"
81
+ DEFAULT_OLLAMA_BASE_URL = "http://localhost:11434/v1"
82
+ DEFAULT_OLLAMA_API_KEY = "ollama"
83
+
84
+ # Qwen3.5-2B Q6_K is the local GGUF fallback for machines where Ollama is not
85
+ # reachable or the MiniCPM5 call fails.
86
+ LOCAL_DEFAULT_REPO = "bartowski/Qwen_Qwen3.5-2B-GGUF"
87
+ LOCAL_DEFAULT_FILE = "Qwen_Qwen3.5-2B-Q6_K.gguf"
81
88
  LOCAL_EXECUTOR_DIR = "~/.simplicio/models/executor"
82
89
  LOCAL_MODEL_PREFIX = "local-llama/"
83
90
 
@@ -89,19 +96,29 @@ _LOCAL_LLAMA_CACHE = {}
89
96
  def _is_local(model, base):
90
97
  """True when generate() should route to the in-process llama backend.
91
98
 
92
- Either an explicit `local-llama/` model, or the offline-first default:
93
- nothing configured at all (no model, no OpenAI-compatible base_url).
99
+ Only explicit `local-llama/` models use the in-process backend. The empty
100
+ config default is the local Ollama primary and is handled separately.
94
101
  """
95
102
  if model and model.startswith(LOCAL_MODEL_PREFIX):
96
103
  return True
97
- return not model and not base
104
+ return False
105
+
106
+
107
+ def _is_default_ollama(model, base):
108
+ """True when the local default should use Ollama first."""
109
+ if not model and not base:
110
+ return True
111
+ return (
112
+ model == DEFAULT_OLLAMA_MODEL
113
+ and (not base or base.rstrip("/") == DEFAULT_OLLAMA_BASE_URL.rstrip("/"))
114
+ )
98
115
 
99
116
 
100
117
  def _local_spec(model):
101
118
  """Resolve (repo, file, path) for a local-llama model id.
102
119
 
103
120
  Forms after the `local-llama/` prefix:
104
- "" / "default" / "auto" -> bundled Qwen2.5-Coder-1.5B Q8_0 default
121
+ "" / "default" / "auto" -> Qwen3.5-2B Q6_K GGUF fallback
105
122
  "<repo>::<file.gguf>" -> explicit HF repo + filename
106
123
  "/abs/path/model.gguf" -> direct local path (no download)
107
124
  "<repo>" -> HF repo + default/SIMPLICIO_LOCAL_MODEL_FILE
@@ -129,13 +146,9 @@ def _local_executor_dir() -> Path:
129
146
  return Path(os.environ.get("SIMPLICIO_LOCAL_MODEL_DIR", LOCAL_EXECUTOR_DIR)).expanduser()
130
147
 
131
148
 
132
- def _local_filenames(fname):
133
- """Return candidate GGUF filenames in preference order."""
134
- if os.environ.get("SIMPLICIO_LOCAL_MODEL_FILE"):
135
- return [fname]
136
- if fname == LOCAL_DEFAULT_FILE:
137
- return [LOCAL_DEFAULT_FILE, LOCAL_FALLBACK_FILE]
138
- return [fname]
149
+ def _local_candidates(repo, fname):
150
+ """Return candidate (repo, GGUF filename) pairs in preference order."""
151
+ return [(repo, fname)]
139
152
 
140
153
 
141
154
  def _resolve_local_path(repo, fname, path):
@@ -155,14 +168,14 @@ def _resolve_local_path(repo, fname, path):
155
168
  "Install extras: pip install 'simplicio-cli[local]'"
156
169
  )
157
170
  errors = []
158
- for candidate in _local_filenames(fname):
159
- local_file = _local_executor_dir() / candidate
171
+ for candidate_repo, candidate_file in _local_candidates(repo, fname):
172
+ local_file = _local_executor_dir() / candidate_file
160
173
  if local_file.is_file():
161
174
  return str(local_file)
162
175
  try:
163
- return hf_hub_download(repo_id=repo, filename=candidate)
176
+ return hf_hub_download(repo_id=candidate_repo, filename=candidate_file)
164
177
  except Exception as exc: # noqa: BLE001 - fallback to the next local GGUF
165
- errors.append(f"{candidate}: {exc}")
178
+ errors.append(f"{candidate_repo}/{candidate_file}: {exc}")
166
179
  detail = "; ".join(errors) if errors else f"{fname}: unavailable"
167
180
  raise SystemExit(f"simplicio: local model download failed ({detail})")
168
181
 
@@ -290,11 +303,93 @@ def _charge_if_budgeted(model, prompt, out):
290
303
  charge_provider_call(model, prompt, out or "")
291
304
 
292
305
 
306
+ def _generate_local_cached(prompt, feedback, model, max_tokens, cache_full_prompt):
307
+ from ._cache import CacheEntry, cache, make_key
308
+
309
+ eff_model = model or (LOCAL_MODEL_PREFIX + "default")
310
+ # Fold the resolved weights into the cache key: two different GGUFs can
311
+ # both route as `local-llama/default` (via SIMPLICIO_LOCAL_MODEL_PATH /
312
+ # _REPO / _FILE), and must NOT share cached completions.
313
+ repo, fname, path = _local_spec(eff_model)
314
+ weights = path or f"{repo}/{fname}"
315
+ key = make_key(
316
+ "local-llama",
317
+ eff_model,
318
+ prompt,
319
+ feedback=feedback,
320
+ max_tokens=max_tokens,
321
+ weights=weights,
322
+ )
323
+ cached = cache().get(key)
324
+ if cached is not None:
325
+ return cached.completion
326
+ out = _local_generate(prompt, feedback, eff_model, max_tokens)
327
+ _charge_if_budgeted(eff_model, cache_full_prompt, out)
328
+ cache().put(key, CacheEntry(out, provider_id="local-llama", model=eff_model))
329
+ return out
330
+
331
+
332
+ def _openai_compatible_generate(model, base, key, prompt, feedback, max_tokens):
333
+ from openai import OpenAI
334
+
335
+ cli = OpenAI(base_url=base, api_key=key)
336
+ r = cli.chat.completions.create(
337
+ model=model, max_tokens=max_tokens, messages=_msgs(prompt, feedback)
338
+ )
339
+ return r.choices[0].message.content
340
+
341
+
342
+ def _generate_default_ollama_with_fallback(prompt, feedback, max_tokens, cache_full_prompt):
343
+ from ._cache import CacheEntry, cache, make_key
344
+
345
+ provider_id = f"openai-compatible:{DEFAULT_OLLAMA_BASE_URL}"
346
+ key = make_key(
347
+ provider_id,
348
+ DEFAULT_OLLAMA_MODEL,
349
+ prompt,
350
+ feedback=feedback,
351
+ max_tokens=max_tokens,
352
+ )
353
+ cached = cache().get(key)
354
+ if cached is not None:
355
+ return cached.completion
356
+ try:
357
+ out = _openai_compatible_generate(
358
+ DEFAULT_OLLAMA_MODEL,
359
+ DEFAULT_OLLAMA_BASE_URL,
360
+ DEFAULT_OLLAMA_API_KEY,
361
+ prompt,
362
+ feedback,
363
+ max_tokens,
364
+ )
365
+ except Exception as exc: # noqa: BLE001 - default local path falls back to GGUF
366
+ try:
367
+ return _generate_local_cached(
368
+ prompt,
369
+ feedback,
370
+ LOCAL_MODEL_PREFIX + "default",
371
+ max_tokens,
372
+ cache_full_prompt,
373
+ )
374
+ except SystemExit as fallback_exc:
375
+ raise SystemExit(
376
+ "simplicio: default local Ollama model "
377
+ f"{DEFAULT_OLLAMA_MODEL} failed ({exc}); fallback GGUF "
378
+ f"{LOCAL_DEFAULT_FILE} also failed ({fallback_exc})"
379
+ )
380
+ _charge_if_budgeted(DEFAULT_OLLAMA_MODEL, cache_full_prompt, out)
381
+ cache().put(
382
+ key,
383
+ CacheEntry(out, provider_id=provider_id, model=DEFAULT_OLLAMA_MODEL),
384
+ )
385
+ return out
386
+
387
+
293
388
  def generate(prompt, feedback=None, max_tokens=4000, template_version=None):
294
389
  # Cache lookup BEFORE provider config. Key uses just SIMPLICIO_MODEL
295
390
  # (no credential check) so a hit returns without requiring an API key
296
391
  # to be set in the environment.
297
- from ._cache import cache, make_key, CacheEntry
392
+ from ._cache import cache, make_key
298
393
  model_name = os.environ.get("SIMPLICIO_MODEL", "").strip()
299
394
  cache_full_prompt = _inline_feedback(prompt, feedback)
300
395
  cache_key = make_key(
@@ -309,35 +404,21 @@ def generate(prompt, feedback=None, max_tokens=4000, template_version=None):
309
404
  c = _cfg()
310
405
  model = c["model"]
311
406
 
312
- # Path 4: in-process local inference. Explicit `local-llama/` model, or the
313
- # offline-first default when nothing is configured. No API key, no HTTP.
314
- if _is_local(model, c["base"]):
315
- eff_model = model or (LOCAL_MODEL_PREFIX + "default")
316
- # Fold the resolved weights into the cache key: two different GGUFs can
317
- # both route as `local-llama/default` (via SIMPLICIO_LOCAL_MODEL_PATH /
318
- # _REPO / _FILE), and must NOT share cached completions.
319
- repo, fname, path = _local_spec(eff_model)
320
- weights = path or f"{repo}/{fname}"
321
- key = make_key(
322
- "local-llama",
323
- eff_model,
324
- prompt,
325
- feedback=feedback,
326
- max_tokens=max_tokens,
327
- weights=weights,
407
+ # Path 4: no config means local Ollama first, then GGUF fallback.
408
+ if _is_default_ollama(model, c["base"]):
409
+ return _generate_default_ollama_with_fallback(
410
+ prompt, feedback, max_tokens, cache_full_prompt
328
411
  )
329
- cached = cache().get(key)
330
- if cached is not None:
331
- return cached.completion
332
- out = _local_generate(prompt, feedback, eff_model, max_tokens)
333
- _charge_if_budgeted(eff_model, cache_full_prompt, out)
334
- cache().put(key, CacheEntry(out, provider_id="local-llama", model=eff_model))
335
- return out
412
+
413
+ # Path 5: in-process local inference via explicit `local-llama/` model.
414
+ if _is_local(model, c["base"]):
415
+ return _generate_local_cached(prompt, feedback, model, max_tokens, cache_full_prompt)
336
416
 
337
417
  if not model:
338
418
  raise SystemExit(
339
419
  "set SIMPLICIO_MODEL (e.g. anthropic/claude-opus-4, claude-cli/sonnet, "
340
- "codex-cli/gpt-5, local-llama/default, glm-4.6, llama3, claude-opus-4-7)"
420
+ "codex-cli/gpt-5, openbmb/minicpm5:latest, local-llama/default, "
421
+ "glm-4.6, llama3, claude-opus-4-7)"
341
422
  )
342
423
  provider_id = _provider_id(model, c["base"])
343
424
  key = make_key(
@@ -388,13 +469,9 @@ def generate(prompt, feedback=None, max_tokens=4000, template_version=None):
388
469
  return out
389
470
 
390
471
  # Any OpenAI-compatible endpoint (OpenRouter, GLM, DeepSeek, local...)
391
- from openai import OpenAI
392
-
393
- cli = OpenAI(base_url=c["base"], api_key=c["key"])
394
- r = cli.chat.completions.create(
395
- model=model, max_tokens=max_tokens, messages=_msgs(prompt, feedback)
472
+ out = _openai_compatible_generate(
473
+ model, c["base"], c["key"], prompt, feedback, max_tokens
396
474
  )
397
- out = r.choices[0].message.content
398
475
  _charge_if_budgeted(model, cache_full_prompt, out)
399
476
  cache().put(key, CacheEntry(out, provider_id=provider_id, model=model))
400
477
  return out
@@ -402,6 +479,12 @@ def generate(prompt, feedback=None, max_tokens=4000, template_version=None):
402
479
 
403
480
  def info():
404
481
  c = _cfg()
482
+ if _is_default_ollama(c["model"], c["base"]):
483
+ return (
484
+ f"model={DEFAULT_OLLAMA_MODEL} provider=ollama "
485
+ f"base={DEFAULT_OLLAMA_BASE_URL} fallback={LOCAL_DEFAULT_FILE} "
486
+ "key=not-needed"
487
+ )
405
488
  if _is_local(c["model"], c["base"]):
406
489
  eff_model = c["model"] or (LOCAL_MODEL_PREFIX + "default (auto)")
407
490
  repo, fname, path = _local_spec(c["model"] or "")