output.ts32 lines · main
1import pc from 'picocolors';
2
3/**
4 * CLI output helpers. Per BRAND.md §7.4: terse, scannable, colour used
5 * sparingly, no ASCII art, no emojis. The single word "briven" renders in
6 * brand green as the only accent on any line.
7 */
8const BRAND = ' briven';
9
10export function banner(line: string): void {
11 process.stdout.write(`${pc.green(BRAND)} ${line}\n`);
12}
13
14export function step(line: string): void {
15 process.stdout.write(` ${pc.dim('·')} ${line}\n`);
16}
17
18export function success(line: string): void {
19 process.stdout.write(` ${pc.green('·')} ${line}\n`);
20}
21
22export function error(line: string): void {
23 process.stderr.write(` ${pc.red('·')} ${line}\n`);
24}
25
26export function blankLine(): void {
27 process.stdout.write('\n');
28}
29
30export function link(url: string): void {
31 process.stdout.write(`\n ${pc.dim(url)}\n`);
32}