Repository navigation
v21.0.0
Summary
Major refactoring of Mantis CLI with migration to Typer framework, improved command chaining, and comprehensive testing infrastructure.
CLI Framework Migration
- Migrated from argparse to Typer for better CLI experience
- Rich help panels with organized command groups
- Command shortcuts (e.g.,
bforbuild,dfordeploy) - Auto-completion support
Command Chaining with + Separator
- New syntax for chaining commands:
mantis -e prod build + push + deploy - Commands with arguments work correctly:
mantis -e prod build web api + push + deploy - Clean separation between commands using
+separator
Project Structure
- Split commands into submodules (
commands/core.py,commands/images.py, etc.) - Custom
@commanddecorator with shortcut and panel support - Pydantic-based config validation (
schema.py,config.py) - Replaced
os.pathwithpathlibthroughout
New Features
rolling-updatecommand for one-by-one container updatesrenamecommand for container renaming- Deployment rollback if zero-downtime container is not healthy
- Auto-select config file
- support for single connection
- Environment shortcut resolution
- Parallel build support
- colorful tables
- command doesn't proceed when no mantis config found
- Dry-run mode (
-n/--dry-run)
Testing & CI
- Added pytest test suite for command-line parsing
- GitHub Actions workflow for automated testing (Python 3.9-3.12)
Documentation
- Updated README with new
-eflag syntax - Updated examples to use
+separator for chaining