Skip to content

feat(cli): add arv developer CLI with Rich terminal UI - #196

Merged
ytupman merged 1 commit into
mainfrom
feature/developer-cli
Sep 16, 2026
Merged

ytupman merged 1 commit into
mainfrom
feature/developer-cli

Conversation

@CoreOxide

@CoreOxide CoreOxide commented Sep 15, 2026 •

Copy link
Copy Markdown
Owner

Summary

Implements Feature 1: Developer CLI with Rich Terminal UI (arv) to provide developers with instant terminal validation, pattern inspection, and test data generation for AWS resource names without needing to write ad-hoc Python scripts or wait for infrastructure deployment failures.

Key Features

  • arv validate <service> <shape> <value> [--strict] [--json]: Validates candidate names against botocore patterns, length bounds, and optional --strict end-to-end matching. Provides clear pass/fail status badges and diagnostics.
  • arv inspect <service> [shape] [--json]: Displays botocore types, min/max length limits, regex patterns, and synthetic examples in styled Rich panels or tables.
  • arv generate <service> <shape> [--count N] [--plain] [--json]: Generates compliant synthetic test names, supporting formatted tables as well as raw one-per-line (--plain) output for shell scripting.
  • arv list [service] [--search TEXT] [--json]: Discovers registered AWS services and their validated shape counts.
  • arv version: Displays package version, Python version, and dependency info.

Improvements & Resilience

  • Fault-Tolerant Resolution: Case-insensitive, hyphen/underscore-tolerant lookup for services and shapes, with difflib suggestions on typos.
  • Performance: Lazy loading of class_registry ensures arv --help starts in <50ms.
  • Dependencies: Promoted typer and rich to core [project.dependencies].
  • Testing: Added 30 unit tests in tests/unit/cli/ covering all commands, diagnostics, and resolution edge cases.

- Add arv command-line tool with validate, inspect, generate, list, and version subcommands
@CoreOxide
CoreOxide requested a review from ytupman as a code owner September 15, 2026 10:59

@ytupman ytupman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

@ytupman
ytupman merged commit 36e1336 into main Sep 16, 2026
7 checks passed
@ytupman
ytupman deleted the feature/developer-cli branch September 16, 2026 11:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants