Add unified BitBox02 CLI#2001
Conversation
Introduce bitbox02_cli.py as the canonical Python CLI with explicit interactive mode and non-interactive subcommands for device, wallet, bootloader, and firmware workflows. Keep send_message.py and load_firmware.py as compatibility wrappers, and update docs plus Python linting to point at the new entrypoint.
|
concept ACK |
|
Maybe rename to |
benma
left a comment
There was a problem hiding this comment.
The commit msg does not sufficiently explain why a non interactive tool is needed. What do we need it for? Does it make sense to have the interactive and non-interactive tools be unified in one script?
Also this was a chance to split the monster send_message.py into multiple files 😁
| # We must typecheck the whole `py` directory even if only a few files are modified so that mypy | ||
| # sees all types | ||
| ${MYPY} --implicit-reexport --namespace-packages --ignore-missing-imports --strict py/send_message.py py/bitbox02/bitbox02 releases/describe_signed_firmware.py | ||
| ${MYPY} --implicit-reexport --namespace-packages --ignore-missing-imports --strict py/bitbox02_cli.py py/bitbox02/bitbox02 releases/describe_signed_firmware.py |
There was a problem hiding this comment.
keep send_message.py? Can't hurt to check it while it exists.
|
|
||
| ```bash | ||
| python ./send_message.py | ||
| python ./bitbox02_cli.py |
There was a problem hiding this comment.
Add non-interactive examples? I am confused how to use it, what are the args to the API calls when it's not interactive, like signmsg?
There was a problem hiding this comment.
--help ;).
It is all vibe coded so far, so mostly looking for concept ack.
benma
left a comment
There was a problem hiding this comment.
concept ACK. approved because i can't remove myself as reviewer 😄
Introduce bitbox02_cli.py as the canonical Python CLI with explicit interactive mode and non-interactive subcommands for device, wallet, bootloader, and firmware workflows.
Keep send_message.py and load_firmware.py as compatibility wrappers, and update docs plus Python linting to point at the new entrypoint.
This is vibe coded so far. I'll need to make a self-review as well. Looking for concept ack from @benma and @cedwies