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.
- simplicio_cli-0.5.15/PKG-INFO +144 -0
- simplicio_cli-0.5.15/README.md +99 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/pyproject.toml +5 -5
- simplicio_cli-0.5.15/simplicio/__init__.py +1 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/cli.py +7 -6
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/local_models.py +23 -28
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/providers.py +133 -56
- simplicio_cli-0.5.15/simplicio_cli.egg-info/PKG-INFO +144 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio_cli.egg-info/requires.txt +2 -2
- simplicio_cli-0.5.13/PKG-INFO +0 -815
- simplicio_cli-0.5.13/README.md +0 -770
- simplicio_cli-0.5.13/simplicio/__init__.py +0 -1
- simplicio_cli-0.5.13/simplicio_cli.egg-info/PKG-INFO +0 -815
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/LICENSE +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/setup.cfg +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/_cache.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/adaptive.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/bench.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/cache.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/cache_cli.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/detect.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/doctor.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/dod.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/ecosystem.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/hardware.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/init.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/intent.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/mapper.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/observability.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/orchestrator/__init__.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/orchestrator/cost_governor.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/orchestrator/feature.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/pipeline.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/pipeline_fixers.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/precedent.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/prompt.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/runtime_env.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/__init__.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/_pipeline_adapter.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/cli.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/__init__.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/go_gin.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/markdown_document.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/php_laravel.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/python_cst.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/python_fastapi.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/python_orm.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/python_pydantic.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/python_pytest.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/registry.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/rust_axum.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/types.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/typescript_next_page.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/codegen/typescript_next_route.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/executor.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/plan_schema.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/planner.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/recipes.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/skill_opt.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/scratch/stack_registry.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/skill_router.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/sprint_loader.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/SKILL.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/recipes/go-gin/crud-resource.yaml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/recipes/php-laravel/crud-resource.yaml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/recipes/php-vanilla/docs-marker.yaml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/recipes/py-fastapi/admin-crud.yaml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/recipes/py-fastapi/auth-jwt.yaml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/recipes/py-fastapi/crud-resource.yaml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/recipes/rust-axum/crud-resource.yaml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/recipes/ts-nextjs/admin-crud.yaml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/recipes/ts-nextjs/auth-jwt.yaml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/recipes/ts-nextjs/crud-resource.yaml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/simplicio_prompt.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/bash-cli/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/bash-cli/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/bash-cli/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/bash-cli/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/bash-cli/tree/bin/app.sh +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/bash-cli/tree/test/app.bats +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/bash-cli/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-aspnet/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-aspnet/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-aspnet/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-aspnet/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-aspnet/tree/src/App.Api/App.Api.csproj +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-aspnet/tree/src/App.Api/Program.cs +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-aspnet/tree/tests/App.Tests/App.Tests.csproj +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-aspnet/tree/tests/App.Tests/HealthTests.cs +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-aspnet/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-blazor/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-blazor/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-blazor/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-blazor/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/App.Web.csproj +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Components/App.razor +0 -0
- {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
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Program.cs +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-blazor/tree/tests/App.Tests/App.Tests.csproj +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-blazor/tree/tests/App.Tests/HealthTests.cs +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/csharp-blazor/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/dart-flutter/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/dart-flutter/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/dart-flutter/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/dart-flutter/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/dart-flutter/tree/lib/main.dart +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/dart-flutter/tree/pubspec.yaml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/dart-flutter/tree/test/widget_test.dart +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/dart-flutter/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/tree/config/config.exs +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app/application.ex +0 -0
- {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
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/endpoint.ex +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/router.ex +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/tree/mix.exs +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/tree/test/health_controller_test.exs +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/tree/test/test_helper.exs +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/elixir-phoenix/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-cli/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-cli/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-cli/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-cli/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-cli/tree/cmd/root.go +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-cli/tree/cmd/root_test.go +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-cli/tree/go.mod +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-cli/tree/main.go +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-cli/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-echo/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-echo/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-echo/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-echo/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-echo/tree/cmd/server/main.go +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-echo/tree/go.mod +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-echo/tree/internal/http/router.go +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-echo/tree/internal/http/router_test.go +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-echo/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-gin/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-gin/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-gin/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-gin/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-gin/tree/cmd/server/main.go +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-gin/tree/go.mod +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-gin/tree/internal/http/router.go +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-gin/tree/internal/http/router_test.go +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/go-gin/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/java-spring/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/java-spring/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/java-spring/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/java-spring/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/java-spring/tree/build.gradle.kts +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/java-spring/tree/settings.gradle.kts +0 -0
- {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
- {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
- {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
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/java-spring/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/js-express/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/js-express/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/js-express/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/js-express/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/js-express/tree/package.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/js-express/tree/src/app.js +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/js-express/tree/src/server.js +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/js-express/tree/tests/health.test.js +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/js-express/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-android/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-android/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-android/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-android/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-android/tree/app/build.gradle.kts +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-android/tree/app/src/main/AndroidManifest.xml +0 -0
- {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
- {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
- {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
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-android/tree/build.gradle.kts +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-android/tree/settings.gradle.kts +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-android/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-ktor/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-ktor/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-ktor/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-ktor/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-ktor/tree/build.gradle.kts +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-ktor/tree/settings.gradle.kts +0 -0
- {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
- {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
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-ktor/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-spring/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-spring/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-spring/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-spring/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-spring/tree/build.gradle.kts +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-spring/tree/settings.gradle.kts +0 -0
- {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
- {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
- {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
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/kotlin-spring/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/tree/artisan +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/tree/bootstrap/app.php +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/tree/composer.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/tree/phpunit.xml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/tree/routes/api.php +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/tree/routes/console.php +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/tree/tests/Feature/HealthTest.php +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/tree/tests/TestCase.php +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-laravel/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-symfony/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-symfony/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-symfony/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-symfony/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-symfony/tree/composer.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-symfony/tree/src/Controller/HealthController.php +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-symfony/tree/tests/HealthControllerTest.php +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-symfony/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-vanilla/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-vanilla/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-vanilla/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-vanilla/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-vanilla/tree/composer.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-vanilla/tree/phpunit.xml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-vanilla/tree/src/Health.php +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-vanilla/tree/tests/HealthTest.php +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/php-vanilla/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-cli/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-cli/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-cli/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-cli/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-cli/tree/pyproject.toml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-cli/tree/src/app/__init__.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-cli/tree/src/app/cli.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-cli/tree/tests/test_cli.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-cli/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/app/__init__.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/app/apps.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/app/tests.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/app/views.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/config/__init__.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/config/asgi.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/config/settings.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/config/urls.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/config/wsgi.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/manage.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/tree/pyproject.toml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-django/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/tree/.gitignore +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/tree/README.template.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/tree/pyproject.toml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/tree/ruff.toml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/tree/src/api/__init__.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/tree/src/main.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/tree/tests/test_health.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-fastapi/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-flask/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-flask/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-flask/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-flask/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-flask/tree/pyproject.toml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-flask/tree/ruff.toml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-flask/tree/src/app.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-flask/tree/tests/test_health.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/py-flask/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/tree/index.html +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/tree/package.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/tree/src/App.test.tsx +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/tree/src/App.tsx +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/tree/src/main.tsx +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/tree/tsconfig.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/react-vite/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/tree/Gemfile +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/tree/app/controllers/health_controller.rb +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/tree/bin/rails +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/tree/config/application.rb +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/tree/config/boot.rb +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/tree/config/routes.rb +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/tree/test/controllers/health_controller_test.rb +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/tree/test/test_helper.rb +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ruby-rails/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-axum/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-axum/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-axum/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-axum/tree/Cargo.toml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-axum/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-axum/tree/src/main.rs +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-axum/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-cli/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-cli/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-cli/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-cli/tree/Cargo.toml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-cli/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-cli/tree/src/main.rs +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-cli/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-leptos/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-leptos/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-leptos/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-leptos/tree/Cargo.toml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-leptos/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-leptos/tree/src/main.rs +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/rust-leptos/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-ios/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-ios/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-ios/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-ios/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-ios/tree/Sources/App/App.swift +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-ios/tree/Sources/App/ContentView.swift +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-ios/tree/Tests/AppTests/AppTests.swift +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-ios/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-vapor/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-vapor/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-vapor/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-vapor/tree/Package.swift +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-vapor/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-vapor/tree/Sources/App/main.swift +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-vapor/tree/Tests/AppTests/HealthTests.swift +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/swift-vapor/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/tree/package.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/tree/src/app.controller.spec.ts +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/tree/src/app.controller.ts +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/tree/src/app.module.ts +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/tree/src/main.ts +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/tree/tsconfig.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nestjs/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/tree/.eslintrc.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/tree/.gitignore +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/tree/next.config.mjs +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/tree/package.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/tree/pnpm-workspace.yaml +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/tree/src/app/layout.tsx +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/tree/src/app/page.tsx +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/tree/tsconfig.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-nextjs/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/practices.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/stack.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/tree/README.md +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/tree/app/root.tsx +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/tree/app/routes/_index.tsx +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/tree/app/routes/health.test.ts +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/tree/app/routes/health.ts +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/tree/package.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/tree/tsconfig.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/stacks/ts-remix/verify.json +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/templates/userpromptsubmit-hook.sh +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/utils/__init__.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/utils/cache.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/utils/http_client.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio/utils/serialization.py +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio_cli.egg-info/SOURCES.txt +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio_cli.egg-info/dependency_links.txt +0 -0
- {simplicio_cli-0.5.13 → simplicio_cli-0.5.15}/simplicio_cli.egg-info/entry_points.txt +0 -0
- {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.
|
|
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.
|
|
48
|
-
"simplicio-prompt>=1.
|
|
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
|
|
58
|
-
#
|
|
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
|
|
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,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:
|
|
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:
|
|
@@ -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,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.
|
|
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
|
-
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:
|
|
77
|
+
# Path 4: local Ollama primary + Path 5: in-process GGUF fallback.
|
|
73
78
|
# --------------------------------------------------------------------------- #
|
|
74
79
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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 = "
|
|
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
|
-
|
|
99
|
-
|
|
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
|
|
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" ->
|
|
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
|
|
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:
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
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
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
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,
|
|
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
|
-
|
|
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 "")
|