Skip to content

CLI v1.0.0

Choose a tag to compare

@steadytao steadytao released this 05 Sep 15:07
· 17 commits to main since this release
Immutable release. Only release title and notes can be modified.
v1.0.0
2379fa3

The first stable release of Security Engineering Commons CLI. Provides bounded command parsing and deterministic Cobra-style help through a small dependency-free Go API

Included

  • Explicit commands and optional root actions
  • Standard short, long, single-dash, double-dash, equals and separate-value option forms
  • String and Boolean options with validated defaults
  • Persistent global options before or after commands
  • Required command options and bounded positional arguments
  • Named-command precedence over root actions
  • Built-in root and contextual help actions
  • Built-in version actions through v, version, -v, --v and --version
  • Deterministic UTF-8 help and diagnostics
  • Strict definition, name, summary, argument-count and input-byte bounds
  • Rejection of duplicate options, ambiguous aliases, malformed input, invalid UTF-8 and control characters
  • Immutable copied definitions and independently owned invocation state
  • Allocation-free indexed argument and option access
  • Concurrent parser use
  • Inspectable ErrDefinition and ErrInvocation errors
  • No production-module dependencies

Performance

  • Common parsing and simple actions perform zero allocations
  • Root-only parser construction performs zero allocations
  • Representative parser construction retains two backing allocations
  • Help and diagnostics allocate only their caller-owned result
  • Caller-buffer ownership is preserved without exposing internal state

Full Linux AMD64 measurements and the benchmark command are retained in the README

Coverage

  • 100% atomic first-party statement coverage
  • Windows and Linux race-detector execution
  • Parser, definition, root-action and help-size fuzzing
  • Go 1.24, 1.25 and 1.26 compatibility
  • Production cross-builds across all 48 targets reported by the Go 1.24 toolchain
  • Production and verification-tool vulnerability scans

Requirements

  • Go 1.24 or newer

Install

go get github.com/secengcommons/cli@v1.0.0