These docs are under active development and cover the v0.20 Kobicha security model.
On this page
reference

yes

yes prints a line over and over, without stopping.

yes [string...]
$ yes
y
y
y
...

With no argument it prints y forever. Given arguments, it prints them — joined by spaces — as the repeated line instead.

$ yes retry
retry
retry
...

yes never stops on its own. It ends when something downstream closes the pipe, or when you interrupt it with Ctrl-C.

What it is for

yes exists to answer prompts. An older interactive command that asks "are you sure? [y/n]" again and again can be fed a stream of confirmations:

$ yes | slow-interactive-command

Most modern commands have a proper option for this — rm -f, and similar — and that is the better way when it exists. yes is the fallback for a command that offers no such option. It is also a quick way to generate an endless stream of identical lines for a test.

Exit status

yes returns 0 when its output is closed normally, and 1 if it hits a write error.