Documentation
Inspect, validate, test, configure, and integrate generated SolverForge apps.
Operations Commands
Operations commands do not change the domain model structure. They inspect the generated app, validate the working tree, run tests, show web/API routes, print MCP client connection configs, edit runtime configuration, or emit shell integration files.
solverforge info
solverforge info [OPTIONS]
Prints the project name, shell, planning solution type, score type, entities,
facts, scalar and list solvable fields, constraints, model resources, and
whether solver.toml exists. It requires a generated-style src/domain/
directory.
solverforge check
solverforge check [OPTIONS]
Validates the project’s structure. It does not compile the project and ends by
saying so; run cargo build to compile.
| Check | Result |
|---|---|
src/domain/ exists |
Errors if missing |
| planning solution parses | Errors if no solution is found |
entity modules in src/domain/mod.rs exist |
Errors for missing files |
constraint modules in src/constraints/mod.rs exist |
Errors for missing files |
solver.toml exists |
Warns if missing |
move_thread_count and candidate-trace settings |
Errors for invalid runtime forms or trace capacity |
| entities have solvable fields | Warns for entities with no scalar or list variable |
| scalar-group and conflict-repair references | Errors when generated model-resource refs are stale |
check does not reject unknown solver.toml keys; the runtime does, and a
solve started with one ends FAILED at once.
solverforge routes
solverforge routes [OPTIONS]
Searches for src/api/routes.rs, src/api/mod.rs, or src/api.rs, then
parses Axum .route("...", method(handler)) calls, including chained methods
such as get(a).delete(b) and calls split across lines, and prints a
METHOD / PATH / HANDLER table. This applies to web and API shells; routers
defined in other files are not listed.
solverforge connect
solverforge connect [OPTIONS]
Prints ready-to-paste MCP client configuration for an MCP-shell project: the stdio command plus the Streamable HTTP URL for opencode, Claude Code, Claude Desktop, Cursor, VS Code, and other clients. In a web, API, or CLI project it exits with an error.
Options:
| Option | Meaning |
|---|---|
--write <TARGET> |
Write the in-project client config for the target: vscode, cursor, claude, or opencode |
-p, --port <PORT> |
Port used in the printed Streamable HTTP URL; when omitted, use .solverforgerc and then 7860 |
Write targets and their in-project files:
| Target | Written file |
|---|---|
vscode |
.vscode/mcp.json |
cursor |
.cursor/mcp.json |
claude |
.mcp.json |
opencode |
opencode.json |
--write updates only the project’s MCP server entry and replaces the config
atomically; JSONC comments in an existing file are preserved. Global client
files (Claude Desktop) are printed with their path instead of being modified.
See the MCP Shell page.
solverforge connect
solverforge connect --write opencode
solverforge connect --write claude
solverforge connect --write cursor
solverforge connect --write vscode
solverforge connect --port 8080
solverforge test
solverforge test [OPTIONS] [CARGO_ARGS]... [-- <HARNESS_ARGS>...]
Arguments:
| Argument | Meaning |
|---|---|
[CARGO_ARGS]... |
Arguments passed to cargo test, such as a test-name filter or Cargo flags |
[HARNESS_ARGS]... |
Arguments after --, passed to the test binaries, such as --nocapture |
Examples:
solverforge test
solverforge test -- --nocapture
solverforge test integration
solverforge config
solverforge config [OPTIONS] <COMMAND>
Subcommands:
| Subcommand | Usage | Purpose |
|---|---|---|
show |
solverforge config show |
Print the contents of solver.toml |
set |
solverforge config set <KEY> <VALUE> |
Set a dotted TOML key path in solver.toml |
config set parses values as integer, float, boolean (true or false), then
string. Intermediate TOML tables are created when needed. check and
config set reject invalid move_thread_count forms: use "auto", "none",
or a table with one non-negative integer count, not a bare integer. Invalid
settings are rejected before config set writes the file. See
parallel evaluation
for the default, pool caps, and rebuild requirement.
Examples:
solverforge config show
solverforge config set termination.seconds_spent_limit 60
solverforge config set environment_mode reproducible
solverforge config set move_thread_count.count 4
config show
solverforge config show [OPTIONS]
Prints the current solver.toml contents. The command has no local arguments
or local options beyond the global flags.
config set
solverforge config set [OPTIONS] <KEY> <VALUE>
Arguments:
| Argument | Meaning |
|---|---|
<KEY> |
Dotted key path in solver.toml |
<VALUE> |
New value |
For example, termination.seconds_spent_limit addresses the solver termination
limit. Values are parsed as integer, float, boolean, then string. Intermediate
TOML tables are created when needed. config set writes non-phase settings;
ordered phases edits are manual, and generated model-resource references in
solver.toml are exact-ID graph references that destroy re-renders rather
than aliases.
solverforge completions
solverforge completions [OPTIONS] <SHELL>
Arguments:
| Argument | Meaning |
|---|---|
<SHELL> |
One of bash, elvish, fish, powershell, or zsh |
Examples:
solverforge completions bash >> ~/.bashrc
solverforge completions zsh >> ~/.zshrc
mkdir -p ~/.config/fish/completions
solverforge completions fish > ~/.config/fish/completions/solverforge.fish
Run the line for your shell, then open a new shell.
solverforge help
solverforge help [COMMAND]...
Prints the same help text exposed by --help. With no argument, it prints
top-level help. With one or more command names, it prints help for that nested
command:
solverforge help
solverforge help generate
solverforge help generate variable
solverforge help config set
See Also
- Configuration - what the CLI writes into
solver.tomlandsolverforge.app.toml - Solver Configuration - runtime phase, selector, acceptor, and termination options