Missing shell functionality
This page is a capture in the next bucket of the product backlog — a pre-sprint idea, not yet pulled into a sprint as a story.
The job of the client is to exercise the entirety of the comms protocol, and to provide a way to perform CRUD operations via command line. Note:
- client never access the repositories directly, it should do exactly the same as the qt client would do.
- client's only interface is the REPL.
- client will eventually be used by AI agents.
Client needs to have messages at the entity level:
- currencies:
- import currencies from ORE Format. Given a path in the filesystem, it performs the import using the importer and appropriate comms messages.
- export currencies to ORE format. Uses comms to obtain the currencies, then the exporter to convert, then dumps them into the terminal as ORE XML.
- list existing currencies as a table or as JSON. We need support for latest,
"at time point" and "all" (meaning every single version). It should be
possible to supply some filtering by the entity's ID (e.g.
--iso-code). - delete one or more currencies. User supplies a number of entity IDs (e.g.
--iso-code ABC --iso-code CDE --iso-code FGHand so on). - add a currency supplying arguments (e.g.
--iso-codeand so forth). - add currencies from JSON.
- accounts:
- list existing currencies as a table or as JSON. We need support for latest, "at time point" and "all" (meaning every single version). It should be possible to supply filtering by the entity's ID.
- delete one or more accounts. User supplies a list of entity IDs.
- add an account supplying arguments.
- add accounts from JSON.
- feature flags:
- list existing feature flags as a table or as JSON. We need support for latest, "at time point" and "all" (meaning every single version). It should be possible to supply some filtering by the entity's ID
- delete one or more feature flags. User supplies a list of entity IDs.
- add feature flags supplying arguments.
- add feature flags from JSON.
Notes:
- update recipes with the new client commands.