Interactive Mode
Interactive mode lets you run several Softadastra CLI commands inside one session. Instead of typing softadastra before every command, you start the CLI once:
softadastraThen you run commands directly:
softadastra> status
softadastra> node info
softadastra> store put app/name Softadastra
softadastra> store get app/name
softadastra> sync status
softadastra> sync tick
softadastra> peers
softadastra> exitThis is useful when you are testing the local runtime, checking sync state, starting node services, or trying store commands step by step.
Start interactive mode
Run:
softadastraYou should see the interactive prompt:
softadastra>From there, type commands without repeating the binary name.
Correct:
softadastra> statusWrong:
softadastra> softadastra statusExit interactive mode
Use:
exitor:
quitExample:
softadastra> exitBasic session
Start with a small session like this:
softadastra> help
softadastra> version
softadastra> status
softadastra> exitThis checks that the CLI starts correctly and that the runtime can be inspected.
Store session
Use interactive mode to write and read local values.
softadastra> store put app/name Softadastra
softadastra> store get app/nameExpected idea:
store put writes the value locally
store get reads the value back from the local storeA store write does not need a remote server, a peer, transport, or discovery.
If the value contains spaces, quote it:
softadastra> store put app/title "Softadastra Runtime"
softadastra> store get app/titleSync session
Use sync commands to inspect and move the sync pipeline.
softadastra> store put message/1 hello
softadastra> sync status
softadastra> sync tick
softadastra> sync statusThis flow shows what happens after a local write:
write local value
inspect sync state
run one sync tick
inspect sync state againA tick can produce a batch and try to send it to connected peers. If no peer is connected, that is fine. Local data still stays local.
Node session
Use node commands to inspect or start local node services.
softadastra> node infoIf metadata is not available yet, start node services for this interactive session:
softadastra> node start
softadastra> node infonode start starts transport, discovery, and metadata for the current CLI session.
This is one of the main reasons interactive mode is useful: services stay available while you run the next commands.
Peers session
Use peers to inspect known discovery and transport peers.
softadastra> node start
softadastra> peersIf no peers are found, that is not automatically an error.
It can simply mean no other node is running or discoverable yet.
You can still use local store commands:
softadastra> store put draft/1 hello
softadastra> store get draft/1Help inside interactive mode
Use:
softadastra> helpTo inspect a command group, use the group name:
softadastra> node
softadastra> store
softadastra> syncFor example:
softadastra> storeprints:
Softadastra store
Usage
softadastra store put <key> <value>
softadastra store get <key>
Commands
put Write a key/value pair
get Read one keyInside interactive mode, you still type:
softadastra> store put app/name Softadastra
softadastra> store get app/nameRecommended first interactive workflow
Use this as your first full test:
softadastra> status
softadastra> node info
softadastra> node start
softadastra> node info
softadastra> store put app/name Softadastra
softadastra> store get app/name
softadastra> sync status
softadastra> sync tick
softadastra> peers
softadastra> status
softadastra> exitThis checks:
- runtime status
- node information
- node services startup
- local write
- local read
- sync state
- one manual sync cycle
- peer visibility
- final runtime status
Local-first behavior
Interactive mode follows the same local-first model as the rest of Softadastra.
This command should work locally:
softadastra> store put draft/1 helloAnd this should read the local value back:
softadastra> store get draft/1The network is not required for local work.
Sync and peers matter when the node needs to exchange data with another node.
Errors inside interactive mode
Interactive mode should show the error and keep the session alive.
Example:
softadastra> store get missing/key
Key not found: missing/key
softadastra> statusThe failed command should not close the session.
Common errors
Unknown command
If you type a command that does not exist:
softadastra> unknownThe CLI should report that the command is unknown.
Run:
softadastra> helpto see available commands.
Missing store value
If you run:
softadastra> store put app/nameThe CLI reports:
Missing key or value argument.
Usage: store-put <key> <value>Fix it by passing both key and value:
softadastra> store put app/name SoftadastraMissing store key
If you run:
softadastra> store getThe CLI reports:
Missing key argument.
Usage: store-get <key>Fix it by passing a key:
softadastra> store get app/nameEmpty key
If you pass an empty key:
softadastra> store put "" valueThe CLI reports:
Key cannot be empty.Use a real key:
softadastra> store put app/name valueNo peers found
This is normal when no other node is running.
Check:
softadastra> node start
softadastra> peersIf there are still no peers, local store commands can still work.
Sync tick sends nothing
A tick can produce no delivery when there are no connected peers.
Check:
softadastra> sync status
softadastra> peers
softadastra> statusLocal data is still valid even if delivery did not happen yet.
Use normal mode for scripts
Interactive mode is made for humans.
For scripts, use one command at a time:
softadastra status
softadastra store get app/name
softadastra sync tickThis is better for automation because each command has its own process result and output.
Summary
Interactive mode lets you keep one Softadastra CLI session open while you run multiple commands.
Use it for local testing, demos, store experiments, sync checks, node startup, and peer inspection.
The rule is simple:
outside interactive mode: softadastra status
inside interactive mode: statusNext, continue with Node.