Auto-detect interactive vs CI mode using stdout.isatty(). In CI mode: no spinner, no prompts, no color. Exit codes: 0 = similar, 1 = different, 2 = error.
Works with existing --json and --quiet flags.
See docs/cli-2.0-design.md for the full interaction model.