Skip to content

ModCLI v0.4.0 – CLI Framework – Pre-Release

Pre-release
Pre-release

Choose a tag to compare

@jamesgober jamesgober released this 30 Apr 18:24
· 78 commits to main since this release

The ModCLI framework just leveled up.

Version v0.4.0 introduces a powerful set of features, cleaner architecture, and high-performance output controls for building modern CLI apps in Rust with zero bloat.


What's New in v0.4.0:

Advanced Output Rendering

  • New output::build() system with:
    • Multi-style string builders (.bold(), .italic(), .underline(), etc.)
    • Background and foreground color control
    • Full support for ANSI-styled output
  • Gradient support (2-color, 3-color, and multi-color)
  • Styled .part() chaining with .get(), .print(), .copy(), .clear()

Enhanced CLI Table System

  • Rewritten from scratch
  • ANSI-aware alignment (styled content doesn't break layout)
  • Supports Flex, Fixed(width), and Full terminal width modes
  • Unicode themes: Ascii, Rounded, and Heavy
  • Truncation and smart column sizing are built in

Enhanced Progress Bars

  • Optional percentage, fill character, label color, and custom “done” message
  • Auto + manual tick support
  • Gradient fill-ready (optional)

Print Engine Revamp

  • print::line(), print::write(), print::scroll(), print::loop() now control all CLI output
  • Supports timed output and inline/scrolling modes

Hook System Update

  • hook::deprecated() now tracks once-per-session deprecation warnings
  • Hook functions mirror print types: info, warn, error, success, status, unknown

Theme + Color Management

  • colors.rs: Named constants, lookup by name, and full color swatch
  • themes.rs: Apply theme-wide defaults (foreground, background, log colors)

⚠️ Deprecated Modules

  • color_picker.rs marked as deprecated
    → Replaced by colors::get(), colors::list(), and colors::print()

Notes

This is a pre-release intended for testing and CLI ecosystem integration.
Expect minor refactors and final stabilization before v1.0.0.


Try It

cargo run --bin tool ping        # Run registered CLI command

ModCLI: Built for builders.
Customizable. Fast. Zero bloat.