Skip to content

feat(cli): add cbh CLI resolving issues #226 #227 #228 #229 - #990

Open
villadel wants to merge 2 commits into
WHEELBACK:mainfrom
villadel:feat/issues-226-227-228-229
Open

villadel wants to merge 2 commits into
WHEELBACK:mainfrom
villadel:feat/issues-226-227-228-229

Conversation

@villadel

Copy link
Copy Markdown
Contributor

#226 – remove conflicts_with_all from --format; include webhook_checks
and horizon_checks arrays in JSON output; exit 1 on any failure.

#227 – replace check-then-write with OpenOptions::create_new for atomic
init; write config with 0600 permissions; --force uses truncate.

#228 – detect non-TTY stdin via IsTerminal and fail fast listing missing
flags; add --non-interactive flag for the same behaviour.

#229 – add --label, repeatable --rule presets (failed, admin,
large-transfer=N), and --horizon-url; validate --network before
any interactive prompting; custom network requires --horizon-url.

Also:

  • scaffold cli/ Rust crate (clap 4, serde_json, reqwest blocking, toml)
  • 15 unit tests covering all four issues
  • .github/workflows/cli-tests.yml CI (fmt, clippy, build, test)
  • .gitignore updated with Rust/Node artifacts, test snapshots, secrets

Pull Request

Summary

  • Describe the purpose of this PR in one or two sentences.

Checklist

  • PR description includes: Closes #[issue_id]
  • Tests added or updated
  • ABI snapshot updated if contract sources changed (abis/ and COMEBACKHERE-contracts/)
  • Screenshots attached if UI changed
  • Documentation updated if needed

Notes

  • For contract changes, verify ABI snapshot hygiene with make check-abi-snapshots.
  • For UI changes, include screenshots or screen recordings to help reviewers.

closes #226
closes #227
closes #228
closes #229

…HEELBACK#228 WHEELBACK#229

WHEELBACK#226 – remove conflicts_with_all from --format; include webhook_checks
       and horizon_checks arrays in JSON output; exit 1 on any failure.

WHEELBACK#227 – replace check-then-write with OpenOptions::create_new for atomic
       init; write config with 0600 permissions; --force uses truncate.

WHEELBACK#228 – detect non-TTY stdin via IsTerminal and fail fast listing missing
       flags; add --non-interactive flag for the same behaviour.

WHEELBACK#229 – add --label, repeatable --rule presets (failed, admin,
       large-transfer=N), and --horizon-url; validate --network before
       any interactive prompting; custom network requires --horizon-url.

Also:
- scaffold cli/ Rust crate (clap 4, serde_json, reqwest blocking, toml)
- 15 unit tests covering all four issues
- .github/workflows/cli-tests.yml CI (fmt, clippy, build, test)
- .gitignore updated with Rust/Node artifacts, test snapshots, secrets
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant