---
id: TASK-26
title: Add SimpleDots spinner for running commands
status: Done
assignee: []
created_date: '2026-02-28 19:47'
updated_date: '2026-03-01 01:35'
labels:
  - ui
  - cli
dependencies: []
references:
  - src/core/exec.rs
  - src/core/cmd.rs
  - README.md
  - docs/spec.md
priority: medium
---

## Description

<!-- SECTION:DESCRIPTION:BEGIN -->
Integrate the spinners crate to show a SimpleDots spinner while external commands run, across relevant command handlers. Ensure spinner behavior respects verbosity levels and does not break output coloring or error reporting.
<!-- SECTION:DESCRIPTION:END -->

## Acceptance Criteria
<!-- AC:BEGIN -->
- [x] #1 Spinner starts when a command begins and stops when it completes (success or failure).
- [x] #2 Spinner uses spinners::Spinner with the SimpleDots variant.
- [x] #3 Spinner is suppressed in quiet mode and when command output is being streamed (verbose mode).
- [x] #4 Error output remains visible and correctly colored after spinner stops.
- [x] #5 Docs updated if behavior changes need explanation.
<!-- AC:END -->

## Final Summary

<!-- SECTION:FINAL_SUMMARY:BEGIN -->
Integrated SimpleDots spinner for command execution at verbosity=2 only, updated runner and command handlers for message-first spinners, documented behavior in README/spec, and added test coverage for suppression in verbose mode. Ran `just check -- -D warnings` and `cargo test -p nishikaze --test integration_tests kaze_verbose_always_shows_command_output`.
<!-- SECTION:FINAL_SUMMARY:END -->
