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.
- {simplicio_cli-0.5.12/simplicio_cli.egg-info → simplicio_cli-0.5.14}/PKG-INFO +18 -19
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/README.md +14 -14
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/pyproject.toml +6 -7
- simplicio_cli-0.5.14/simplicio/__init__.py +1 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/cli.py +8 -7
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/local_models.py +23 -28
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/providers.py +143 -60
- simplicio_cli-0.5.14/simplicio/templates/stacks/py-cli/tree/src/app/__pycache__/__init__.cpython-314.pyc +0 -0
- simplicio_cli-0.5.14/simplicio/templates/stacks/py-cli/tree/src/app/__pycache__/cli.cpython-314.pyc +0 -0
- simplicio_cli-0.5.14/simplicio/templates/stacks/py-cli/tree/tests/__pycache__/test_cli.cpython-314.pyc +0 -0
- simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/__pycache__/manage.cpython-314.pyc +0 -0
- simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/app/__pycache__/__init__.cpython-314.pyc +0 -0
- simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/app/__pycache__/apps.cpython-314.pyc +0 -0
- simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/app/__pycache__/tests.cpython-314.pyc +0 -0
- simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/app/__pycache__/views.cpython-314.pyc +0 -0
- simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/config/__pycache__/__init__.cpython-314.pyc +0 -0
- simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/config/__pycache__/asgi.cpython-314.pyc +0 -0
- simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/config/__pycache__/settings.cpython-314.pyc +0 -0
- simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/config/__pycache__/urls.cpython-314.pyc +0 -0
- simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/config/__pycache__/wsgi.cpython-314.pyc +0 -0
- simplicio_cli-0.5.14/simplicio/templates/stacks/py-fastapi/tree/src/__pycache__/main.cpython-314.pyc +0 -0
- simplicio_cli-0.5.14/simplicio/templates/stacks/py-fastapi/tree/src/api/__pycache__/__init__.cpython-314.pyc +0 -0
- simplicio_cli-0.5.14/simplicio/templates/stacks/py-fastapi/tree/tests/__pycache__/test_health.cpython-314.pyc +0 -0
- simplicio_cli-0.5.14/simplicio/templates/stacks/py-flask/tree/src/__pycache__/app.cpython-314.pyc +0 -0
- simplicio_cli-0.5.14/simplicio/templates/stacks/py-flask/tree/tests/__pycache__/test_health.cpython-314.pyc +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14/simplicio_cli.egg-info}/PKG-INFO +18 -19
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio_cli.egg-info/SOURCES.txt +18 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio_cli.egg-info/requires.txt +2 -2
- simplicio_cli-0.5.12/simplicio/__init__.py +0 -1
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/LICENSE +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/setup.cfg +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/_cache.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/adaptive.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/bench.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/cache.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/cache_cli.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/detect.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/doctor.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/dod.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/ecosystem.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/hardware.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/init.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/intent.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/mapper.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/observability.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/orchestrator/__init__.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/orchestrator/cost_governor.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/orchestrator/feature.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/pipeline.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/pipeline_fixers.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/precedent.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/prompt.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/runtime_env.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/__init__.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/_pipeline_adapter.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/cli.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/__init__.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/go_gin.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/markdown_document.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/php_laravel.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/python_cst.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/python_fastapi.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/python_orm.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/python_pydantic.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/python_pytest.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/registry.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/rust_axum.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/types.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/typescript_next_page.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/codegen/typescript_next_route.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/executor.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/plan_schema.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/planner.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/recipes.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/skill_opt.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/scratch/stack_registry.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/skill_router.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/sprint_loader.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/SKILL.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/recipes/go-gin/crud-resource.yaml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/recipes/php-laravel/crud-resource.yaml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/recipes/php-vanilla/docs-marker.yaml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/recipes/py-fastapi/admin-crud.yaml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/recipes/py-fastapi/auth-jwt.yaml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/recipes/py-fastapi/crud-resource.yaml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/recipes/rust-axum/crud-resource.yaml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/recipes/ts-nextjs/admin-crud.yaml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/recipes/ts-nextjs/auth-jwt.yaml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/recipes/ts-nextjs/crud-resource.yaml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/simplicio_prompt.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/bash-cli/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/bash-cli/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/bash-cli/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/bash-cli/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/bash-cli/tree/bin/app.sh +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/bash-cli/tree/test/app.bats +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/bash-cli/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-aspnet/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-aspnet/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-aspnet/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-aspnet/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-aspnet/tree/src/App.Api/App.Api.csproj +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-aspnet/tree/src/App.Api/Program.cs +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-aspnet/tree/tests/App.Tests/App.Tests.csproj +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-aspnet/tree/tests/App.Tests/HealthTests.cs +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-aspnet/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-blazor/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-blazor/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-blazor/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-blazor/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/App.Web.csproj +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Components/App.razor +0 -0
- {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
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Program.cs +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-blazor/tree/tests/App.Tests/App.Tests.csproj +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-blazor/tree/tests/App.Tests/HealthTests.cs +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/csharp-blazor/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/dart-flutter/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/dart-flutter/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/dart-flutter/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/dart-flutter/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/dart-flutter/tree/lib/main.dart +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/dart-flutter/tree/pubspec.yaml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/dart-flutter/tree/test/widget_test.dart +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/dart-flutter/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/tree/config/config.exs +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app/application.ex +0 -0
- {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
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/endpoint.ex +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/router.ex +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/tree/mix.exs +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/tree/test/health_controller_test.exs +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/tree/test/test_helper.exs +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/elixir-phoenix/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-cli/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-cli/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-cli/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-cli/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-cli/tree/cmd/root.go +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-cli/tree/cmd/root_test.go +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-cli/tree/go.mod +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-cli/tree/main.go +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-cli/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-echo/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-echo/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-echo/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-echo/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-echo/tree/cmd/server/main.go +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-echo/tree/go.mod +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-echo/tree/internal/http/router.go +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-echo/tree/internal/http/router_test.go +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-echo/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-gin/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-gin/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-gin/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-gin/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-gin/tree/cmd/server/main.go +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-gin/tree/go.mod +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-gin/tree/internal/http/router.go +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-gin/tree/internal/http/router_test.go +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/go-gin/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/java-spring/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/java-spring/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/java-spring/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/java-spring/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/java-spring/tree/build.gradle.kts +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/java-spring/tree/settings.gradle.kts +0 -0
- {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
- {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
- {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
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/java-spring/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/js-express/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/js-express/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/js-express/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/js-express/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/js-express/tree/package.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/js-express/tree/src/app.js +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/js-express/tree/src/server.js +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/js-express/tree/tests/health.test.js +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/js-express/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-android/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-android/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-android/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-android/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-android/tree/app/build.gradle.kts +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-android/tree/app/src/main/AndroidManifest.xml +0 -0
- {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
- {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
- {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
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-android/tree/build.gradle.kts +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-android/tree/settings.gradle.kts +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-android/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-ktor/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-ktor/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-ktor/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-ktor/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-ktor/tree/build.gradle.kts +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-ktor/tree/settings.gradle.kts +0 -0
- {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
- {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
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-ktor/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-spring/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-spring/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-spring/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-spring/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-spring/tree/build.gradle.kts +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-spring/tree/settings.gradle.kts +0 -0
- {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
- {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
- {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
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/kotlin-spring/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/tree/artisan +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/tree/bootstrap/app.php +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/tree/composer.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/tree/phpunit.xml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/tree/routes/api.php +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/tree/routes/console.php +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/tree/tests/Feature/HealthTest.php +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/tree/tests/TestCase.php +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-laravel/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-symfony/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-symfony/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-symfony/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-symfony/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-symfony/tree/composer.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-symfony/tree/src/Controller/HealthController.php +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-symfony/tree/tests/HealthControllerTest.php +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-symfony/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-vanilla/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-vanilla/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-vanilla/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-vanilla/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-vanilla/tree/composer.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-vanilla/tree/phpunit.xml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-vanilla/tree/src/Health.php +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-vanilla/tree/tests/HealthTest.php +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/php-vanilla/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-cli/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-cli/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-cli/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-cli/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-cli/tree/pyproject.toml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-cli/tree/src/app/__init__.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-cli/tree/src/app/cli.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-cli/tree/tests/test_cli.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-cli/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/app/__init__.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/app/apps.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/app/tests.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/app/views.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/config/__init__.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/config/asgi.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/config/settings.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/config/urls.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/config/wsgi.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/manage.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/tree/pyproject.toml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-django/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/tree/.gitignore +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/tree/README.template.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/tree/pyproject.toml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/tree/ruff.toml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/tree/src/api/__init__.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/tree/src/main.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/tree/tests/test_health.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-fastapi/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-flask/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-flask/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-flask/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-flask/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-flask/tree/pyproject.toml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-flask/tree/ruff.toml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-flask/tree/src/app.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-flask/tree/tests/test_health.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/py-flask/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/tree/index.html +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/tree/package.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/tree/src/App.test.tsx +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/tree/src/App.tsx +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/tree/src/main.tsx +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/tree/tsconfig.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/react-vite/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/tree/Gemfile +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/tree/app/controllers/health_controller.rb +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/tree/bin/rails +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/tree/config/application.rb +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/tree/config/boot.rb +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/tree/config/routes.rb +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/tree/test/controllers/health_controller_test.rb +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/tree/test/test_helper.rb +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ruby-rails/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-axum/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-axum/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-axum/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-axum/tree/Cargo.toml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-axum/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-axum/tree/src/main.rs +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-axum/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-cli/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-cli/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-cli/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-cli/tree/Cargo.toml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-cli/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-cli/tree/src/main.rs +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-cli/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-leptos/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-leptos/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-leptos/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-leptos/tree/Cargo.toml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-leptos/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-leptos/tree/src/main.rs +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/rust-leptos/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-ios/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-ios/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-ios/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-ios/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-ios/tree/Sources/App/App.swift +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-ios/tree/Sources/App/ContentView.swift +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-ios/tree/Tests/AppTests/AppTests.swift +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-ios/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-vapor/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-vapor/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-vapor/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-vapor/tree/Package.swift +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-vapor/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-vapor/tree/Sources/App/main.swift +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-vapor/tree/Tests/AppTests/HealthTests.swift +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/swift-vapor/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/tree/package.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/tree/src/app.controller.spec.ts +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/tree/src/app.controller.ts +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/tree/src/app.module.ts +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/tree/src/main.ts +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/tree/tsconfig.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nestjs/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/tree/.eslintrc.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/tree/.gitignore +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/tree/next.config.mjs +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/tree/package.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/tree/pnpm-workspace.yaml +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/tree/src/app/layout.tsx +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/tree/src/app/page.tsx +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/tree/tsconfig.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-nextjs/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/practices.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/stack.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/tree/README.md +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/tree/app/root.tsx +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/tree/app/routes/_index.tsx +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/tree/app/routes/health.test.ts +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/tree/app/routes/health.ts +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/tree/package.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/tree/tsconfig.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/stacks/ts-remix/verify.json +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/templates/userpromptsubmit-hook.sh +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/utils/__init__.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/utils/cache.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/utils/http_client.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio/utils/serialization.py +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio_cli.egg-info/dependency_links.txt +0 -0
- {simplicio_cli-0.5.12 → simplicio_cli-0.5.14}/simplicio_cli.egg-info/entry_points.txt +0 -0
- {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.
|
|
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.
|
|
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.
|
|
35
|
-
Requires-Dist: simplicio-prompt>=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) | `
|
|
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 —
|
|
576
|
+
### Path 4 — local Ollama primary with GGUF fallback
|
|
578
577
|
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
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
|
|
588
|
+
--target src/users.ts --local # forces local Ollama primary
|
|
593
589
|
|
|
594
|
-
# the GGUF is fetched once from the Hugging Face Hub, then
|
|
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=
|
|
601
|
-
|
|
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) | `
|
|
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 —
|
|
531
|
+
### Path 4 — local Ollama primary with GGUF fallback
|
|
532
532
|
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
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
|
|
543
|
+
--target src/users.ts --local # forces local Ollama primary
|
|
547
544
|
|
|
548
|
-
# the GGUF is fetched once from the Hugging Face Hub, then
|
|
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=
|
|
555
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
49
|
-
"simplicio-prompt>=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
|
|
59
|
-
#
|
|
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
|
|
95
|
-
"
|
|
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:
|
|
125
|
-
#
|
|
126
|
-
os.environ["SIMPLICIO_MODEL"] = "
|
|
127
|
-
os.environ
|
|
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
|
|
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
|
|
3
|
+
Encodes the local LLM standard:
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
gpu-xlarge → unsloth Qwen3-Coder-Next Q4 (~26 GB)
|
|
5
|
+
all tiers → openbmb/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
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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. "
|
|
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
|
|
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.
|
|
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 ->
|
|
33
|
+
SIMPLICIO_MODEL=local-llama/default -> fallback Qwen GGUF
|
|
27
34
|
SIMPLICIO_MODEL=local-llama//abs/path/model.gguf -> direct local path
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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:
|
|
77
|
+
# Path 4: local Ollama primary + Path 5: in-process GGUF fallback.
|
|
73
78
|
# --------------------------------------------------------------------------- #
|
|
74
79
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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
|
-
|
|
93
|
-
|
|
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
|
|
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" ->
|
|
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
|
|
133
|
-
"""Return candidate GGUF
|
|
134
|
-
|
|
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
|
|
159
|
-
local_file = _local_executor_dir() /
|
|
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=
|
|
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"{
|
|
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
|
|
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:
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
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
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
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,
|
|
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
|
-
|
|
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 "")
|
|
Binary file
|
simplicio_cli-0.5.14/simplicio/templates/stacks/py-cli/tree/src/app/__pycache__/cli.cpython-314.pyc
ADDED
|
Binary file
|
|
Binary file
|
simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/__pycache__/manage.cpython-314.pyc
ADDED
|
Binary file
|
|
Binary file
|
simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/app/__pycache__/apps.cpython-314.pyc
ADDED
|
Binary file
|
simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/app/__pycache__/tests.cpython-314.pyc
ADDED
|
Binary file
|
simplicio_cli-0.5.14/simplicio/templates/stacks/py-django/tree/app/__pycache__/views.cpython-314.pyc
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
simplicio_cli-0.5.14/simplicio/templates/stacks/py-fastapi/tree/src/__pycache__/main.cpython-314.pyc
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|