simplicio-cli 0.5.13__tar.gz → 0.5.15__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 (378) hide show
  1. simplicio_cli-0.5.15/PKG-INFO +144 -0
  2. simplicio_cli-0.5.15/README.md +99 -0
  3. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/pyproject.toml +5 -5
  4. simplicio_cli-0.5.15/simplicio/__init__.py +1 -0
  5. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/cli.py +7 -6
  6. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/local_models.py +23 -28
  7. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/providers.py +133 -56
  8. simplicio_cli-0.5.15/simplicio_cli.egg-info/PKG-INFO +144 -0
  9. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio_cli.egg-info/requires.txt +2 -2
  10. simplicio_cli-0.5.13/PKG-INFO +0 -815
  11. simplicio_cli-0.5.13/README.md +0 -770
  12. simplicio_cli-0.5.13/simplicio/__init__.py +0 -1
  13. simplicio_cli-0.5.13/simplicio_cli.egg-info/PKG-INFO +0 -815
  14. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/LICENSE +0 -0
  15. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/setup.cfg +0 -0
  16. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/_cache.py +0 -0
  17. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/adaptive.py +0 -0
  18. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/bench.py +0 -0
  19. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/cache.py +0 -0
  20. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/cache_cli.py +0 -0
  21. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/detect.py +0 -0
  22. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/doctor.py +0 -0
  23. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/dod.py +0 -0
  24. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/ecosystem.py +0 -0
  25. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/hardware.py +0 -0
  26. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/init.py +0 -0
  27. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/intent.py +0 -0
  28. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/mapper.py +0 -0
  29. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/observability.py +0 -0
  30. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/orchestrator/__init__.py +0 -0
  31. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/orchestrator/cost_governor.py +0 -0
  32. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/orchestrator/feature.py +0 -0
  33. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/pipeline.py +0 -0
  34. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/pipeline_fixers.py +0 -0
  35. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/precedent.py +0 -0
  36. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/prompt.py +0 -0
  37. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/runtime_env.py +0 -0
  38. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/__init__.py +0 -0
  39. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/_pipeline_adapter.py +0 -0
  40. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/cli.py +0 -0
  41. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/__init__.py +0 -0
  42. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/go_gin.py +0 -0
  43. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/markdown_document.py +0 -0
  44. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/php_laravel.py +0 -0
  45. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/python_cst.py +0 -0
  46. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/python_fastapi.py +0 -0
  47. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/python_orm.py +0 -0
  48. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/python_pydantic.py +0 -0
  49. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/python_pytest.py +0 -0
  50. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/registry.py +0 -0
  51. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/rust_axum.py +0 -0
  52. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/types.py +0 -0
  53. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/typescript_next_page.py +0 -0
  54. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/typescript_next_route.py +0 -0
  55. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/executor.py +0 -0
  56. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/plan_schema.py +0 -0
  57. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/planner.py +0 -0
  58. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/recipes.py +0 -0
  59. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/skill_opt.py +0 -0
  60. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/stack_registry.py +0 -0
  61. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/skill_router.py +0 -0
  62. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/sprint_loader.py +0 -0
  63. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/SKILL.md +0 -0
  64. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/recipes/go-gin/crud-resource.yaml +0 -0
  65. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/recipes/php-laravel/crud-resource.yaml +0 -0
  66. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/recipes/php-vanilla/docs-marker.yaml +0 -0
  67. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/recipes/py-fastapi/admin-crud.yaml +0 -0
  68. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/recipes/py-fastapi/auth-jwt.yaml +0 -0
  69. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/recipes/py-fastapi/crud-resource.yaml +0 -0
  70. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/recipes/rust-axum/crud-resource.yaml +0 -0
  71. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/recipes/ts-nextjs/admin-crud.yaml +0 -0
  72. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/recipes/ts-nextjs/auth-jwt.yaml +0 -0
  73. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/recipes/ts-nextjs/crud-resource.yaml +0 -0
  74. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/simplicio_prompt.md +0 -0
  75. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/bash-cli/README.md +0 -0
  76. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/bash-cli/practices.md +0 -0
  77. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/bash-cli/stack.json +0 -0
  78. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/bash-cli/tree/README.md +0 -0
  79. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/bash-cli/tree/bin/app.sh +0 -0
  80. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/bash-cli/tree/test/app.bats +0 -0
  81. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/bash-cli/verify.json +0 -0
  82. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-aspnet/README.md +0 -0
  83. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-aspnet/practices.md +0 -0
  84. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-aspnet/stack.json +0 -0
  85. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-aspnet/tree/README.md +0 -0
  86. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-aspnet/tree/src/App.Api/App.Api.csproj +0 -0
  87. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-aspnet/tree/src/App.Api/Program.cs +0 -0
  88. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-aspnet/tree/tests/App.Tests/App.Tests.csproj +0 -0
  89. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-aspnet/tree/tests/App.Tests/HealthTests.cs +0 -0
  90. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-aspnet/verify.json +0 -0
  91. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-blazor/README.md +0 -0
  92. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-blazor/practices.md +0 -0
  93. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-blazor/stack.json +0 -0
  94. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-blazor/tree/README.md +0 -0
  95. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/App.Web.csproj +0 -0
  96. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Components/App.razor +0 -0
  97. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Components/Pages/Home.razor +0 -0
  98. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Program.cs +0 -0
  99. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-blazor/tree/tests/App.Tests/App.Tests.csproj +0 -0
  100. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-blazor/tree/tests/App.Tests/HealthTests.cs +0 -0
  101. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-blazor/verify.json +0 -0
  102. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/dart-flutter/README.md +0 -0
  103. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/dart-flutter/practices.md +0 -0
  104. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/dart-flutter/stack.json +0 -0
  105. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/dart-flutter/tree/README.md +0 -0
  106. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/dart-flutter/tree/lib/main.dart +0 -0
  107. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/dart-flutter/tree/pubspec.yaml +0 -0
  108. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/dart-flutter/tree/test/widget_test.dart +0 -0
  109. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/dart-flutter/verify.json +0 -0
  110. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/README.md +0 -0
  111. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/practices.md +0 -0
  112. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/stack.json +0 -0
  113. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/tree/README.md +0 -0
  114. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/tree/config/config.exs +0 -0
  115. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app/application.ex +0 -0
  116. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/controllers/health_controller.ex +0 -0
  117. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/endpoint.ex +0 -0
  118. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/router.ex +0 -0
  119. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/tree/mix.exs +0 -0
  120. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/tree/test/health_controller_test.exs +0 -0
  121. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/tree/test/test_helper.exs +0 -0
  122. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/verify.json +0 -0
  123. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-cli/README.md +0 -0
  124. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-cli/practices.md +0 -0
  125. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-cli/stack.json +0 -0
  126. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-cli/tree/README.md +0 -0
  127. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-cli/tree/cmd/root.go +0 -0
  128. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-cli/tree/cmd/root_test.go +0 -0
  129. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-cli/tree/go.mod +0 -0
  130. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-cli/tree/main.go +0 -0
  131. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-cli/verify.json +0 -0
  132. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-echo/README.md +0 -0
  133. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-echo/practices.md +0 -0
  134. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-echo/stack.json +0 -0
  135. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-echo/tree/README.md +0 -0
  136. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-echo/tree/cmd/server/main.go +0 -0
  137. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-echo/tree/go.mod +0 -0
  138. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-echo/tree/internal/http/router.go +0 -0
  139. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-echo/tree/internal/http/router_test.go +0 -0
  140. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-echo/verify.json +0 -0
  141. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-gin/README.md +0 -0
  142. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-gin/practices.md +0 -0
  143. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-gin/stack.json +0 -0
  144. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-gin/tree/README.md +0 -0
  145. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-gin/tree/cmd/server/main.go +0 -0
  146. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-gin/tree/go.mod +0 -0
  147. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-gin/tree/internal/http/router.go +0 -0
  148. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-gin/tree/internal/http/router_test.go +0 -0
  149. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-gin/verify.json +0 -0
  150. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/java-spring/README.md +0 -0
  151. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/java-spring/practices.md +0 -0
  152. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/java-spring/stack.json +0 -0
  153. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/java-spring/tree/README.md +0 -0
  154. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/java-spring/tree/build.gradle.kts +0 -0
  155. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/java-spring/tree/settings.gradle.kts +0 -0
  156. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/java-spring/tree/src/main/java/com/example/Application.java +0 -0
  157. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/java-spring/tree/src/main/java/com/example/HealthController.java +0 -0
  158. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/java-spring/tree/src/test/java/com/example/HealthControllerTest.java +0 -0
  159. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/java-spring/verify.json +0 -0
  160. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/js-express/README.md +0 -0
  161. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/js-express/practices.md +0 -0
  162. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/js-express/stack.json +0 -0
  163. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/js-express/tree/README.md +0 -0
  164. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/js-express/tree/package.json +0 -0
  165. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/js-express/tree/src/app.js +0 -0
  166. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/js-express/tree/src/server.js +0 -0
  167. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/js-express/tree/tests/health.test.js +0 -0
  168. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/js-express/verify.json +0 -0
  169. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-android/README.md +0 -0
  170. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-android/practices.md +0 -0
  171. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-android/stack.json +0 -0
  172. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-android/tree/README.md +0 -0
  173. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-android/tree/app/build.gradle.kts +0 -0
  174. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-android/tree/app/src/main/AndroidManifest.xml +0 -0
  175. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-android/tree/app/src/main/java/com/example/app/MainActivity.kt +0 -0
  176. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-android/tree/app/src/main/res/values/styles.xml +0 -0
  177. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-android/tree/app/src/test/java/com/example/app/SmokeTest.kt +0 -0
  178. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-android/tree/build.gradle.kts +0 -0
  179. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-android/tree/settings.gradle.kts +0 -0
  180. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-android/verify.json +0 -0
  181. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-ktor/README.md +0 -0
  182. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-ktor/practices.md +0 -0
  183. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-ktor/stack.json +0 -0
  184. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-ktor/tree/README.md +0 -0
  185. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-ktor/tree/build.gradle.kts +0 -0
  186. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-ktor/tree/settings.gradle.kts +0 -0
  187. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-ktor/tree/src/main/kotlin/com/example/Application.kt +0 -0
  188. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-ktor/tree/src/test/kotlin/com/example/ApplicationTest.kt +0 -0
  189. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-ktor/verify.json +0 -0
  190. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-spring/README.md +0 -0
  191. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-spring/practices.md +0 -0
  192. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-spring/stack.json +0 -0
  193. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-spring/tree/README.md +0 -0
  194. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-spring/tree/build.gradle.kts +0 -0
  195. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-spring/tree/settings.gradle.kts +0 -0
  196. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-spring/tree/src/main/kotlin/com/example/Application.kt +0 -0
  197. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-spring/tree/src/main/kotlin/com/example/HealthController.kt +0 -0
  198. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-spring/tree/src/test/kotlin/com/example/HealthControllerTest.kt +0 -0
  199. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-spring/verify.json +0 -0
  200. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/README.md +0 -0
  201. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/practices.md +0 -0
  202. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/stack.json +0 -0
  203. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/tree/README.md +0 -0
  204. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/tree/artisan +0 -0
  205. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/tree/bootstrap/app.php +0 -0
  206. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/tree/composer.json +0 -0
  207. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/tree/phpunit.xml +0 -0
  208. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/tree/routes/api.php +0 -0
  209. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/tree/routes/console.php +0 -0
  210. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/tree/tests/Feature/HealthTest.php +0 -0
  211. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/tree/tests/TestCase.php +0 -0
  212. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/verify.json +0 -0
  213. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-symfony/README.md +0 -0
  214. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-symfony/practices.md +0 -0
  215. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-symfony/stack.json +0 -0
  216. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-symfony/tree/README.md +0 -0
  217. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-symfony/tree/composer.json +0 -0
  218. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-symfony/tree/src/Controller/HealthController.php +0 -0
  219. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-symfony/tree/tests/HealthControllerTest.php +0 -0
  220. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-symfony/verify.json +0 -0
  221. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-vanilla/README.md +0 -0
  222. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-vanilla/practices.md +0 -0
  223. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-vanilla/stack.json +0 -0
  224. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-vanilla/tree/README.md +0 -0
  225. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-vanilla/tree/composer.json +0 -0
  226. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-vanilla/tree/phpunit.xml +0 -0
  227. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-vanilla/tree/src/Health.php +0 -0
  228. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-vanilla/tree/tests/HealthTest.php +0 -0
  229. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-vanilla/verify.json +0 -0
  230. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-cli/README.md +0 -0
  231. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-cli/practices.md +0 -0
  232. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-cli/stack.json +0 -0
  233. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-cli/tree/README.md +0 -0
  234. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-cli/tree/pyproject.toml +0 -0
  235. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-cli/tree/src/app/__init__.py +0 -0
  236. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-cli/tree/src/app/cli.py +0 -0
  237. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-cli/tree/tests/test_cli.py +0 -0
  238. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-cli/verify.json +0 -0
  239. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/README.md +0 -0
  240. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/practices.md +0 -0
  241. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/stack.json +0 -0
  242. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/README.md +0 -0
  243. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/app/__init__.py +0 -0
  244. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/app/apps.py +0 -0
  245. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/app/tests.py +0 -0
  246. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/app/views.py +0 -0
  247. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/config/__init__.py +0 -0
  248. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/config/asgi.py +0 -0
  249. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/config/settings.py +0 -0
  250. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/config/urls.py +0 -0
  251. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/config/wsgi.py +0 -0
  252. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/manage.py +0 -0
  253. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/pyproject.toml +0 -0
  254. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/verify.json +0 -0
  255. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/README.md +0 -0
  256. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/practices.md +0 -0
  257. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/stack.json +0 -0
  258. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/tree/.gitignore +0 -0
  259. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/tree/README.template.md +0 -0
  260. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/tree/pyproject.toml +0 -0
  261. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/tree/ruff.toml +0 -0
  262. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/tree/src/api/__init__.py +0 -0
  263. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/tree/src/main.py +0 -0
  264. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/tree/tests/test_health.py +0 -0
  265. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/verify.json +0 -0
  266. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-flask/README.md +0 -0
  267. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-flask/practices.md +0 -0
  268. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-flask/stack.json +0 -0
  269. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-flask/tree/README.md +0 -0
  270. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-flask/tree/pyproject.toml +0 -0
  271. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-flask/tree/ruff.toml +0 -0
  272. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-flask/tree/src/app.py +0 -0
  273. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-flask/tree/tests/test_health.py +0 -0
  274. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-flask/verify.json +0 -0
  275. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/README.md +0 -0
  276. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/practices.md +0 -0
  277. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/stack.json +0 -0
  278. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/tree/README.md +0 -0
  279. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/tree/index.html +0 -0
  280. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/tree/package.json +0 -0
  281. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/tree/src/App.test.tsx +0 -0
  282. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/tree/src/App.tsx +0 -0
  283. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/tree/src/main.tsx +0 -0
  284. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/tree/tsconfig.json +0 -0
  285. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/verify.json +0 -0
  286. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/README.md +0 -0
  287. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/practices.md +0 -0
  288. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/stack.json +0 -0
  289. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/tree/Gemfile +0 -0
  290. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/tree/README.md +0 -0
  291. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/tree/app/controllers/health_controller.rb +0 -0
  292. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/tree/bin/rails +0 -0
  293. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/tree/config/application.rb +0 -0
  294. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/tree/config/boot.rb +0 -0
  295. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/tree/config/routes.rb +0 -0
  296. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/tree/test/controllers/health_controller_test.rb +0 -0
  297. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/tree/test/test_helper.rb +0 -0
  298. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/verify.json +0 -0
  299. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-axum/README.md +0 -0
  300. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-axum/practices.md +0 -0
  301. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-axum/stack.json +0 -0
  302. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-axum/tree/Cargo.toml +0 -0
  303. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-axum/tree/README.md +0 -0
  304. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-axum/tree/src/main.rs +0 -0
  305. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-axum/verify.json +0 -0
  306. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-cli/README.md +0 -0
  307. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-cli/practices.md +0 -0
  308. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-cli/stack.json +0 -0
  309. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-cli/tree/Cargo.toml +0 -0
  310. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-cli/tree/README.md +0 -0
  311. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-cli/tree/src/main.rs +0 -0
  312. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-cli/verify.json +0 -0
  313. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-leptos/README.md +0 -0
  314. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-leptos/practices.md +0 -0
  315. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-leptos/stack.json +0 -0
  316. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-leptos/tree/Cargo.toml +0 -0
  317. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-leptos/tree/README.md +0 -0
  318. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-leptos/tree/src/main.rs +0 -0
  319. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-leptos/verify.json +0 -0
  320. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-ios/README.md +0 -0
  321. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-ios/practices.md +0 -0
  322. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-ios/stack.json +0 -0
  323. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-ios/tree/README.md +0 -0
  324. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-ios/tree/Sources/App/App.swift +0 -0
  325. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-ios/tree/Sources/App/ContentView.swift +0 -0
  326. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-ios/tree/Tests/AppTests/AppTests.swift +0 -0
  327. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-ios/verify.json +0 -0
  328. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-vapor/README.md +0 -0
  329. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-vapor/practices.md +0 -0
  330. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-vapor/stack.json +0 -0
  331. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-vapor/tree/Package.swift +0 -0
  332. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-vapor/tree/README.md +0 -0
  333. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-vapor/tree/Sources/App/main.swift +0 -0
  334. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-vapor/tree/Tests/AppTests/HealthTests.swift +0 -0
  335. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-vapor/verify.json +0 -0
  336. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/README.md +0 -0
  337. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/practices.md +0 -0
  338. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/stack.json +0 -0
  339. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/tree/README.md +0 -0
  340. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/tree/package.json +0 -0
  341. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/tree/src/app.controller.spec.ts +0 -0
  342. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/tree/src/app.controller.ts +0 -0
  343. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/tree/src/app.module.ts +0 -0
  344. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/tree/src/main.ts +0 -0
  345. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/tree/tsconfig.json +0 -0
  346. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/verify.json +0 -0
  347. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/README.md +0 -0
  348. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/practices.md +0 -0
  349. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/stack.json +0 -0
  350. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/tree/.eslintrc.json +0 -0
  351. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/tree/.gitignore +0 -0
  352. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/tree/next.config.mjs +0 -0
  353. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/tree/package.json +0 -0
  354. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/tree/pnpm-workspace.yaml +0 -0
  355. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/tree/src/app/layout.tsx +0 -0
  356. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/tree/src/app/page.tsx +0 -0
  357. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/tree/tsconfig.json +0 -0
  358. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/verify.json +0 -0
  359. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/README.md +0 -0
  360. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/practices.md +0 -0
  361. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/stack.json +0 -0
  362. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/tree/README.md +0 -0
  363. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/tree/app/root.tsx +0 -0
  364. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/tree/app/routes/_index.tsx +0 -0
  365. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/tree/app/routes/health.test.ts +0 -0
  366. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/tree/app/routes/health.ts +0 -0
  367. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/tree/package.json +0 -0
  368. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/tree/tsconfig.json +0 -0
  369. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/verify.json +0 -0
  370. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/userpromptsubmit-hook.sh +0 -0
  371. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/utils/__init__.py +0 -0
  372. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/utils/cache.py +0 -0
  373. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/utils/http_client.py +0 -0
  374. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/utils/serialization.py +0 -0
  375. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio_cli.egg-info/SOURCES.txt +0 -0
  376. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio_cli.egg-info/dependency_links.txt +0 -0
  377. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio_cli.egg-info/entry_points.txt +0 -0
  378. {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio_cli.egg-info/top_level.txt +0 -0
@@ -0,0 +1,144 @@
1
+ Metadata-Version: 2.4
2
+ Name: simplicio-cli
3
+ Version: 0.5.15
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
+ Author-email: Wesley Simplicio <wesleybob4@gmail.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/wesleysimplicio/simplicio-cli
8
+ Project-URL: Repository, https://github.com/wesleysimplicio/simplicio-cli
9
+ Project-URL: Issues, https://github.com/wesleysimplicio/simplicio-cli/issues
10
+ Project-URL: Changelog, https://github.com/wesleysimplicio/simplicio-cli/releases
11
+ Keywords: llm,ai,agent,code-generation,prompt-engineering,openrouter,openai,anthropic,claude,developer-tools,cli,rag,embeddings,verify-loop,task-automation
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Environment :: Console
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3 :: Only
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Topic :: Software Development
23
+ Classifier: Topic :: Software Development :: Code Generators
24
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
25
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
26
+ Requires-Python: >=3.10
27
+ Description-Content-Type: text/markdown
28
+ License-File: LICENSE
29
+ Requires-Dist: sentence-transformers>=5.1.2
30
+ Requires-Dist: numpy>=2.0.2
31
+ Requires-Dist: anthropic>=0.105.2
32
+ Requires-Dist: openai>=2.38.0
33
+ Requires-Dist: simplicio-mapper>=0.7.2
34
+ Requires-Dist: simplicio-prompt>=1.13.2
35
+ Requires-Dist: httpx>=0.28.1
36
+ Requires-Dist: orjson>=3.11.5
37
+ Requires-Dist: diskcache>=5.6.3
38
+ Requires-Dist: libcst>=1.8.6
39
+ Provides-Extra: bench
40
+ Requires-Dist: fpdf2>=2.8.4; extra == "bench"
41
+ Provides-Extra: local
42
+ Requires-Dist: llama-cpp-python>=0.3.23; extra == "local"
43
+ Requires-Dist: huggingface-hub>=1.8.0; extra == "local"
44
+ Dynamic: license-file
45
+
46
+ <h1 align="center">simplicio-cli</h1>
47
+
48
+ <p align="center">
49
+ <strong>Turn a one-line task into a verified code change: mapper context, six-layer contract, diff, test, and evidence.</strong><br />
50
+ <em>Commands stay in English so they can be copied exactly.</em>
51
+ </p>
52
+
53
+ <p align="center">
54
+ <a href="https://github.com/wesleysimplicio/simplicio-dev-cli/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/wesleysimplicio/simplicio-dev-cli?style=flat-square" /></a>
55
+ <a href="https://pypi.org/project/simplicio-cli/"><img alt="PyPI" src="https://img.shields.io/pypi/v/simplicio-cli.svg?style=flat-square" /></a>
56
+ <a href="https://pypi.org/project/simplicio-cli/"><img alt="Python versions" src="https://img.shields.io/pypi/pyversions/simplicio-cli.svg?style=flat-square" /></a>
57
+ <a href="LICENSE"><img alt="License" src="https://img.shields.io/badge/license-MIT-yellow?style=flat-square" /></a>
58
+ </p>
59
+
60
+ <p align="center">
61
+ <a href="README.md">English</a> | <a href="READMEs/README.pt-BR.md">Português</a> | <a href="READMEs/README.es-ES.md">Español</a> | <a href="READMEs/README.ja-JP.md">日本語</a> | <a href="READMEs/README.ko-KR.md">한국어</a> | <a href="READMEs/README.zh-CN.md">简体中文</a> | <a href="READMEs/README.it-IT.md">Italiano</a> | <a href="READMEs/README.fr-FR.md">Français</a> | <a href="READMEs/README.ru-RU.md">Русский</a> | <a href="READMEs/README.pl-PL.md">Polski</a> | <a href="READMEs/README.hi-IN.md">हिन्दी</a> | <a href="READMEs/README.ar-SA.md">العربية</a> | <a href="READMEs/README.he-IL.md">עברית</a> | <a href="READMEs/README.ms-MY.md">Bahasa Melayu</a> | <a href="READMEs/README.id-ID.md">Bahasa Indonesia</a>
62
+ </p>
63
+
64
+ <p align="center">
65
+ <img src="output/imagegen/simplicio-cli-readme-hero-web.png" alt="simplicio-cli preview" width="860" />
66
+ </p>
67
+
68
+ ---
69
+
70
+ ## The short version
71
+
72
+ Turn a one-line task into a verified code change: mapper context, six-layer contract, diff, test, and evidence.
73
+
74
+ ## Quick Start
75
+
76
+ ```bash
77
+ pip install -U simplicio-cli
78
+ simplicio detect "hide the Delete button for non-admins"
79
+ simplicio task "hide the Delete button for non-admins"
80
+ ```
81
+
82
+ ## What it does
83
+
84
+ - Classifies the task before execution so small fixes stay small and sprint-scale work becomes a plan.
85
+ - Loads simplicio-mapper artifacts before asking an LLM to edit.
86
+ - Keeps a verification loop around generated diffs instead of trusting the first answer.
87
+ - Works with local Simplicio1, OpenRouter, OpenAI, Anthropic, DeepSeek, Hermes, Codex and Claude-style hosts.
88
+
89
+ ## Why this README is built to earn attention
90
+
91
+ - clear first-screen promise
92
+ - language links before installation
93
+ - badges and a visual hero for fast trust
94
+ - copy-ready quick start
95
+ - proof before long reference material
96
+ - star history for social proof
97
+
98
+ ## How it works
99
+
100
+ ```mermaid
101
+ flowchart LR
102
+ mapper["simplicio-mapper
103
+ repo context"] --> current["simplicio-cli
104
+ this project"]
105
+ prompt["simplicio-prompt
106
+ reasoning runtime"] --> current
107
+ current --> evidence["validated evidence
108
+ tests, docs, screenshots"]
109
+ current --> sprint["simplicio-sprint
110
+ delivery loop"]
111
+ ```
112
+
113
+ ## Proof and validation
114
+
115
+ - Benchmark docs compare plain prompting vs the Simplicio contract on real code tasks.
116
+ - Package metadata tests pin ecosystem dependency floors.
117
+ - The CLI is the executor layer used by SendSprint and SimplicioCode flows.
118
+
119
+ ## Simplicio ecosystem
120
+
121
+ - [simplicio-mapper](https://github.com/wesleysimplicio/simplicio-mapper) supplies repo context before interpretation.
122
+ - [simplicio-cli](https://github.com/wesleysimplicio/simplicio-dev-cli) executes focused code tasks with verification.
123
+ - [simplicio-prompt](https://github.com/wesleysimplicio/simplicio-prompt) provides fan-out and consensus runtime patterns.
124
+ - [simplicio-sprint](https://github.com/wesleysimplicio/simplicio-sprint) turns cards into draft PR delivery loops.
125
+
126
+ ## Documentation standard
127
+
128
+ - [docs/PYTHON_PACKAGE_INTERDEPENDENCE.md](docs/PYTHON_PACKAGE_INTERDEPENDENCE.md)
129
+ - [docs/LLM_USAGE_POLICY.md](docs/LLM_USAGE_POLICY.md)
130
+ - [docs/readme-globalization-standard.md](docs/readme-globalization-standard.md)
131
+
132
+ ## Star History
133
+
134
+ <a href="https://www.star-history.com/#wesleysimplicio/simplicio-dev-cli&Date">
135
+ <picture>
136
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=wesleysimplicio/simplicio-dev-cli&type=Date&theme=dark" />
137
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=wesleysimplicio/simplicio-dev-cli&type=Date" />
138
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=wesleysimplicio/simplicio-dev-cli&type=Date" />
139
+ </picture>
140
+ </a>
141
+
142
+ ## License
143
+
144
+ MIT. See [LICENSE](LICENSE).
@@ -0,0 +1,99 @@
1
+ <h1 align="center">simplicio-cli</h1>
2
+
3
+ <p align="center">
4
+ <strong>Turn a one-line task into a verified code change: mapper context, six-layer contract, diff, test, and evidence.</strong><br />
5
+ <em>Commands stay in English so they can be copied exactly.</em>
6
+ </p>
7
+
8
+ <p align="center">
9
+ <a href="https://github.com/wesleysimplicio/simplicio-dev-cli/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/wesleysimplicio/simplicio-dev-cli?style=flat-square" /></a>
10
+ <a href="https://pypi.org/project/simplicio-cli/"><img alt="PyPI" src="https://img.shields.io/pypi/v/simplicio-cli.svg?style=flat-square" /></a>
11
+ <a href="https://pypi.org/project/simplicio-cli/"><img alt="Python versions" src="https://img.shields.io/pypi/pyversions/simplicio-cli.svg?style=flat-square" /></a>
12
+ <a href="LICENSE"><img alt="License" src="https://img.shields.io/badge/license-MIT-yellow?style=flat-square" /></a>
13
+ </p>
14
+
15
+ <p align="center">
16
+ <a href="README.md">English</a> | <a href="READMEs/README.pt-BR.md">Português</a> | <a href="READMEs/README.es-ES.md">Español</a> | <a href="READMEs/README.ja-JP.md">日本語</a> | <a href="READMEs/README.ko-KR.md">한국어</a> | <a href="READMEs/README.zh-CN.md">简体中文</a> | <a href="READMEs/README.it-IT.md">Italiano</a> | <a href="READMEs/README.fr-FR.md">Français</a> | <a href="READMEs/README.ru-RU.md">Русский</a> | <a href="READMEs/README.pl-PL.md">Polski</a> | <a href="READMEs/README.hi-IN.md">हिन्दी</a> | <a href="READMEs/README.ar-SA.md">العربية</a> | <a href="READMEs/README.he-IL.md">עברית</a> | <a href="READMEs/README.ms-MY.md">Bahasa Melayu</a> | <a href="READMEs/README.id-ID.md">Bahasa Indonesia</a>
17
+ </p>
18
+
19
+ <p align="center">
20
+ <img src="output/imagegen/simplicio-cli-readme-hero-web.png" alt="simplicio-cli preview" width="860" />
21
+ </p>
22
+
23
+ ---
24
+
25
+ ## The short version
26
+
27
+ Turn a one-line task into a verified code change: mapper context, six-layer contract, diff, test, and evidence.
28
+
29
+ ## Quick Start
30
+
31
+ ```bash
32
+ pip install -U simplicio-cli
33
+ simplicio detect "hide the Delete button for non-admins"
34
+ simplicio task "hide the Delete button for non-admins"
35
+ ```
36
+
37
+ ## What it does
38
+
39
+ - Classifies the task before execution so small fixes stay small and sprint-scale work becomes a plan.
40
+ - Loads simplicio-mapper artifacts before asking an LLM to edit.
41
+ - Keeps a verification loop around generated diffs instead of trusting the first answer.
42
+ - Works with local Simplicio1, OpenRouter, OpenAI, Anthropic, DeepSeek, Hermes, Codex and Claude-style hosts.
43
+
44
+ ## Why this README is built to earn attention
45
+
46
+ - clear first-screen promise
47
+ - language links before installation
48
+ - badges and a visual hero for fast trust
49
+ - copy-ready quick start
50
+ - proof before long reference material
51
+ - star history for social proof
52
+
53
+ ## How it works
54
+
55
+ ```mermaid
56
+ flowchart LR
57
+ mapper["simplicio-mapper
58
+ repo context"] --> current["simplicio-cli
59
+ this project"]
60
+ prompt["simplicio-prompt
61
+ reasoning runtime"] --> current
62
+ current --> evidence["validated evidence
63
+ tests, docs, screenshots"]
64
+ current --> sprint["simplicio-sprint
65
+ delivery loop"]
66
+ ```
67
+
68
+ ## Proof and validation
69
+
70
+ - Benchmark docs compare plain prompting vs the Simplicio contract on real code tasks.
71
+ - Package metadata tests pin ecosystem dependency floors.
72
+ - The CLI is the executor layer used by SendSprint and SimplicioCode flows.
73
+
74
+ ## Simplicio ecosystem
75
+
76
+ - [simplicio-mapper](https://github.com/wesleysimplicio/simplicio-mapper) supplies repo context before interpretation.
77
+ - [simplicio-cli](https://github.com/wesleysimplicio/simplicio-dev-cli) executes focused code tasks with verification.
78
+ - [simplicio-prompt](https://github.com/wesleysimplicio/simplicio-prompt) provides fan-out and consensus runtime patterns.
79
+ - [simplicio-sprint](https://github.com/wesleysimplicio/simplicio-sprint) turns cards into draft PR delivery loops.
80
+
81
+ ## Documentation standard
82
+
83
+ - [docs/PYTHON_PACKAGE_INTERDEPENDENCE.md](docs/PYTHON_PACKAGE_INTERDEPENDENCE.md)
84
+ - [docs/LLM_USAGE_POLICY.md](docs/LLM_USAGE_POLICY.md)
85
+ - [docs/readme-globalization-standard.md](docs/readme-globalization-standard.md)
86
+
87
+ ## Star History
88
+
89
+ <a href="https://www.star-history.com/#wesleysimplicio/simplicio-dev-cli&Date">
90
+ <picture>
91
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=wesleysimplicio/simplicio-dev-cli&type=Date&theme=dark" />
92
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=wesleysimplicio/simplicio-dev-cli&type=Date" />
93
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=wesleysimplicio/simplicio-dev-cli&type=Date" />
94
+ </picture>
95
+ </a>
96
+
97
+ ## License
98
+
99
+ MIT. See [LICENSE](LICENSE).
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "simplicio-cli"
3
- version = "0.5.13"
3
+ version = "0.5.15"
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" }
@@ -44,8 +44,8 @@ dependencies = [
44
44
  "numpy>=2.0.2",
45
45
  "anthropic>=0.105.2",
46
46
  "openai>=2.38.0",
47
- "simplicio-mapper>=0.6.10",
48
- "simplicio-prompt>=1.12.3",
47
+ "simplicio-mapper>=0.7.2",
48
+ "simplicio-prompt>=1.13.2",
49
49
  "httpx>=0.28.1",
50
50
  "orjson>=3.11.5",
51
51
  "diskcache>=5.6.3",
@@ -54,8 +54,8 @@ dependencies = [
54
54
 
55
55
  [project.optional-dependencies]
56
56
  bench = ["fpdf2>=2.8.4"]
57
- # Offline-first in-process inference (Path 4). Pulls the llama.cpp Python
58
- # bindings plus huggingface-hub to fetch the default Qwen3.5-2B Q6_K 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.
59
59
  local = ["llama-cpp-python>=0.3.23", "huggingface-hub>=1.8.0"]
60
60
 
61
61
  [project.urls]
@@ -0,0 +1 @@
1
+ __version__ = "0.5.15"
@@ -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 (Qwen3.5-2B Q6_K 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,10 +121,11 @@ 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:
@@ -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,13 +21,18 @@ 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 Qwen3.5-2B Q6_K GGUF on CPU with
30
- no HTTP overhead. Legacy Qwen2.5-Coder GGUFs remain fallback executors. The
35
+ The
31
36
  GGUF is reused from ~/.simplicio/models/executor when present, otherwise
32
37
  fetched once from the Hugging Face Hub. Requires the `local` extra:
33
38
  pip install 'simplicio-cli[local]'.
@@ -69,21 +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
- # Qwen3.5-2B Q6_K is the preferred local executor. The previous Qwen2.5-Coder
76
- # files stay in the automatic fallback chain so existing offline setups keep
77
- # working if the new GGUF is not present yet.
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.
78
86
  LOCAL_DEFAULT_REPO = "bartowski/Qwen_Qwen3.5-2B-GGUF"
79
- LOCAL_DEFAULT_FILE = "Qwen3.5-2B-Q6_K.gguf"
80
- LOCAL_FALLBACK_REPO = "bartowski/Qwen2.5-Coder-1.5B-Instruct-GGUF"
81
- LOCAL_FALLBACK_FILE = "Qwen2.5-Coder-1.5B-Instruct-Q8_0.gguf"
82
- LOCAL_SECONDARY_FALLBACK_FILE = "Qwen2.5-Coder-1.5B-Instruct-Q6_K_L.gguf"
83
- LOCAL_FALLBACK_SPECS = (
84
- (LOCAL_FALLBACK_REPO, LOCAL_FALLBACK_FILE),
85
- (LOCAL_FALLBACK_REPO, LOCAL_SECONDARY_FALLBACK_FILE),
86
- )
87
+ LOCAL_DEFAULT_FILE = "Qwen_Qwen3.5-2B-Q6_K.gguf"
87
88
  LOCAL_EXECUTOR_DIR = "~/.simplicio/models/executor"
88
89
  LOCAL_MODEL_PREFIX = "local-llama/"
89
90
 
@@ -95,19 +96,29 @@ _LOCAL_LLAMA_CACHE = {}
95
96
  def _is_local(model, base):
96
97
  """True when generate() should route to the in-process llama backend.
97
98
 
98
- Either an explicit `local-llama/` model, or the offline-first default:
99
- 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.
100
101
  """
101
102
  if model and model.startswith(LOCAL_MODEL_PREFIX):
102
103
  return True
103
- 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
+ )
104
115
 
105
116
 
106
117
  def _local_spec(model):
107
118
  """Resolve (repo, file, path) for a local-llama model id.
108
119
 
109
120
  Forms after the `local-llama/` prefix:
110
- "" / "default" / "auto" -> bundled Qwen3.5-2B Q6_K default
121
+ "" / "default" / "auto" -> Qwen3.5-2B Q6_K GGUF fallback
111
122
  "<repo>::<file.gguf>" -> explicit HF repo + filename
112
123
  "/abs/path/model.gguf" -> direct local path (no download)
113
124
  "<repo>" -> HF repo + default/SIMPLICIO_LOCAL_MODEL_FILE
@@ -137,10 +148,6 @@ def _local_executor_dir() -> Path:
137
148
 
138
149
  def _local_candidates(repo, fname):
139
150
  """Return candidate (repo, GGUF filename) pairs in preference order."""
140
- if os.environ.get("SIMPLICIO_LOCAL_MODEL_FILE"):
141
- return [(repo, fname)]
142
- if repo == LOCAL_DEFAULT_REPO and fname == LOCAL_DEFAULT_FILE:
143
- return [(repo, fname), *LOCAL_FALLBACK_SPECS]
144
151
  return [(repo, fname)]
145
152
 
146
153
 
@@ -296,11 +303,93 @@ def _charge_if_budgeted(model, prompt, out):
296
303
  charge_provider_call(model, prompt, out or "")
297
304
 
298
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
+
299
388
  def generate(prompt, feedback=None, max_tokens=4000, template_version=None):
300
389
  # Cache lookup BEFORE provider config. Key uses just SIMPLICIO_MODEL
301
390
  # (no credential check) so a hit returns without requiring an API key
302
391
  # to be set in the environment.
303
- from ._cache import cache, make_key, CacheEntry
392
+ from ._cache import cache, make_key
304
393
  model_name = os.environ.get("SIMPLICIO_MODEL", "").strip()
305
394
  cache_full_prompt = _inline_feedback(prompt, feedback)
306
395
  cache_key = make_key(
@@ -315,35 +404,21 @@ def generate(prompt, feedback=None, max_tokens=4000, template_version=None):
315
404
  c = _cfg()
316
405
  model = c["model"]
317
406
 
318
- # Path 4: in-process local inference. Explicit `local-llama/` model, or the
319
- # offline-first default when nothing is configured. No API key, no HTTP.
320
- if _is_local(model, c["base"]):
321
- eff_model = model or (LOCAL_MODEL_PREFIX + "default")
322
- # Fold the resolved weights into the cache key: two different GGUFs can
323
- # both route as `local-llama/default` (via SIMPLICIO_LOCAL_MODEL_PATH /
324
- # _REPO / _FILE), and must NOT share cached completions.
325
- repo, fname, path = _local_spec(eff_model)
326
- weights = path or f"{repo}/{fname}"
327
- key = make_key(
328
- "local-llama",
329
- eff_model,
330
- prompt,
331
- feedback=feedback,
332
- max_tokens=max_tokens,
333
- 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
334
411
  )
335
- cached = cache().get(key)
336
- if cached is not None:
337
- return cached.completion
338
- out = _local_generate(prompt, feedback, eff_model, max_tokens)
339
- _charge_if_budgeted(eff_model, cache_full_prompt, out)
340
- cache().put(key, CacheEntry(out, provider_id="local-llama", model=eff_model))
341
- 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)
342
416
 
343
417
  if not model:
344
418
  raise SystemExit(
345
419
  "set SIMPLICIO_MODEL (e.g. anthropic/claude-opus-4, claude-cli/sonnet, "
346
- "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)"
347
422
  )
348
423
  provider_id = _provider_id(model, c["base"])
349
424
  key = make_key(
@@ -394,13 +469,9 @@ def generate(prompt, feedback=None, max_tokens=4000, template_version=None):
394
469
  return out
395
470
 
396
471
  # Any OpenAI-compatible endpoint (OpenRouter, GLM, DeepSeek, local...)
397
- from openai import OpenAI
398
-
399
- cli = OpenAI(base_url=c["base"], api_key=c["key"])
400
- r = cli.chat.completions.create(
401
- 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
402
474
  )
403
- out = r.choices[0].message.content
404
475
  _charge_if_budgeted(model, cache_full_prompt, out)
405
476
  cache().put(key, CacheEntry(out, provider_id=provider_id, model=model))
406
477
  return out
@@ -408,6 +479,12 @@ def generate(prompt, feedback=None, max_tokens=4000, template_version=None):
408
479
 
409
480
  def info():
410
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
+ )
411
488
  if _is_local(c["model"], c["base"]):
412
489
  eff_model = c["model"] or (LOCAL_MODEL_PREFIX + "default (auto)")
413
490
  repo, fname, path = _local_spec(c["model"] or "")