Skip to content

v0.1.22 - CLI Output Formatting Enhancements (2025-12-07)

What Changed?

This release enhances the CLI output formatting with additional options for the status command. The status command now supports flexible output formats (table, JSONL, JSON, CSV) and includes the --use-flat option for consistent parameter naming across the CLI. These improvements provide users with more control over data representation and output formatting.


What's New

Enhanced Status Command Output Formatting

What it does: The status command now supports multiple output formats and provides consistent naming of options. Users can choose between table (default), JSONL, JSON, and CSV formats, with additional control over data structure representation through the --use-flat flag.

How to use it:

# Default table display
kazunoko status

# JSONL format (single-line JSON)
kazunoko status --format jsonl

# Pretty-printed JSON
kazunoko status --format json

# CSV format
kazunoko status --format csv

# With flattened structure
kazunoko status --format table --use-flat

Code example:

# Get status as JSON and pipe to jq
kazunoko status --format json | jq .system_version

# Export status as JSONL
kazunoko status --format jsonl > status.jsonl

Installation

Quick Start

# Get the release
git checkout vX.Y.Z

# Setup
task env:setup

# Run CLI
uv run kazunoko --help

What's Different from the Last Version?

✅ Added

  • --format option to status command for flexible output format selection (table, JSONL, JSON, CSV)
  • Support for multiple output formats in status command (previously only table display available)

🔧 Changed

  • status command's --flatten option renamed to --use-flat for consistency with the ResponseFormatter parameter naming
  • Default behavior of status command unchanged: uses flattened structure by default with table format

🐛 Fixed

  • Inconsistent option naming between CLI commands (unified on --use-flat)

Is It Safe to Upgrade?

Backward Compatible: Mostly

  • The --flatten option in status command has been renamed to --use-flat. Scripts using --flatten will need to be updated to use --use-flat.
  • The new --format option is optional and does not affect existing scripts that don't use it.
  • Default behavior of status command remains unchanged: still displays as a table with flattened structure by default.

Tests Passed

  • ✅ Builds without errors (uv sync)
  • ✅ Type checking passes (uvx mypy src/)
  • ✅ Linting passes (uvx ruff check src/)
  • ✅ All CLI commands functional with mock device
  • ✅ Status command output formats working (table, jsonl, json, csv)
  • --use-flat option functioning correctly

Release Details

  • Date: 2025-12-07
  • Version: v0.1.22
  • Files Changed: 1 (cli.py)
  • Commits:
  • 5980f9a feat: add --format option to status command for flexible output
  • 3004442 refactor: rename --flatten to --use-flat in status command for consistency

Next Steps

  • Consider adding output format options to other CLI commands (query, read, etc.)
  • Explore additional output formats (XML, HTML table export) for future releases
  • Gather user feedback on the new formatting options
  • Add comprehensive test coverage for output formatting edge cases