releases
solverforge-cli 2.2.x: Current Runtime Scaffolds and Model Resources
solverforge-cli 2.2.0 retargets generated apps to solverforge 0.15.0, keeps the UI and maps scaffold targets current, and documents the model resource commands for scalar groups and conflict repairs.
solverforge-cli 2.2.0 is the current CLI line for generated SolverForge
apps. It scaffolds new projects on solverforge 0.15.0,
solverforge-ui 0.6.5, and solverforge-maps 2.1.4.
cargo install solverforge-cli --force
solverforge --version
solverforge new my-scheduler
Current Scaffold Targets
solverforge --version reports the CLI package version separately from the
crate targets used by newly scaffolded projects:
solverforge solverforge-cli 2.2.0
CLI version: 2.2.0
Scaffold runtime target: SolverForge crate target 0.15.0
Scaffold UI target: solverforge-ui 0.6.5
Scaffold maps target: solverforge-maps 2.1.4
Runtime source: crates.io: solverforge 0.15.0
UI source: crates.io: solverforge-ui 0.6.5
Maps source: crates.io: solverforge-maps 2.1.4
Fresh web projects generated by the current CLI target:
solverforge 0.15.0solverforge-ui 0.6.5solverforge-maps 2.1.4- Rust
1.95
What Changed
Generated apps start on the current runtime
The previous published CLI line still scaffolded solverforge 0.11.1. CLI
2.2.0 moves fresh generated apps directly to the published solverforge 0.15.0
runtime, so the generic CLI path and the current worked use-case tutorials now
share the same core crate baseline.
Shell selection is explicit
solverforge new still creates a neutral shell, but the public shell options
are now explicit:
solverforge new my-scheduler
solverforge new service-scheduler --shell api
solverforge new batch-scheduler --shell cli
The default web shell includes the Axum backend, solverforge-ui frontend
assets, and solverforge-maps. The api shell keeps the HTTP API without
static frontend assets. The cli shell emits a command-line app without Axum,
UI, maps, or static/.
Model-resource generators are public
The generator surface now includes scalar groups and conflict repairs:
solverforge generate scalar-group required_assignment \
--assignment Task.resource_idx \
--required-entity required_task
solverforge generate conflict-repair required_assignment \
--provider repair_required_assignment
By default these commands synchronize the planning solution,
solverforge.app.toml, and a CLI-managed solver.toml region. Use
--skip-solver-config when the app owns those phase and selector references
manually.
Scalar variables can declare runtime hooks
Scalar variable generation can write hook metadata for app-owned candidate selection, nearby candidate selection, distance meters, and construction ordering:
solverforge generate variable resource_idx \
--entity Task \
--kind scalar \
--range resources \
--candidate-values resource_candidates \
--construction-entity-order-key task_priority \
--construction-value-order-key resource_priority
Those flags declare metadata only. The referenced Rust functions remain application code.
Non-web shells preserve their boundary
API and CLI shell projects do not generate static/,
static/generated/ui-model.json, or ui_source. Later domain mutations keep
that shell boundary intact instead of silently adding web assets.
Upgrade Notes
For a new project:
cargo install solverforge-cli --force
solverforge --version
solverforge new my-scheduler
cd my-scheduler
solverforge generate fact resource --field category:String --field load:i32
solverforge generate entity task --field label:String --field priority:i32
solverforge generate variable resource_idx --entity Task --kind scalar --range resources --allows-unassigned
solverforge generate data --size large
solverforge check
solverforge server
For an existing generated project, installing CLI 2.2.0 does not rewrite the
project in place. Use solverforge --version to confirm what new scaffolds
will target, then update an existing app’s Cargo.toml and
solverforge.app.toml deliberately when that app is ready to move runtime
lines.
Patch History
| Version | Date | Notes |
|---|---|---|
2.2.0 |
2026-05-31 | Retargets fresh generated apps to solverforge 0.15.0, keeps solverforge-ui 0.6.5 and solverforge-maps 2.1.4, exposes scalar-group and conflict-repair model resources, and preserves API/CLI shell boundaries. |
Where to read next
Use the solverforge-cli manual for the current workflow, the command reference for exact options, and the worked use cases for full apps on the same runtime line.