All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Rename project from forge to commando with CLI command
cmdo(commando-aaj) - Add Homebrew self-bootstrap on first run
- Suppress ExitNotification stack trace on unknown command (
commando-mvj)
First public release. TypeScript/Bun rewrite of the original Bash-based Forge framework.
- Module system - Auto-discovery of commands from
.commando/directory - Command grouping - Commands grouped by filename (e.g.,
website-build.ts→cmdo website build) - Layered configuration - User, project, and local config via cosmiconfig (YAML, JSON, JS, TS)
- Structured logging - Pino-based with pretty and JSON output formats
- Styled CLI - Commander.js with colored help, smart option handling
- Output helpers - Tables, spinners, progress bars, prompts, boxes
- Installation -
install.shscript, meta-project pattern at~/.commando/
- Runtime: Bun (>=1.0.0)
- CLI parsing: Commander.js 14.x
- Logging: Pino with pino-pretty
- Config: Cosmiconfig with XDG support
- Validation: Zod
Prior history: Original Bash implementation preserved in forge-bash branch.