ores.shell.application
Table of Contents
2. Summary
ores.shell.application is the runnable part of the shell. It owns the process
entry point, the Boost.ProgramOptions parser and the options struct it fills,
the host that builds the REPL session, the repl loop, and the
script_runner that replays a .ores script. It also holds the command units
that register the shell's menus, and builds ores.shell.exe.
The command units are grouped by the domain they project. Each unit names the
domain it belongs to, and a later wave moves it into its own
ores.shell.<domain> part. Until then they all live here.
3. Inputs
- CLI arguments: server URL, username, password, auto-login flag.
- Config file with connection and credential defaults.
- Interactive REPL commands typed at the prompt, or a
.oresscript file. - Domain protocol types from every linked
ores.<domain>.apilibrary.
4. Outputs
- NATS request messages to domain services.
- Formatted text output of query results to stdout.
ores.shell.exe— the shell executable.
5. Entry points
src/main.cpp— process entry point.src/config/— CLI argument parsing and configuration loading.src/app/host.cpp— session and menu wiring.src/app/repl.cpp— the REPL loop.src/app/script_runner.cpp— non-interactive script replay.src/app/commands/— one unit per domain menu.
6. Dependencies
ores.shell.api— argument parsing, feedback, pagination, request helpers.ores.nats— NATS transport for service calls.ores.iam.api,ores.refdata.api,ores.trading.api, and the remainingores.<domain>.apilibraries — NATS protocol types for the command units.- Boost.ProgramOptions — CLI argument parsing.
7. See also
- ores.shell — the composite this part belongs to.
- Shell recipes — the how-to recipes for ores-shell usage, and the
single source of truth for the generated
.oresscript library (projects/ores.shell/scripts/library/).
