---
id: TASK-23
title: Implement colored output for logs and error output
status: Done
assignee: []
created_date: '2026-02-28 14:31'
updated_date: '2026-02-28 14:41'
labels:
  - logging
  - cli
dependencies: []
references:
  - src/core/log.rs
  - src/core/exec.rs
  - src/core/cmd.rs
  - README.md
  - docs/spec.md
  - tests/
priority: medium
---

## Description

<!-- SECTION:DESCRIPTION:BEGIN -->
Add colored output using termcolor: Kaze logs in green; runner output on errors and other error output in red. Ensure behavior is consistent across verbosity levels and dry-run, and update docs/tests accordingly.
<!-- SECTION:DESCRIPTION:END -->

## Acceptance Criteria
<!-- AC:BEGIN -->
- [x] #1 Kaze log lines are rendered in green in TTY-compatible output (no color in non-TTY).
- [x] #2 Runner output emitted due to errors is rendered in red; other error output paths also use red.
- [x] #3 Colorization does not change verbosity semantics (quiet/normal/verbose).
- [x] #4 Docs updated to mention colored output behavior and any env or TTY constraints.
- [x] #5 Tests cover colored output behavior or verify color suppression in non-TTY contexts (as applicable).
<!-- AC:END -->

## Final Summary

<!-- SECTION:FINAL_SUMMARY:BEGIN -->
Implemented colored output: green Kaze logs, red error output for runner failures and top-level errors, plus red helpers and tests. Updated README/spec with color behavior notes. Tests: `cargo test -p nishikaze core::log`, `cargo test -p nishikaze core::exec`.
<!-- SECTION:FINAL_SUMMARY:END -->
