Repository navigation
Conversation
…, errors) Co-authored-by: Igor <igor-ctrl@users.noreply.github.com>
…mpany list commands Co-authored-by: Igor <igor-ctrl@users.noreply.github.com>
Co-authored-by: Igor <igor-ctrl@users.noreply.github.com>
Co-authored-by: Igor <igor-ctrl@users.noreply.github.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This is an exploratory Rust scaffold for a possible rewrite of bcli. It lives in a new
rust/Cargo workspace next to the Python code, and the Python implementation is untouched. The full 58-command clap tree mirrors the Typer CLI. A few commands are ported end to end, and their output matches Python byte for byte.Changes
rust/crates/bcli-core(library):~/.config/bcli, the.bcli.tomlmerge and sanitising, env overridessrc/bcli/registry/standard_v2.jsonviainclude_str!tokens.jsoncache, format-compatible with Pythonjson.dumps-compatible serializerrust/crates/bcli-cli(binarybcli):not yet ported--version,endpoint list,endpoint search,endpoint info,company listcompany listHTTP flowsrust/scripts/parity.shanddump_python_surface.pyregenerate the goldens and the surface fixture from the Python CLI..github/workflows/rust.ymlruns fmt, build, clippy-D warningsand tests on Linux and macOS, triggered only byrust/**changes.Test plan
cargo build --workspace --lockedcargo clippy --workspace --all-targets -- -D warnings, with default features and with--no-default-featurescargo test --workspace: 45 passedPY_BCLI=/path/to/python/bcli rust/scripts/parity.shreports all goldens identical to PythonBreaking changes
None. This is additive, and the Rust binary isn't distributed yet.
Notes and open questions
save_configdrops[telemetry]/[audit],allowed_*anddisable_writeswhen it rewrites config. The Rust port plans surgicaltoml_editsaves. Should we also fix this in Python separately?company listprints errors to stdout and exits 1, bypassing the exit-code taxonomy. The port reproduces this for parity.