When to use this skill
Use this skill when:
- •The user wants to update the ORE Studio Shell recipes documentation
- •New shell commands have been added and need to be documented
- •Existing shell commands have changed and recipes need updating
How to use this skill
- •Compare the commands in
projects/ores.comms.shell/src/app/commandstodoc/recipes/shell_recipes.org. - •Identify any missing commands that are not documented.
- •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 shell recipes are stored in doc/recipes/shell_recipes.org. This file demonstrates all functionality available in the ORE Studio Comms Shell.
Command source locations
Commands are implemented in the following files:
- •
projects/ores.comms.shell/src/app/commands/accounts_commands.cpp: Account management - •
projects/ores.comms.shell/src/app/commands/rbac_commands.cpp: Role-based access control - •
projects/ores.comms.shell/src/app/commands/currencies_commands.cpp: Currency management - •
projects/ores.comms.shell/src/app/commands/variability_commands.cpp: Feature flags - •
projects/ores.comms.shell/src/app/commands/subscription_commands.cpp: Event subscriptions - •
projects/ores.comms.shell/src/app/commands/compression_commands.cpp: Compression settings - •
projects/ores.comms.shell/src/app/commands/connection_commands.cpp: Server connectivity
New entity commands should be added following the shell-entity-creator skill.
Recipe format
Each recipe follows this pattern:
#+begin_src fundamental
Recipe Name
Description of what this recipe demonstrates.
sh
export ORES_SHELL_LOGIN_PASSWORD
./ores.comms.shell ${log_args} ${connect_args} ${login_args} << 'EOF'
command1
command2
exit
EOF
#+end_src
Recipe sections
Recipes are organized into sections:
- •General: Help, version, and basic REPL commands
- •Connectivity: Connect, disconnect, auto-connect
- •Accounts: Bootstrap, login, logout, create, list, lock, unlock, roles
- •Variability: Feature flag management
- •Currencies: Currency CRUD operations
- •RBAC: Permissions and roles management
- •Events: Event subscriptions and notifications
- •Compression: Compression settings
Adding a new recipe
- •Identify which section the command belongs to.
- •Create a named src block with the ores-shell commands (
#+name: recipe-name). - •Create a sh src block that invokes ores.comms.shell with the named block using noweb.
- •Include appropriate properties (login_args, connect_args) based on whether authentication is required.
- •Add a descriptive paragraph explaining what the recipe demonstrates.
Recipe naming conventions
- •Use lowercase with dashes:
lock-account,list-permissions - •Be descriptive:
currencies-addnot justadd - •Group related commands:
events-listen,events-unlisten