ORE CLI Recipes Skill
When to use this skill
Use this skill when:
- The user wants to update the ORE Studio CLI recipes documentation
- New CLI commands have been added and need to be documented
- Existing CLI commands have changed and recipes need updating
- CLI options have been modified and need verification against recipes
How to use this skill
- Compare the parsers in
projects/ores.cli/src/config/entity_parserstodoc/recipes/cli_recipes.org. - Identify any missing commands, operations, or options that are not documented.
- Fix any option name mismatches (e.g.,
--adminvs--is-admin). - Add recipes for missing commands following the existing pattern.
- Use the Detailed Instructions section for the proper recipe format.
Detailed instructions
Recipe file location
The CLI recipes are stored in doc/recipes/cli_recipes.org. This file
demonstrates all functionality available in the ORE Studio CLI.
Command source locations
Entity parsers define commands and options in:
projects/ores.cli/src/config/entity_parsers/currencies_parser.cpp: Currency operationsprojects/ores.cli/src/config/entity_parsers/accounts_parser.cpp: Account operationsprojects/ores.cli/src/config/entity_parsers/feature_flags_parser.cpp: Feature flag operationsprojects/ores.cli/src/config/entity_parsers/login_info_parser.cpp: Login info operationsprojects/ores.cli/src/config/entity_parsers/roles_parser.cpp: Role operationsprojects/ores.cli/src/config/entity_parsers/permissions_parser.cpp: Permission operationsprojects/ores.cli/src/config/entity_parsers/countries_parser.cpp: Country operationsprojects/ores.cli/src/config/entity_parsers/change_reasons_parser.cpp: Change reason operationsprojects/ores.cli/src/config/entity_parsers/change_reason_categories_parser.cpp: Change reason category operations
The main parser that routes to entity parsers:
projects/ores.cli/src/config/parser.cpp: Main command routing
Entity operations
Each entity supports these operations (check parser for current list):
| Entity | Operations |
|---|---|
| currencies | import, export, list, delete, add |
| accounts | list, delete, add |
| feature-flags | list, delete, add |
| login-info | list, delete, add |
| roles | list, delete, add |
| permissions | list, delete, add |
| countries | list, delete, add |
| change-reasons | list, delete, add |
| change-reason-categories | list, delete, add |
Recipe format
Each recipe follows this pattern:
#+begin_src fundamental
Operation Name
Description of what this recipe demonstrates.
export ORES_CLI_DB_PASSWORD ./ores.cli <entity> <operation> ${db_args} ${log_args} \ --option1 value1 --option2 value2
#+end_src
Recipe sections
Recipes are organized into sections:
- General: Help, version
- Currencies: Import, export, list, delete, add
- Accounts: List, delete, add (regular and admin)
- Login Info: List, delete, add
- Feature Flags: List, delete, add
- Roles: List, delete, add (with permissions)
- Permissions: List, delete, add
- Countries: List, delete, add
- Change Reasons: List, delete, add
- Change Reason Categories: List, delete, add
Verifying options
When checking options, compare the options_description in the parser with
the recipe. Common issues include:
- Flag names (e.g.,
--adminvs--is-admin) - Required vs optional fields
- Default values
- Environment variable names (
ORES_CLI_DB_PASSWORD)
Adding a new recipe
- Identify which entity section the command belongs to.
- Check the parser for exact option names and requirements.
- Create a src block with the CLI command.
- Add appropriate
:wrap srcdirective for output format (json, text, xml, csv). - Include database and logging args (
${db_args} ${log_args}). - Add a descriptive paragraph explaining what the recipe demonstrates.