Command Line Interface Recipes
Demonstrates commands available in the ORE Studio CLI Component.
Recipes
General
General commands that do not exercise domain functionality.
Help
Display global help showing all available commands.
./ores.cli --help
ORE Studio is a User Interface for Open Source Risk Engine (ORE).
CLI provides a command line version of the interface.
ORE Studio is created by the ORE Studio project.
ores.cli uses a command-based interface: <command> <options>.
See below for a list of valid commands.
Global options:
General:
-h [ --help ] Display usage and exit.
-v [ --version ] Output version information and exit.
Logging:
-e [ --log-enabled ] Generate a log file.
-l [ --log-level ] arg (=info) What level to use for logging. Valid
values: trace, debug, info, warn, error.
--log-to-console Output logging to the console, as well as
to file.
--log-directory arg (=log) Where to place the log files.
--log-filename arg (=ores.cli.log) Name of the log file.
Commands:
currencies Manage currencies (import, export, list, delete, add).
accounts Manage accounts (list, delete, add).
feature-flags Manage feature flags (list, delete, add).
login-info View login tracking information (list).
For entity and operation specific options, use: <entity> <operation> --help
Version
Display version information.
./ores.cli --version
CLI for ORE Studio v0.0.6 Copyright (C) 2025 Marco Craveiro. License GPLv3: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Build: Provider = LOCAL IMPORTANT: build details are NOT for security purposes.
Currencies
Currency management operations from the ORE Studio Risk Component.
Help
Show available operations for currencies.
./ores.cli currencies --help
currencies - Manage currencies Usage: ores.cli currencies <operation> [options] Available operations: import Import currencies from ORE XML files export Export currencies to ORE XML or CSV (external formats) list List currencies as JSON or table (internal formats) delete Delete a currency by ISO code add Add currencies from JSON files For operation-specific options, use: currencies <operation> --help
Import
Import currencies from ORE XML format.
- Import single file
export ORES_CLI_DB_PASSWORD ./ores.cli currencies import ${db_args} ${log_args} \ --target ${data_dir}/currencies_API.xml
"currencies_API.xml": Imported a total of 178 currencies.
- Import multiple files
export ORES_CLI_DB_PASSWORD ./ores.cli currencies import ${db_args} ${log_args} \ --target ${data_dir}/currencies_API.xml \ --target ${data_dir}/currencies_42.xml
"currencies_API.xml": Imported a total of 178 currencies. "currencies_42.xml": Imported a total of 2 currencies.
Export
Export currencies to external formats (ORE XML or CSV).
- Export all as ORE XML
export ORES_CLI_DB_PASSWORD ./ores.cli currencies export ${db_args} ${log_args} --format xml | \ xmllint --format - | \ head -n 20
<?xml version="1.0" encoding="UTF-8"?> <CurrencyConfig> <Currency> <Name>Papua New Guinean kina</Name> <ISOCode>PGK</ISOCode> <NumericCode>598</NumericCode> <Symbol>K</Symbol> <FractionSymbol/> <FractionsPerUnit>100</FractionsPerUnit> <RoundingType>Closest</RoundingType> <RoundingPrecision>2</RoundingPrecision> <Format>%3% %1$.2f</Format> <CurrencyType/> </Currency> <Currency> <Name>Somali shilling</Name> <ISOCode>SOS</ISOCode> <NumericCode>706</NumericCode> <Symbol>K</Symbol> <FractionSymbol/>
- Export all as CSV
export ORES_CLI_DB_PASSWORD ./ores.cli currencies export ${db_args} ${log_args} \ --format csv | head
iso_code,name,numeric_code,symbol,fraction_symbol,fractions_per_unit,rounding_type,rounding_precision,format,currency_type,modified_by,valid_from,valid_to PGK,Papua New Guinean kina,598,K,"",100,Closest,2,%3% %1$.2f,"",ores,2025-12-11 23:45:39,2025-12-11 23:45:39 SOS,Somali shilling,706,K,"",100,Closest,2,%3% %1$.2f,"",ores,2025-12-11 23:45:39,2025-12-11 23:45:39 ALL,Albanian lek,8,"","",100,Closest,2,"","",ores,2025-12-11 23:45:39,2025-12-11 23:45:39 AMD,Armenian dram,51,"","",100,Closest,2,"","",ores,2025-12-11 23:45:39,2025-12-11 23:45:39 ANG,Netherlands Antillean guilder,532,"","",100,Closest,2,"","",ores,2025-12-11 23:45:39,2025-12-11 23:45:39 AOA,Angolan kwanza,973,"","",100,Closest,2,"","",ores,2025-12-11 23:45:39,2025-12-11 23:45:39 ARS,Argentine peso,32,"","",100,Closest,2,"","",ores,2025-12-11 23:45:39,2025-12-11 23:45:39 AUD,Australian dollar,36,"","",100,Closest,2,"","",ores,2025-12-11 23:45:39,2025-12-11 23:45:39 AWG,Aruban florin,533,"","",100,Closest,2,"","",ores,2025-12-11 23:45:39,2025-12-11 23:45:39
- Export specific currency
export ORES_CLI_DB_PASSWORD ./ores.cli currencies export ${db_args} ${log_args} \ --format json --key USD | jq .
[ { "version": 15, "iso_code": "USD", "name": "United States dollar", "numeric_code": "840", "symbol": "", "fraction_symbol": "", "fractions_per_unit": 100, "rounding_type": "Closest", "rounding_precision": 2, "format": "", "currency_type": "", "modified_by": "ores", "valid_from": "2025-12-11 23:45:39", "valid_to": "2025-12-11 23:45:39" } ] - Export all versions of a currency
export ORES_CLI_DB_PASSWORD ./ores.cli currencies export ${db_args} ${log_args} \ --format json --key USD --all-versions | jq .[:3]
[ { "version": 15, "iso_code": "USD", "name": "United States dollar", "numeric_code": "840", "symbol": "", "fraction_symbol": "", "fractions_per_unit": 100, "rounding_type": "Closest", "rounding_precision": 2, "format": "", "currency_type": "", "modified_by": "ores", "valid_from": "2025-12-11 23:45:39", "valid_to": "2025-12-11 23:45:39" }, { "version": 14, "iso_code": "USD", "name": "United States dollar", "numeric_code": "840", "symbol": "", "fraction_symbol": "", "fractions_per_unit": 100, "rounding_type": "Closest", "rounding_precision": 2, "format": "", "currency_type": "", "modified_by": "ores", "valid_from": "2025-12-11 23:44:52", "valid_to": "2025-12-11 23:44:52" }, { "version": 13, "iso_code": "USD", "name": "United States dollar", "numeric_code": "840", "symbol": "", "fraction_symbol": "", "fractions_per_unit": 100, "rounding_type": "Closest", "rounding_precision": 2, "format": "", "currency_type": "", "modified_by": "ores", "valid_from": "2025-12-11 23:36:31", "valid_to": "2025-12-11 23:36:31" } ] - Export as of specific time point
export ORES_CLI_DB_PASSWORD ./ores.cli currencies export ${db_args} ${log_args} \ --format json --as-of "2025-12-11 23:44:52" | jq .[:3]
[ { "version": 13, "iso_code": "MVR", "name": "Maldivian rufiyaa", "numeric_code": "462", "symbol": "", "fraction_symbol": "", "fractions_per_unit": 100, "rounding_type": "Closest", "rounding_precision": 2, "format": "", "currency_type": "", "modified_by": "ores", "valid_from": "2025-12-11 23:36:31", "valid_to": "2025-12-11 23:36:31" }, { "version": 13, "iso_code": "AED", "name": "United Arab Emirates dirham", "numeric_code": "784", "symbol": "", "fraction_symbol": "", "fractions_per_unit": 100, "rounding_type": "Closest", "rounding_precision": 2, "format": "", "currency_type": "", "modified_by": "ores", "valid_from": "2025-12-11 23:36:31", "valid_to": "2025-12-11 23:36:31" }, { "version": 13, "iso_code": "AFN", "name": "Afghan afghani", "numeric_code": "971", "symbol": "", "fraction_symbol": "", "fractions_per_unit": 100, "rounding_type": "Closest", "rounding_precision": 2, "format": "", "currency_type": "", "modified_by": "ores", "valid_from": "2025-12-11 23:36:31", "valid_to": "2025-12-11 23:36:31" } ]
List
List currencies using internal formats (JSON or table).
- List all currencies as JSON
export ORES_CLI_DB_PASSWORD ./ores.cli currencies list ${db_args} ${log_args} \ --format json | jq .[:3]
[ { "version": 26, "iso_code": "PGK", "name": "Papua New Guinean kina", "numeric_code": "598", "symbol": "K", "fraction_symbol": "", "fractions_per_unit": 100, "rounding_type": "Closest", "rounding_precision": 2, "format": "%3% %1$.2f", "currency_type": "", "modified_by": "ores", "valid_from": "2025-12-11 23:45:39", "valid_to": "2025-12-11 23:45:39" }, { "version": 26, "iso_code": "SOS", "name": "Somali shilling", "numeric_code": "706", "symbol": "K", "fraction_symbol": "", "fractions_per_unit": 100, "rounding_type": "Closest", "rounding_precision": 2, "format": "%3% %1$.2f", "currency_type": "", "modified_by": "ores", "valid_from": "2025-12-11 23:45:39", "valid_to": "2025-12-11 23:45:39" }, { "version": 15, "iso_code": "ALL", "name": "Albanian lek", "numeric_code": "8", "symbol": "", "fraction_symbol": "", "fractions_per_unit": 100, "rounding_type": "Closest", "rounding_precision": 2, "format": "", "currency_type": "", "modified_by": "ores", "valid_from": "2025-12-11 23:45:39", "valid_to": "2025-12-11 23:45:39" } ] - List all currencies as table
export ORES_CLI_DB_PASSWORD ./ores.cli currencies list ${db_args} ${log_args} \ --format table | head -n 10
+----------+---------+------------------------------------------------------------+--------+------+----------------+-----------+-------------+---------------------+---------------------+ | ISO Code | Version | Name | Symbol | Type | Fractions/Unit | Precision | Modified By | Valid From | Valid To | +----------+---------+------------------------------------------------------------+--------+------+----------------+-----------+-------------+---------------------+---------------------+ | PGK | 26 | Papua New Guinean kina | K | | 100 | 2 | ores | 2025-12-11 23:45:39 | 2025-12-11 23:45:39 | | SOS | 26 | Somali shilling | K | | 100 | 2 | ores | 2025-12-11 23:45:39 | 2025-12-11 23:45:39 | | ALL | 15 | Albanian lek | | | 100 | 2 | ores | 2025-12-11 23:45:39 | 2025-12-11 23:45:39 | | AMD | 15 | Armenian dram | | | 100 | 2 | ores | 2025-12-11 23:45:39 | 2025-12-11 23:45:39 | | ANG | 15 | Netherlands Antillean guilder | | | 100 | 2 | ores | 2025-12-11 23:45:39 | 2025-12-11 23:45:39 | | AOA | 15 | Angolan kwanza | | | 100 | 2 | ores | 2025-12-11 23:45:39 | 2025-12-11 23:45:39 |
- List specific currency
export ORES_CLI_DB_PASSWORD ./ores.cli currencies list ${db_args} ${log_args} \ --format json --key EUR | jq .
[ { "version": 15, "iso_code": "EUR", "name": "Euro", "numeric_code": "978", "symbol": "", "fraction_symbol": "", "fractions_per_unit": 100, "rounding_type": "Closest", "rounding_precision": 2, "format": "", "currency_type": "", "modified_by": "ores", "valid_from": "2025-12-11 23:45:39", "valid_to": "2025-12-11 23:45:39" } ]
Delete
Delete a currency by ISO code.
export ORES_CLI_DB_PASSWORD ./ores.cli currencies delete ${db_args} ${log_args} \ --key ZAR
Currency deleted successfully: ZAR
Add
Add a new currency.
export ORES_CLI_DB_PASSWORD ./ores.cli currencies add ${db_args} ${log_args} --iso-code ABCDE --name "New Currency" \ --numeric-code 1234 --modified-by test --currency-type major ./ores.cli currencies list ${db_args} ${log_args} \ --format table --key ABCDE
Successfully added currency: ABCDE +----------+---------+--------------+--------+-------+----------------+-----------+-------------+---------------------+---------------------+ | ISO Code | Version | Name | Symbol | Type | Fractions/Unit | Precision | Modified By | Valid From | Valid To | +----------+---------+--------------+--------+-------+----------------+-----------+-------------+---------------------+---------------------+ | ABCDE | 2 | New Currency | | major | 100 | 2 | test | 2025-12-11 23:51:36 | 2025-12-11 23:51:36 | +----------+---------+--------------+--------+-------+----------------+-----------+-------------+---------------------+---------------------+
Accounts
Account management operations from the ORE Studio Accounts Component.
Help
Show available operations for accounts.
./ores.cli accounts --help
accounts - Manage accounts Usage: ores.cli accounts <operation> [options] Available operations: list List accounts as JSON or table (internal formats) delete Delete an account by username or UUID add Add an account using command-line arguments For operation-specific options, use: accounts <operation> --help
List
List accounts from the database.
- List all as JSON
export ORES_CLI_DB_PASSWORD ./ores.cli accounts list ${db_args} ${log_args} \ --format json | jq .
[ { "version": 1, "is_admin": false, "id": "e7bddd23-c004-4652-99e1-8d4ff5856fe1", "modified_by": "admin", "username": "newuser5", "password_hash": "$scrypt$ln=14,r=8,p=1$/hbMzxNC7PoCaMsu9FfYPg==$n6DPA0bUTHzF3X7cc0ZHB0A1ALpvhbN3Y95fybA3ZXnDWqOXjiBiv7WnCdhQkj5g4QGvh0mjG5oGYq7m07ySDg==", "password_salt": "", "totp_secret": "", "email": "newuser5@example.com" } ] - List all as table
export ORES_CLI_DB_PASSWORD ./ores.cli accounts list ${db_args} ${log_args} \ --format table
+--------------------------------------+----------+----------------------+--------+-------------+---------+ | ID (UUID) | Username | Email | Admin? | Modified By | Version | +--------------------------------------+----------+----------------------+--------+-------------+---------+ | e7bddd23-c004-4652-99e1-8d4ff5856fe1 | newuser5 | newuser5@example.com | N | admin | 1 | +--------------------------------------+----------+----------------------+--------+-------------+---------+
- List specific account by username
export ORES_CLI_DB_PASSWORD ./ores.cli accounts list ${db_args} ${log_args} \ --format json --key adminuser | jq .
[ { "version": 1, "is_admin": true, "id": "1ba0b8a3-9668-4a70-80fd-6d9d9efcda9d", "modified_by": "admin", "username": "adminuser", "password_hash": "$scrypt$ln=14,r=8,p=1$Ivga7n7Xz+PjF2rkDa5iVw==$+izU4e5BT57qFYdpiF6c2Ln1pRVEh8RH+nZkZ8MOHrWxDvTEjemC4yq34RiOrgzqaYGeX8QdjiEKBS5sQS614w==", "password_salt": "", "totp_secret": "", "email": "admin@example.com" } ] - List all versions of an account
export ORES_CLI_DB_PASSWORD ./ores.cli accounts list ${db_args} ${log_args} \ --format json --key adminuser --all-versions | jq .
[ { "version": 1, "is_admin": true, "id": "1ba0b8a3-9668-4a70-80fd-6d9d9efcda9d", "modified_by": "admin", "username": "adminuser", "password_hash": "$scrypt$ln=14,r=8,p=1$Ivga7n7Xz+PjF2rkDa5iVw==$+izU4e5BT57qFYdpiF6c2Ln1pRVEh8RH+nZkZ8MOHrWxDvTEjemC4yq34RiOrgzqaYGeX8QdjiEKBS5sQS614w==", "password_salt": "", "totp_secret": "", "email": "admin@example.com" } ]
Delete
Delete an account by username or UUID.
- Delete by username
export ORES_CLI_DB_PASSWORD ./ores.cli accounts delete ${db_args} ${log_args} \ --key newuser4
Account deleted successfully: 3b6efad4-039f-4dd4-8e0d-6209a08f8148
- Delete by UUID
export ORES_CLI_DB_PASSWORD ./ores.cli accounts delete ${db_args} ${log_args} \ --key 9dec6b76-f982-47c3-bb11-58b62ca5c0d1
Account deleted successfully: 9dec6b76-f982-47c3-bb11-58b62ca5c0d1
Add
Add a new account using command-line arguments.
- Add regular user account
export ORES_CLI_DB_PASSWORD ./ores.cli accounts add ${db_args} ${log_args} \ --username newuser5 \ --email newuser5@example.com \ --password "Secure-Password-123" \ --modified-by admin
System is currently in bootstrap mode. Successfully added account: newuser5 (ID: e7bddd23-c004-4652-99e1-8d4ff5856fe1)
- Add admin account
export ORES_CLI_DB_PASSWORD ./ores.cli accounts add ${db_args} ${log_args} \ --username adminuser2 --email adminuser2@example.com \ --password "Admin-Password-456" --is-admin --modified-by admin
Successfully added account: adminuser2 (ID: 6ca39d5f-4ffe-4a6d-a0b4-fd68488b2d8f)
Login Info
Login info operations.
Help
Show available operations for feature flags.
./ores.cli login-info add --help
ORE Studio is a User Interface for Open Source Risk Engine (ORE).
CLI provides a command line version of the interface.
ORE Studio is created by the ORE Studio project.
Displaying options specific to the 'login-info add' command.
For global options, type --help.
Add Login Info Options:
--account-id arg Account ID (UUID) for the login info
(required)
--locked arg (=0) Whether the account is locked (default:
false)
--failed-logins arg (=0) Number of failed login attempts (default:
0)
Database:
--db-user arg (=ores) Database user name.
--db-password arg Database password. Can also be provided
via ORES_DB_PASSWORD environment
variable.
--db-host arg (=localhost) Database host.
--db-database arg (=oresdb) Database name.
--db-port arg (=5432) Database port.
Logging:
-e [ --log-enabled ] Generate a log file.
-l [ --log-level ] arg (=info) What level to use for logging. Valid
values: trace, debug, info, warn, error.
--log-to-console Output logging to the console, as well as
to file.
--log-directory arg (=log) Where to place the log files.
--log-filename arg (=ores.cli.log) Name of the log file.
List
List feature flags from the database.
- List all as JSON
export ORES_CLI_DB_PASSWORD ./ores.cli login-info list ${db_args} ${log_args} --format json | jq .
[ { "last_login": "2025-12-12 16:07:21.000000000Z", "account_id": "e7bddd23-c004-4652-99e1-8d4ff5856fe1", "failed_logins": 0, "locked": false, "online": false, "last_ip": "0.0.0.0", "last_attempt_ip": "0.0.0.0" } ] - List all as table
export ORES_CLI_DB_PASSWORD ./ores.cli login-info list ${db_args} ${log_args} --format table
+--------------------------------------+---------+-----------------+--------+--------+--------+---------------------+ | Account ID | Last IP | Last Attempt IP | Failed | Locked | Online | Last Login | +--------------------------------------+---------+-----------------+--------+--------+--------+---------------------+ | 019b1008-6da1-733c-a6e6-e942eaab2ed6 | 0.0.0.0 | 0.0.0.0 | 0 | N | N | 1970-01-01 00:00:00 | | 019b1008-6eda-7675-b494-2464a4681cca | 0.0.0.0 | 0.0.0.0 | 0 | N | N | 1970-01-01 00:00:00 | | 019b11ba-9d4d-7292-9a51-a632d59fb27b | 0.0.0.0 | 0.0.0.0 | 0 | N | N | 1970-01-01 00:00:00 | | 019b11ba-9de8-7ade-bd73-6a71c7fb1cd7 | 0.0.0.0 | 0.0.0.0 | 0 | N | N | 1970-01-01 00:00:00 | | 019b1240-2049-704f-9ec7-105120a57e51 | 0.0.0.0 | 0.0.0.0 | 0 | N | N | 1970-01-01 00:00:00 | | 019b1240-2131-7010-8d39-ea31f00a9714 | 0.0.0.0 | 0.0.0.0 | 0 | N | N | 1970-01-01 00:00:00 | +--------------------------------------+---------+-----------------+--------+--------+--------+---------------------+
- List specific feature flag
export ORES_CLI_DB_PASSWORD ./ores.cli login-info list ${db_args} ${log_args} \ --format json --key "019b1008-6da1-733c-a6e6-e942eaab2ed6" | jq .
[ { "last_login": "1969-12-31 23:00:00.000000000Z", "account_id": "019b1008-6da1-733c-a6e6-e942eaab2ed6", "failed_logins": 0, "locked": false, "online": false, "last_ip": "0.0.0.0", "last_attempt_ip": "0.0.0.0" } ]
Delete
Delete a feature flag by key.
export ORES_CLI_DB_PASSWORD ./ores.cli login-info delete ${db_args} ${log_args} \ --key "Test feature3"
Add
Add a new feature flag (not yet implemented).
export ORES_CLI_DB_PASSWORD ./ores.cli login-info add ${db_args} ${log_args} --account-id "e7bddd23-c004-4652-99e1-8d4ff5856fe1"
Successfully added login info for account: e7bddd23-c004-4652-99e1-8d4ff5856fe1
Feature Flags
Feature flag management from the ORE Studio Variability Component.
Help
Show available operations for feature flags.
./ores.cli feature-flags --help
feature-flags - Manage feature flags Usage: ores.cli feature-flags <operation> [options] Available operations: list List feature flags as JSON or table (internal formats) delete Delete a feature flag by key add Add a new feature flag For operation-specific options, use: feature-flags <operation> --help
List
List feature flags from the database.
- List as JSON
export ORES_CLI_DB_PASSWORD ./ores.cli feature-flags list ${db_args} ${log_args} --format json | jq .
[ { "version": 1, "enabled": false, "name": "system.bootstrap_mode", "description": "Indicates whether the system is in bootstrap mode (waiting for initial admin account).", "modified_by": "system" }, { "version": 1, "enabled": false, "name": "system.user_signups", "description": "Controls whether user self-registration is allowed.", "modified_by": "system" }, { "version": 1, "enabled": false, "name": "system.disable_password_validation", "description": "When enabled (1), disables strict password validation. FOR TESTING/DEVELOPMENT ONLY.", "modified_by": "system" } ] - List all as table
export ORES_CLI_DB_PASSWORD ./ores.cli feature-flags list ${db_args} ${log_args} --format table
+------------------------------------+---------+----------------------------------------------------------------------------------------+---------+-------------+ | Name | Version | Description | Enabled | Modified By | +------------------------------------+---------+----------------------------------------------------------------------------------------+---------+-------------+ | system.bootstrap_mode | 1 | Indicates whether the system is in bootstrap mode (waiting for initial admin account). | 0 | system | | system.user_signups | 1 | Controls whether user self-registration is allowed. | 0 | system | | system.disable_password_validation | 1 | When enabled (1), disables strict password validation. FOR TESTING/DEVELOPMENT ONLY. | 0 | system | +------------------------------------+---------+----------------------------------------------------------------------------------------+---------+-------------+
- List specific entity
export ORES_CLI_DB_PASSWORD ./ores.cli feature-flags list ${db_args} ${log_args} \ --format json --key "system.bootstrap_mode" | jq .
[ { "version": 1, "enabled": false, "name": "system.bootstrap_mode", "description": "Indicates whether the system is in bootstrap mode (waiting for initial admin account).", "modified_by": "system" } ]
Add
Add a new feature flag.
export ORES_CLI_DB_PASSWORD ./ores.cli feature-flags add ${db_args} ${log_args} --name "Test feature3" \ --description "Some description" --enabled 0 --modified-by admin
Successfully added feature flag: Test feature3
Delete
Delete a feature flag by key.
export ORES_CLI_DB_PASSWORD ./ores.cli feature-flags delete ${db_args} ${log_args} \ --key "Test feature3"
Feature flag deleted successfully: Test feature3
Footer
| Previous: Recipes |